GE Lua Documentation

Press F to search!

saveBindingsToDisk

Definition


-- @/lua/ge/extensions/core/input/bindings.lua:824

-- data bindings may have mixed vehicle/generic bindings. split them up and save in separate files when necessary
local function saveBindingsToDisk(data)
  for _,binding in ipairs(data.bindings or {}) do
    fixBuggyBindingFromUISide(binding)
  end
  local inputmapTemplate = deepcopy(data)
  inputmapTemplate.bindings = {}

  -- 'inputmaps' will hold the generic ("none") bindings as well as each vehicle's bindings

  -- first we initialize them as empty. this forces empty inputmaps to be saved too (instead of being ignored because UI didn't mention the vehicle in incoming data)
  local inputmaps = { none=deepcopy(inputmapTemplate) }
  local vehicle = getPlayerVehicle(0)
  if vehicle then
    inputmaps[vehicle:getJBeamFilename()] = deepcopy(inputmapTemplate)
  end

  -- then we add them with whatever 'data' came from the UI side
  for _,b in ipairs(data.bindings) do
    local vehicleName = core_input_actions.getActiveActions()[b.action].vehicle
    local vehicleNameStr = vehicleName or "none" -- temporarily rename to 'none' for during this function
    b.player = nil -- clear variable used to let UI know which player's binding this is
    table.insert(inputmaps[vehicleNameStr].bindings, b)
  end

  -- save each of the computed split inputmaps to a separate file
  for vehicleNameStr,v in sortedPairs(inputmaps) do
    local vehicleName = vehicleNameStr
    if vehicleName == "none" then vehicleName = nil end
    log("D", "bindings", "Saving "..tableSize(v.bindings).." bindings for vehicle: "..dumps(vehicleName))
    saveBindingsFileToDisk(v, vehicleName)
  end
  forceRefresh()
end

Callers

@/ui/ui-vue/dist/index.js
`,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
`:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
    $1
`],[/\[list\]/gi,`
    `],[/\[\/list\]/gi,`
`],[/\[olist\]/gi,`
    `],[/\[\/olist\]/gi,`
`],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    `,CHAR_LS=`\u2028`,CHAR_PS=`\u2029`;function createScanner(str){let _buf=str,_index=0,_line=1,_column=1,_peekOffset=0,isCRLF=index$1=>_buf[index$1]===CHAR_CR&&_buf[index$1+1]===CHAR_LF,isLF=index$1=>_buf[index$1]===CHAR_LF,isPS=index$1=>_buf[index$1]===CHAR_PS,isLS=index$1=>_buf[index$1]===CHAR_LS,isLineEnd=index$1=>isCRLF(index$1)||isLF(index$1)||isPS(index$1)||isLS(index$1),index=()=>_index,line=()=>_line,column=()=>_column,peekOffset=()=>_peekOffset,charAt=offset$2=>isCRLF(offset$2)||isPS(offset$2)||isLS(offset$2)?CHAR_LF:_buf[offset$2],currentChar=()=>charAt(_index),currentPeek=()=>charAt(_index+_peekOffset);function next(){return _peekOffset=0,isLineEnd(_index)&&(_line++,_column=0),isCRLF(_index)&&_index++,_index++,_column++,_buf[_index]}function peek(){return isCRLF(_index+_peekOffset)&&_peekOffset++,_peekOffset++,_buf[_index+_peekOffset]}function reset$1(){_index=0,_line=1,_column=1,_peekOffset=0}function resetPeek(offset$2=0){_peekOffset=offset$2}function skipToPeek(){let target=_index+_peekOffset;for(;target!==_index;)next();_peekOffset=0}return{index,line,column,peekOffset,charAt,currentChar,currentPeek,next,peek,reset:reset$1,resetPeek,skipToPeek}}var EOF=void 0,DOT=`.`,LITERAL_DELIMITER=`'`,ERROR_DOMAIN$3=`tokenizer`;function createTokenizer(source,options={}){let location$1=options.location!==!1,_scnr=createScanner(source),currentOffset=()=>_scnr.index(),currentPosition=()=>createPosition(_scnr.line(),_scnr.column(),_scnr.index()),_initLoc=currentPosition(),_initOffset=currentOffset(),_context={currentType:13,offset:_initOffset,startLoc:_initLoc,endLoc:_initLoc,lastType:13,lastOffset:_initOffset,lastStartLoc:_initLoc,lastEndLoc:_initLoc,braceNest:0,inLinked:!1,text:``},context=()=>_context,{onError}=options;function emitError$1(code,pos,offset$2,...args){let ctx=context();pos.column+=offset$2,pos.offset+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(ctx.startLoc,pos):null,{domain:ERROR_DOMAIN$3,args}))}function getToken(context$1,type,value){context$1.endLoc=currentPosition(),context$1.currentType=type;let token={type};return location$1&&(token.loc=createLocation(context$1.startLoc,context$1.endLoc)),value!=null&&(token.value=value),token}let getEndToken=context$1=>getToken(context$1,13);function eat(scnr,ch){return scnr.currentChar()===ch?(scnr.next(),ch):(emitError$1(CompileErrorCodes.EXPECTED_TOKEN,currentPosition(),0,ch),``)}function peekSpaces(scnr){let buf=``;for(;scnr.currentPeek()===CHAR_SP||scnr.currentPeek()===CHAR_LF;)buf+=scnr.currentPeek(),scnr.peek();return buf}function skipSpaces(scnr){let buf=peekSpaces(scnr);return scnr.skipToPeek(),buf}function isIdentifierStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc===95}function isNumberStart(ch){if(ch===EOF)return!1;let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function isNamedIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isListIdentifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=isNumberStart(scnr.currentPeek()===`-`?scnr.peek():scnr.currentPeek());return scnr.resetPeek(),ret}function isLiteralStart(scnr,context$1){let{currentType}=context$1;if(currentType!==2)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===LITERAL_DELIMITER;return scnr.resetPeek(),ret}function isLinkedDotStart(scnr,context$1){let{currentType}=context$1;if(currentType!==7)return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`.`;return scnr.resetPeek(),ret}function isLinkedModifierStart(scnr,context$1){let{currentType}=context$1;if(currentType!==8)return!1;peekSpaces(scnr);let ret=isIdentifierStart(scnr.currentPeek());return scnr.resetPeek(),ret}function isLinkedDelimiterStart(scnr,context$1){let{currentType}=context$1;if(!(currentType===7||currentType===11))return!1;peekSpaces(scnr);let ret=scnr.currentPeek()===`:`;return scnr.resetPeek(),ret}function isLinkedReferStart(scnr,context$1){let{currentType}=context$1;if(currentType!==9)return!1;let fn=()=>{let ch=scnr.currentPeek();return ch===`{`?isIdentifierStart(scnr.peek()):ch===`@`||ch===`|`||ch===`:`||ch===`.`||ch===CHAR_SP||!ch?!1:ch===CHAR_LF?(scnr.peek(),fn()):isTextStart(scnr,!1)},ret=fn();return scnr.resetPeek(),ret}function isPluralStart(scnr){peekSpaces(scnr);let ret=scnr.currentPeek()===`|`;return scnr.resetPeek(),ret}function isTextStart(scnr,reset$1=!0){let fn=(hasSpace=!1,prev=``)=>{let ch=scnr.currentPeek();return ch===`{`||ch===`@`||!ch?hasSpace:ch===`|`?!(prev===CHAR_SP||prev===CHAR_LF):ch===CHAR_SP?(scnr.peek(),fn(!0,CHAR_SP)):ch===CHAR_LF?(scnr.peek(),fn(!0,CHAR_LF)):!0},ret=fn();return reset$1&&scnr.resetPeek(),ret}function takeChar(scnr,fn){let ch=scnr.currentChar();return ch===EOF?EOF:fn(ch)?(scnr.next(),ch):null}function isIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36}function takeIdentifierChar(scnr){return takeChar(scnr,isIdentifier)}function isNamedIdentifier(ch){let cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||cc===95||cc===36||cc===45}function takeNamedIdentifierChar(scnr){return takeChar(scnr,isNamedIdentifier)}function isDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function takeDigit(scnr){return takeChar(scnr,isDigit)}function isHexDigit(ch){let cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function takeHexDigit(scnr){return takeChar(scnr,isHexDigit)}function getDigits(scnr){let ch=``,num=``;for(;ch=takeDigit(scnr);)num+=ch;return num}function readText(scnr){let buf=``;for(;;){let ch=scnr.currentChar();if(ch===`{`||ch===`}`||ch===`@`||ch===`|`||!ch)break;if(ch===CHAR_SP||ch===CHAR_LF)if(isTextStart(scnr))buf+=ch,scnr.next();else if(isPluralStart(scnr))break;else buf+=ch,scnr.next();else buf+=ch,scnr.next()}return buf}function readNamedIdentifier(scnr){skipSpaces(scnr);let ch=``,name=``;for(;ch=takeNamedIdentifierChar(scnr);)name+=ch;let currentChar=scnr.currentChar();if(currentChar&¤tChar!==`}`&¤tChar!==EOF&¤tChar!==CHAR_SP&¤tChar!==CHAR_LF&¤tChar!==` `){let invalidPart=readInvalidIdentifier(scnr);return emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,name+invalidPart),name+invalidPart}return scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),name}function readListIdentifier(scnr){skipSpaces(scnr);let value=``;return scnr.currentChar()===`-`?(scnr.next(),value+=`-${getDigits(scnr)}`):value+=getDigits(scnr),scnr.currentChar()===EOF&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),value}function isLiteral(ch){return ch!==LITERAL_DELIMITER&&ch!==CHAR_LF}function readLiteral(scnr){skipSpaces(scnr),eat(scnr,`'`);let ch=``,literal=``;for(;ch=takeChar(scnr,isLiteral);)ch===`\\`?literal+=readEscapeSequence(scnr):literal+=ch;let current=scnr.currentChar();return current===CHAR_LF||current===EOF?(emitError$1(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,currentPosition(),0),current===CHAR_LF&&(scnr.next(),eat(scnr,`'`)),literal):(eat(scnr,`'`),literal)}function readEscapeSequence(scnr){let ch=scnr.currentChar();switch(ch){case`\\`:case`'`:return scnr.next(),`\\${ch}`;case`u`:return readUnicodeEscapeSequence(scnr,ch,4);case`U`:return readUnicodeEscapeSequence(scnr,ch,6);default:return emitError$1(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE,currentPosition(),0,ch),``}}function readUnicodeEscapeSequence(scnr,unicode,digits){eat(scnr,unicode);let sequence=``;for(let i=0;i{let ch=scnr.currentChar();return ch===`{`||ch===`@`||ch===`|`||ch===`(`||ch===`)`||!ch||ch===CHAR_SP?buf:(buf+=ch,scnr.next(),fn(buf))};return fn(``)}function readPlural(scnr){skipSpaces(scnr);let plural=eat(scnr,`|`);return skipSpaces(scnr),plural}function readTokenInPlaceholder(scnr,context$1){let token=null;switch(scnr.currentChar()){case`{`:return context$1.braceNest>=1&&emitError$1(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,2,`{`),skipSpaces(scnr),context$1.braceNest++,token;case`}`:return context$1.braceNest>0&&context$1.currentType===2&&emitError$1(CompileErrorCodes.EMPTY_PLACEHOLDER,currentPosition(),0),scnr.next(),token=getToken(context$1,3,`}`),context$1.braceNest--,context$1.braceNest>0&&skipSpaces(scnr),context$1.inLinked&&context$1.braceNest===0&&(context$1.inLinked=!1),token;case`@`:return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=readTokenInLinked(scnr,context$1)||getEndToken(context$1),context$1.braceNest=0,token;default:{let validNamedIdentifier=!0,validListIdentifier=!0,validLiteral=!0;if(isPluralStart(scnr))return context$1.braceNest>0&&emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(context$1.braceNest>0&&(context$1.currentType===4||context$1.currentType===5||context$1.currentType===6))return emitError$1(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE,currentPosition(),0),context$1.braceNest=0,readToken(scnr,context$1);if(validNamedIdentifier=isNamedIdentifierStart(scnr,context$1))return token=getToken(context$1,4,readNamedIdentifier(scnr)),skipSpaces(scnr),token;if(validListIdentifier=isListIdentifierStart(scnr,context$1))return token=getToken(context$1,5,readListIdentifier(scnr)),skipSpaces(scnr),token;if(validLiteral=isLiteralStart(scnr,context$1))return token=getToken(context$1,6,readLiteral(scnr)),skipSpaces(scnr),token;if(!validNamedIdentifier&&!validListIdentifier&&!validLiteral)return token=getToken(context$1,12,readInvalidIdentifier(scnr)),emitError$1(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER,currentPosition(),0,token.value),skipSpaces(scnr),token;break}}return token}function readTokenInLinked(scnr,context$1){let{currentType}=context$1,token=null,ch=scnr.currentChar();switch((currentType===7||currentType===8||currentType===11||currentType===9)&&(ch===CHAR_LF||ch===CHAR_SP)&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),ch){case`@`:return scnr.next(),token=getToken(context$1,7,`@`),context$1.inLinked=!0,token;case`.`:return skipSpaces(scnr),scnr.next(),getToken(context$1,8,`.`);case`:`:return skipSpaces(scnr),scnr.next(),getToken(context$1,9,`:`);default:return isPluralStart(scnr)?(token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token):isLinkedDotStart(scnr,context$1)||isLinkedDelimiterStart(scnr,context$1)?(skipSpaces(scnr),readTokenInLinked(scnr,context$1)):isLinkedModifierStart(scnr,context$1)?(skipSpaces(scnr),getToken(context$1,11,readLinkedModifier(scnr))):isLinkedReferStart(scnr,context$1)?(skipSpaces(scnr),ch===`{`?readTokenInPlaceholder(scnr,context$1)||token:getToken(context$1,10,readLinkedRefer(scnr))):(currentType===7&&emitError$1(CompileErrorCodes.INVALID_LINKED_FORMAT,currentPosition(),0),context$1.braceNest=0,context$1.inLinked=!1,readToken(scnr,context$1))}}function readToken(scnr,context$1){let token={type:13};if(context$1.braceNest>0)return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);if(context$1.inLinked)return readTokenInLinked(scnr,context$1)||getEndToken(context$1);switch(scnr.currentChar()){case`{`:return readTokenInPlaceholder(scnr,context$1)||getEndToken(context$1);case`}`:return emitError$1(CompileErrorCodes.UNBALANCED_CLOSING_BRACE,currentPosition(),0),scnr.next(),getToken(context$1,3,`}`);case`@`:return readTokenInLinked(scnr,context$1)||getEndToken(context$1);default:if(isPluralStart(scnr))return token=getToken(context$1,1,readPlural(scnr)),context$1.braceNest=0,context$1.inLinked=!1,token;if(isTextStart(scnr))return getToken(context$1,0,readText(scnr));break}return token}function nextToken(){let{currentType,offset:offset$2,startLoc,endLoc}=_context;return _context.lastType=currentType,_context.lastOffset=offset$2,_context.lastStartLoc=startLoc,_context.lastEndLoc=endLoc,_context.offset=currentOffset(),_context.startLoc=currentPosition(),_scnr.currentChar()===EOF?getToken(_context,13):readToken(_scnr,_context)}return{nextToken,currentOffset,currentPosition,context}}var ERROR_DOMAIN$2=`parser`,KNOWN_ESCAPES=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function fromEscapeSequence(match,codePoint4,codePoint6){switch(match){case`\\\\`:return`\\`;case`\\'`:return`'`;default:{let codePoint=parseInt(codePoint4||codePoint6,16);return codePoint<=55295||codePoint>=57344?String.fromCodePoint(codePoint):`�`}}}function createParser(options={}){let location$1=options.location!==!1,{onError}=options;function emitError$1(tokenzer,code,start,offset$2,...args){let end=tokenzer.currentPosition();end.offset+=offset$2,end.column+=offset$2,onError&&onError(createCompileError(code,location$1?createLocation(start,end):null,{domain:ERROR_DOMAIN$2,args}))}function startNode(type,offset$2,loc){let node={type};return location$1&&(node.start=offset$2,node.end=offset$2,node.loc={start:loc,end:loc}),node}function endNode(node,offset$2,pos,type){location$1&&(node.end=offset$2,node.loc&&(node.loc.end=pos))}function parseText$1(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(3,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseList(tokenizer$1,index){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(5,offset$2,loc);return node.index=parseInt(index,10),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseNamed(tokenizer$1,key){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(4,offset$2,loc);return node.key=key,tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLiteral(tokenizer$1,value){let{lastOffset:offset$2,lastStartLoc:loc}=tokenizer$1.context(),node=startNode(9,offset$2,loc);return node.value=value.replace(KNOWN_ESCAPES,fromEscapeSequence),tokenizer$1.nextToken(),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinkedModifier(tokenizer$1){let token=tokenizer$1.nextToken(),context=tokenizer$1.context(),{lastOffset:offset$2,lastStartLoc:loc}=context,node=startNode(8,offset$2,loc);return token.type===11?(token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.value=token.value||``,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node}):(emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER,context.lastStartLoc,0),node.value=``,endNode(node,offset$2,loc),{nextConsumeToken:token,node})}function parseLinkedKey(tokenizer$1,value){let context=tokenizer$1.context(),node=startNode(7,context.offset,context.startLoc);return node.value=value,endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseLinked(tokenizer$1){let context=tokenizer$1.context(),linkedNode=startNode(6,context.offset,context.startLoc),token=tokenizer$1.nextToken();if(token.type===8){let parsed=parseLinkedModifier(tokenizer$1);linkedNode.modifier=parsed.node,token=parsed.nextConsumeToken||tokenizer$1.nextToken()}switch(token.type!==9&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),token=tokenizer$1.nextToken(),token.type===2&&(token=tokenizer$1.nextToken()),token.type){case 10:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLinkedKey(tokenizer$1,token.value||``);break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseNamed(tokenizer$1,token.value||``);break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseList(tokenizer$1,token.value||``);break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),linkedNode.key=parseLiteral(tokenizer$1,token.value||``);break;default:{emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY,context.lastStartLoc,0);let nextContext=tokenizer$1.context(),emptyLinkedKeyNode=startNode(7,nextContext.offset,nextContext.startLoc);return emptyLinkedKeyNode.value=``,endNode(emptyLinkedKeyNode,nextContext.offset,nextContext.startLoc),linkedNode.key=emptyLinkedKeyNode,endNode(linkedNode,nextContext.offset,nextContext.startLoc),{nextConsumeToken:token,node:linkedNode}}}return endNode(linkedNode,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),{node:linkedNode}}function parseMessage(tokenizer$1){let context=tokenizer$1.context(),node=startNode(2,context.currentType===1?tokenizer$1.currentOffset():context.offset,context.currentType===1?context.endLoc:context.startLoc);node.items=[];let nextToken=null;do{let token=nextToken||tokenizer$1.nextToken();switch(nextToken=null,token.type){case 0:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseText$1(tokenizer$1,token.value||``));break;case 5:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseList(tokenizer$1,token.value||``));break;case 4:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseNamed(tokenizer$1,token.value||``));break;case 6:token.value??emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,getTokenCaption(token)),node.items.push(parseLiteral(tokenizer$1,token.value||``));break;case 7:{let parsed=parseLinked(tokenizer$1);node.items.push(parsed.node),nextToken=parsed.nextConsumeToken||null;break}}}while(context.currentType!==13&&context.currentType!==1);return endNode(node,context.currentType===1?context.lastOffset:tokenizer$1.currentOffset(),context.currentType===1?context.lastEndLoc:tokenizer$1.currentPosition()),node}function parsePlural(tokenizer$1,offset$2,loc,msgNode){let context=tokenizer$1.context(),hasEmptyMessage=msgNode.items.length===0,node=startNode(1,offset$2,loc);node.cases=[],node.cases.push(msgNode);do{let msg=parseMessage(tokenizer$1);hasEmptyMessage||=msg.items.length===0,node.cases.push(msg)}while(context.currentType!==13);return hasEmptyMessage&&emitError$1(tokenizer$1,CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL,loc,0),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}function parseResource(tokenizer$1){let context=tokenizer$1.context(),{offset:offset$2,startLoc}=context,msgNode=parseMessage(tokenizer$1);return context.currentType===13?msgNode:parsePlural(tokenizer$1,offset$2,startLoc,msgNode)}function parse$2(source){let tokenizer$1=createTokenizer(source,assign$1({},options)),context=tokenizer$1.context(),node=startNode(0,context.offset,context.startLoc);return location$1&&node.loc&&(node.loc.source=source),node.body=parseResource(tokenizer$1),options.onCacheKey&&(node.cacheKey=options.onCacheKey(source)),context.currentType!==13&&emitError$1(tokenizer$1,CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS,context.lastStartLoc,0,source[context.offset]||``),endNode(node,tokenizer$1.currentOffset(),tokenizer$1.currentPosition()),node}return{parse:parse$2}}function getTokenCaption(token){if(token.type===13)return`EOF`;let name=(token.value||``).replace(/\r?\n/gu,`\\n`);return name.length>10?name.slice(0,9)+`…`:name}function createTransformer(ast,options={}){let _context={ast,helpers:new Set};return{context:()=>_context,helper:name=>(_context.helpers.add(name),name)}}function traverseNodes(nodes,transformer){for(let i=0;ioptimizeMessageNode(c)),ast}function optimizeMessageNode(message){if(message.items.length===1){let item=message.items[0];(item.type===3||item.type===9)&&(message.static=item.value,delete item.value)}else{let values=[];for(let i=0;i_context;function push(code,node){_context.code+=code}function _newline(n,withBreakLine=!0){let _breakLineCode=withBreakLine?breakLineCode:``;push(_needIndent?_breakLineCode+`  `.repeat(n):_breakLineCode)}function indent(withNewLine=!0){let level$1=++_context.indentLevel;withNewLine&&_newline(level$1)}function deindent(withNewLine=!0){let level$1=--_context.indentLevel;withNewLine&&_newline(level$1)}function newline(){_newline(_context.indentLevel)}return{context,push,indent,deindent,newline,helper:key=>`_${key}`,needIndent:()=>_context.needIndent}}function generateLinkedNode(generator,node){let{helper}=generator;generator.push(`${helper(`linked`)}(`),generateNode(generator,node.key),node.modifier?(generator.push(`, `),generateNode(generator,node.modifier),generator.push(`, _type`)):generator.push(`, undefined, _type`),generator.push(`)`)}function generateMessageNode(generator,node){let{helper,needIndent}=generator;generator.push(`${helper(`normalize`)}([`),generator.indent(needIndent());let length=node.items.length;for(let i=0;i1){generator.push(`${helper(`plural`)}([`),generator.indent(needIndent());let length=node.cases.length;for(let i=0;i{let mode=isString(options.mode)?options.mode:`normal`,filename=isString(options.filename)?options.filename:`message.intl`,sourceMap=!!options.sourceMap,breakLineCode=options.breakLineCode==null?mode===`arrow`?`;`:`
    `:options.breakLineCode,needIndent=options.needIndent?options.needIndent:mode!==`arrow`,helpers=ast.helpers||[],generator=createCodeGenerator(ast,{mode,filename,sourceMap,breakLineCode,needIndent});generator.push(mode===`normal`?`function __msg__ (ctx) {`:`(ctx) => {`),generator.indent(needIndent),helpers.length>0&&(generator.push(`const { ${join(helpers.map(s=>`${s}: _${s}`),`, `)} } = ctx`),generator.newline()),generator.push(`return `),generateNode(generator,ast),generator.deindent(needIndent),generator.push(`}`),delete ast.helpers;let{code,map}=generator.context();return{ast,code,map:map?map.toJSON():void 0}};function baseCompile(source,options={}){let assignedOptions=assign$1({},options),jit=!!assignedOptions.jit,enalbeMinify=!!assignedOptions.minify,enambeOptimize=assignedOptions.optimize==null?!0:assignedOptions.optimize,ast=createParser(assignedOptions).parse(source);return jit?(enambeOptimize&&optimize(ast),enalbeMinify&&minify(ast),{ast,code:``}):(transform(ast,assignedOptions),generate(ast,assignedOptions))}function initFeatureFlags$1(){typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function isMessageAST(val){return isObject(val)&&resolveType(val)===0&&(hasOwn(val,`b`)||hasOwn(val,`body`))}var PROPS_BODY=[`b`,`body`];function resolveBody(node){return resolveProps(node,PROPS_BODY)}var PROPS_CASES=[`c`,`cases`];function resolveCases(node){return resolveProps(node,PROPS_CASES,[])}var PROPS_STATIC=[`s`,`static`];function resolveStatic(node){return resolveProps(node,PROPS_STATIC)}var PROPS_ITEMS=[`i`,`items`];function resolveItems(node){return resolveProps(node,PROPS_ITEMS,[])}var PROPS_TYPE=[`t`,`type`];function resolveType(node){return resolveProps(node,PROPS_TYPE)}var PROPS_VALUE=[`v`,`value`];function resolveValue$1(node,type){let resolved=resolveProps(node,PROPS_VALUE);if(resolved!=null)return resolved;throw createUnhandleNodeError(type)}var PROPS_MODIFIER=[`m`,`modifier`];function resolveLinkedModifier(node){return resolveProps(node,PROPS_MODIFIER)}var PROPS_KEY=[`k`,`key`];function resolveLinkedKey(node){let resolved=resolveProps(node,PROPS_KEY);if(resolved)return resolved;throw createUnhandleNodeError(6)}function resolveProps(node,props,defaultValue){for(let i=0;iformatParts(ctx,ast)}function formatParts(ctx,ast){let body=resolveBody(ast);if(body==null)throw createUnhandleNodeError(0);if(resolveType(body)===1){let cases=resolveCases(body);return ctx.plural(cases.reduce((messages,c)=>[...messages,formatMessageParts(ctx,c)],[]))}else return formatMessageParts(ctx,body)}function formatMessageParts(ctx,node){let static_=resolveStatic(node);if(static_!=null)return ctx.type===`text`?static_:ctx.normalize([static_]);{let messages=resolveItems(node).reduce((acm,c)=>[...acm,formatMessagePart(ctx,c)],[]);return ctx.normalize(messages)}}function formatMessagePart(ctx,node){let type=resolveType(node);switch(type){case 3:return resolveValue$1(node,type);case 9:return resolveValue$1(node,type);case 4:{let named=node;if(hasOwn(named,`k`)&&named.k)return ctx.interpolate(ctx.named(named.k));if(hasOwn(named,`key`)&&named.key)return ctx.interpolate(ctx.named(named.key));throw createUnhandleNodeError(type)}case 5:{let list=node;if(hasOwn(list,`i`)&&isNumber(list.i))return ctx.interpolate(ctx.list(list.i));if(hasOwn(list,`index`)&&isNumber(list.index))return ctx.interpolate(ctx.list(list.index));throw createUnhandleNodeError(type)}case 6:{let linked=node,modifier=resolveLinkedModifier(linked),key=resolveLinkedKey(linked);return ctx.linked(formatMessagePart(ctx,key),modifier?formatMessagePart(ctx,modifier):void 0,ctx.type)}case 7:return resolveValue$1(node,type);case 8:return resolveValue$1(node,type);default:throw Error(`unhandled node on format message part: ${type}`)}}var defaultOnCacheKey=message=>message,compileCache=create();function baseCompile$1(message,options={}){let detectError=!1,onError=options.onError||defaultOnError;return options.onError=err=>{detectError=!0,onError(err)},{...baseCompile(message,options),detectError}}function compile(message,context){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&isString(message)){isBoolean(context.warnHtmlMessage)&&context.warnHtmlMessage;let cacheKey=(context.onCacheKey||defaultOnCacheKey)(message),cached=compileCache[cacheKey];if(cached)return cached;let{ast,detectError}=baseCompile$1(message,{...context,location:!1,jit:!0}),msg=format$1(ast);return detectError?msg:compileCache[cacheKey]=msg}else{let cacheKey=message.cacheKey;return cacheKey?compileCache[cacheKey]||(compileCache[cacheKey]=format$1(message)):format$1(message)}}var devtools=null;function setDevToolsHook(hook){devtools=hook}function initI18nDevTools(i18n,version$2,meta){devtools&&devtools.emit(`i18n:init`,{timestamp:Date.now(),i18n,version:version$2,meta})}var translateDevTools=createDevToolsHook(`function:translate`);function createDevToolsHook(hook){return payloads=>devtools&&devtools.emit(hook,payloads)}var CoreErrorCodes={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},CORE_ERROR_CODES_EXTEND_POINT=24;function createCoreError(code){return createCompileError(code,null,void 0)}CoreErrorCodes.INVALID_ARGUMENT,CoreErrorCodes.INVALID_DATE_ARGUMENT,CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT,CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE,CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE,CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION,CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE;function getLocale(context,options){return options.locale==null?resolveLocale(context.locale):resolveLocale(options.locale)}var _resolveLocale;function resolveLocale(locale){if(isString(locale))return locale;if(isFunction(locale)){if(locale.resolvedOnce&&_resolveLocale!=null)return _resolveLocale;if(locale.constructor.name===`Function`){let resolve$1=locale();if(isPromise(resolve$1))throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return _resolveLocale=resolve$1}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE)}function fallbackWithSimple(ctx,fallback,start){return[...new Set([start,...isArray$1(fallback)?fallback:isObject(fallback)?Object.keys(fallback):isString(fallback)?[fallback]:[start]])]}var pathStateMachine=[];pathStateMachine[0]={w:[0],i:[3,0],"[":[4],o:[7]},pathStateMachine[1]={w:[1],".":[2],"[":[4],o:[7]},pathStateMachine[2]={w:[2],i:[3,0],0:[3,0]},pathStateMachine[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},pathStateMachine[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},pathStateMachine[5]={"'":[4,0],o:8,l:[5,0]},pathStateMachine[6]={'"':[4,0],o:8,l:[6,0]};function resolveWithKeyValue(obj,path){return isObject(obj)?obj[path]:null}var CoreWarnCodes={NOT_FOUND_KEY:1,FALLBACK_TO_TRANSLATE:2,CANNOT_FORMAT_NUMBER:3,FALLBACK_TO_NUMBER_FORMAT:4,CANNOT_FORMAT_DATE:5,FALLBACK_TO_DATE_FORMAT:6,EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:7},CORE_WARN_CODES_EXTEND_POINT=8,warnMessages={[CoreWarnCodes.NOT_FOUND_KEY]:`Not found '{key}' key in '{locale}' locale messages.`,[CoreWarnCodes.FALLBACK_TO_TRANSLATE]:`Fall back to translate '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_NUMBER]:`Cannot format a number value due to not supported Intl.NumberFormat.`,[CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]:`Fall back to number format '{key}' key with '{target}' locale.`,[CoreWarnCodes.CANNOT_FORMAT_DATE]:`Cannot format a date value due to not supported Intl.DateTimeFormat.`,[CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]:`Fall back to datetime format '{key}' key with '{target}' locale.`,[CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:`This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`},VERSION$1=`11.1.12`,NOT_REOSLVED=-1,DEFAULT_LOCALE=`en-US`,capitalize=str=>`${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;function getDefaultLinkedModifiers(){return{upper:(val,type)=>type===`text`&&isString(val)?val.toUpperCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toUpperCase():val,lower:(val,type)=>type===`text`&&isString(val)?val.toLowerCase():type===`vnode`&&isObject(val)&&`__v_isVNode`in val?val.children.toLowerCase():val,capitalize:(val,type)=>type===`text`&&isString(val)?capitalize(val):type===`vnode`&&isObject(val)&&`__v_isVNode`in val?capitalize(val.children):val}}var _compiler;function registerMessageCompiler(compiler){_compiler=compiler}var _resolver,_fallbacker,_additionalMeta=null,setAdditionalMeta=meta=>{_additionalMeta=meta},getAdditionalMeta=()=>_additionalMeta,_fallbackContext=null,setFallbackContext=context=>{_fallbackContext=context},getFallbackContext=()=>_fallbackContext,_cid=0;function createCoreContext(options={}){let onWarn=isFunction(options.onWarn)?options.onWarn:warn,version$2=isString(options.version)?options.version:VERSION$1,locale=isString(options.locale)||isFunction(options.locale)?options.locale:DEFAULT_LOCALE,_locale=isFunction(locale)?DEFAULT_LOCALE:locale,fallbackLocale=isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||isString(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale,messages=isPlainObject(options.messages)?options.messages:createResources(_locale),datetimeFormats=isPlainObject(options.datetimeFormats)?options.datetimeFormats:createResources(_locale),numberFormats=isPlainObject(options.numberFormats)?options.numberFormats:createResources(_locale),modifiers=assign$1(create(),options.modifiers,getDefaultLinkedModifiers()),pluralRules=options.pluralRules||create(),missing=isFunction(options.missing)?options.missing:null,missingWarn=isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,fallbackWarn=isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,fallbackFormat=!!options.fallbackFormat,unresolving=!!options.unresolving,postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,processor=isPlainObject(options.processor)?options.processor:null,warnHtmlMessage=isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,escapeParameter=!!options.escapeParameter,messageCompiler=isFunction(options.messageCompiler)?options.messageCompiler:_compiler,messageResolver=isFunction(options.messageResolver)?options.messageResolver:_resolver||resolveWithKeyValue,localeFallbacker=isFunction(options.localeFallbacker)?options.localeFallbacker:_fallbacker||fallbackWithSimple,fallbackContext=isObject(options.fallbackContext)?options.fallbackContext:void 0,internalOptions=options,__datetimeFormatters=isObject(internalOptions.__datetimeFormatters)?internalOptions.__datetimeFormatters:new Map,__numberFormatters=isObject(internalOptions.__numberFormatters)?internalOptions.__numberFormatters:new Map,__meta=isObject(internalOptions.__meta)?internalOptions.__meta:{};_cid++;let context={version:version$2,cid:_cid,locale,fallbackLocale,messages,modifiers,pluralRules,missing,missingWarn,fallbackWarn,fallbackFormat,unresolving,postTranslation,processor,warnHtmlMessage,escapeParameter,messageCompiler,messageResolver,localeFallbacker,fallbackContext,onWarn,__meta};return context.datetimeFormats=datetimeFormats,context.numberFormats=numberFormats,context.__datetimeFormatters=__datetimeFormatters,context.__numberFormatters=__numberFormatters,__INTLIFY_PROD_DEVTOOLS__&&initI18nDevTools(context,version$2,__meta),context}var createResources=locale=>({[locale]:create()});function handleMissing(context,key,locale,missingWarn,type){let{missing,onWarn}=context;if(missing!==null){let ret=missing(context,locale,key,type);return isString(ret)?ret:key}else return key}function updateFallbackLocale(ctx,locale,fallback){let context=ctx;context.__localeChainCache=new Map,ctx.localeFallbacker(ctx,fallback,locale)}function isAlmostSameLocale(locale,compareLocale){return locale===compareLocale?!1:locale.split(`-`)[0]===compareLocale.split(`-`)[0]}function isImplicitFallback(targetLocale,locales){let index=locales.indexOf(targetLocale);if(index===-1)return!1;for(let i=index+1;istr,DEFAULT_MESSAGE=ctx=>``,DEFAULT_MESSAGE_DATA_TYPE=`text`,DEFAULT_NORMALIZE=values=>values.length===0?``:join(values),DEFAULT_INTERPOLATE=toDisplayString$1;function pluralDefault(choice,choicesLength){return choice=Math.abs(choice),choicesLength===2?choice?choice>1?1:0:1:choice?Math.min(choice,2):0}function getPluralIndex(options){let index=isNumber(options.pluralIndex)?options.pluralIndex:-1;return options.named&&(isNumber(options.named.count)||isNumber(options.named.n))?isNumber(options.named.count)?options.named.count:isNumber(options.named.n)?options.named.n:index:index}function normalizeNamed(pluralIndex,props){props.count||=pluralIndex,props.n||=pluralIndex}function createMessageContext(options={}){let locale=options.locale,pluralIndex=getPluralIndex(options),pluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?options.pluralRules[locale]:pluralDefault,orgPluralRule=isObject(options.pluralRules)&&isString(locale)&&isFunction(options.pluralRules[locale])?pluralDefault:void 0,plural=messages=>messages[pluralRule(pluralIndex,messages.length,orgPluralRule)],_list=options.list||[],list=index=>_list[index],_named=options.named||create();isNumber(options.pluralIndex)&&normalizeNamed(pluralIndex,_named);let named=key=>_named[key];function message(key,useLinked){return(isFunction(options.messages)?options.messages(key,!!useLinked):isObject(options.messages)?options.messages[key]:!1)||(options.parent?options.parent.message(key):DEFAULT_MESSAGE)}let _modifier=name=>options.modifiers?options.modifiers[name]:DEFAULT_MODIFIER,normalize=isPlainObject(options.processor)&&isFunction(options.processor.normalize)?options.processor.normalize:DEFAULT_NORMALIZE,interpolate=isPlainObject(options.processor)&&isFunction(options.processor.interpolate)?options.processor.interpolate:DEFAULT_INTERPOLATE,ctx={list,named,plural,linked:(key,...args)=>{let[arg1,arg2]=args,type$1=`text`,modifier=``;args.length===1?isObject(arg1)?(modifier=arg1.modifier||modifier,type$1=arg1.type||type$1):isString(arg1)&&(modifier=arg1||modifier):args.length===2&&(isString(arg1)&&(modifier=arg1||modifier),isString(arg2)&&(type$1=arg2||type$1));let ret=message(key,!0)(ctx),msg=type$1===`vnode`&&isArray$1(ret)&&modifier?ret[0]:ret;return modifier?_modifier(modifier)(msg,type$1):msg},message,type:isPlainObject(options.processor)&&isString(options.processor.type)?options.processor.type:DEFAULT_MESSAGE_DATA_TYPE,interpolate,normalize,values:assign$1(create(),_list,_named)};return ctx}var NOOP_MESSAGE_FUNCTION=()=>``,isMessageFunction=val=>isFunction(val);function translate$1(context,...args){let{fallbackFormat,postTranslation,unresolving,messageCompiler,fallbackLocale,messages}=context,[key,options]=parseTranslateArgs(...args),missingWarn=isBoolean(options.missingWarn)?options.missingWarn:context.missingWarn,fallbackWarn=isBoolean(options.fallbackWarn)?options.fallbackWarn:context.fallbackWarn,escapeParameter=isBoolean(options.escapeParameter)?options.escapeParameter:context.escapeParameter,resolvedMessage=!!options.resolvedMessage,defaultMsgOrKey=isString(options.default)||isBoolean(options.default)?isBoolean(options.default)?messageCompiler?key:()=>key:options.default:fallbackFormat?messageCompiler?key:()=>key:null,enableDefaultMsg=fallbackFormat||defaultMsgOrKey!=null&&(isString(defaultMsgOrKey)||isFunction(defaultMsgOrKey)),locale=getLocale(context,options);escapeParameter&&escapeParams(options);let[formatScope,targetLocale,message]=resolvedMessage?[key,locale,messages[locale]||create()]:resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn),format$2=formatScope,cacheBaseKey=key;if(!resolvedMessage&&!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))&&enableDefaultMsg&&(format$2=defaultMsgOrKey,cacheBaseKey=format$2),!resolvedMessage&&(!(isString(format$2)||isMessageAST(format$2)||isMessageFunction(format$2))||!isString(targetLocale)))return unresolving?-1:key;let occurred=!1,msg=isMessageFunction(format$2)?format$2:compileMessageFormat(context,key,targetLocale,format$2,cacheBaseKey,()=>{occurred=!0});if(occurred)return format$2;let messaged=evaluateMessage(context,msg,createMessageContext(getMessageContextOptions(context,targetLocale,message,options))),ret=postTranslation?postTranslation(messaged,key):messaged;if(escapeParameter&&isString(ret)&&(ret=sanitizeTranslatedHtml(ret)),__INTLIFY_PROD_DEVTOOLS__){let payloads={timestamp:Date.now(),key:isString(key)?key:isMessageFunction(format$2)?format$2.key:``,locale:targetLocale||(isMessageFunction(format$2)?format$2.locale:``),format:isString(format$2)?format$2:isMessageFunction(format$2)?format$2.source:``,message:ret};payloads.meta=assign$1({},context.__meta,getAdditionalMeta()||{}),translateDevTools(payloads)}return ret}function escapeParams(options){isArray$1(options.list)?options.list=options.list.map(item=>isString(item)?escapeHtml(item):item):isObject(options.named)&&Object.keys(options.named).forEach(key=>{isString(options.named[key])&&(options.named[key]=escapeHtml(options.named[key]))})}function resolveMessageFormat(context,key,locale,fallbackLocale,fallbackWarn,missingWarn){let{messages,onWarn,messageResolver:resolveValue,localeFallbacker}=context,locales=localeFallbacker(context,fallbackLocale,locale),message=create(),targetLocale,format$2=null,type=`translate`;for(let i=0;iformat$2);return msg$1.locale=targetLocale,msg$1.key=key,msg$1}let msg=messageCompiler(format$2,getCompileContext(context,targetLocale,cacheBaseKey,format$2,warnHtmlMessage,onError));return msg.locale=targetLocale,msg.key=key,msg.source=format$2,msg}function evaluateMessage(context,msg,msgCtx){return msg(msgCtx)}function parseTranslateArgs(...args){let[arg1,arg2,arg3]=args,options=create();if(!isString(arg1)&&!isNumber(arg1)&&!isMessageFunction(arg1)&&!isMessageAST(arg1))throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);let key=isNumber(arg1)?String(arg1):(isMessageFunction(arg1),arg1);return isNumber(arg2)?options.plural=arg2:isString(arg2)?options.default=arg2:isPlainObject(arg2)&&!isEmptyObject(arg2)?options.named=arg2:isArray$1(arg2)&&(options.list=arg2),isNumber(arg3)?options.plural=arg3:isString(arg3)?options.default=arg3:isPlainObject(arg3)&&assign$1(options,arg3),[key,options]}function getCompileContext(context,locale,key,source,warnHtmlMessage,onError){return{locale,key,warnHtmlMessage,onError:err=>{throw onError&&onError(err),err},onCacheKey:source$1=>generateFormatCacheKey(locale,key,source$1)}}function getMessageContextOptions(context,locale,message,options){let{modifiers,pluralRules,messageResolver:resolveValue,fallbackLocale,fallbackWarn,missingWarn,fallbackContext}=context,ctxOptions={locale,modifiers,pluralRules,messages:(key,useLinked)=>{let val=resolveValue(message,key);if(val==null&&(fallbackContext||useLinked)){let[,,message$1]=resolveMessageFormat(fallbackContext||context,key,locale,fallbackLocale,fallbackWarn,missingWarn);val=resolveValue(message$1,key)}if(isString(val)||isMessageAST(val)){let occurred=!1,msg=compileMessageFormat(context,key,locale,val,key,()=>{occurred=!0});return occurred?NOOP_MESSAGE_FUNCTION:msg}else if(isMessageFunction(val))return val;else return NOOP_MESSAGE_FUNCTION}};return context.processor&&(ctxOptions.processor=context.processor),options.list&&(ctxOptions.list=options.list),options.named&&(ctxOptions.named=options.named),isNumber(options.plural)&&(ctxOptions.pluralIndex=options.plural),ctxOptions}initFeatureFlags$1();var VERSION=`11.1.12`;function initFeatureFlags(){typeof __VUE_I18N_FULL_INSTALL__!=`boolean`&&(getGlobalThis().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!=`boolean`&&(getGlobalThis().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!=`boolean`&&(getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!=`boolean`&&(getGlobalThis().__INTLIFY_PROD_DEVTOOLS__=!1)}var I18nErrorCodes={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function createI18nError(code,...args){return createCompileError(code,null,void 0)}I18nErrorCodes.UNEXPECTED_RETURN_TYPE,I18nErrorCodes.INVALID_ARGUMENT,I18nErrorCodes.MUST_BE_CALL_SETUP_TOP,I18nErrorCodes.NOT_INSTALLED,I18nErrorCodes.UNEXPECTED_ERROR,I18nErrorCodes.REQUIRED_VALUE,I18nErrorCodes.INVALID_VALUE,I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN,I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE,I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N,I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY;var SetPluralRulesSymbol=makeSymbol(`__setPluralRules`);makeSymbol(`__intlifyMeta`);var I18nWarnCodes={FALLBACK_TO_ROOT:8,NOT_FOUND_PARENT_SCOPE:9,IGNORE_OBJ_FLATTEN:10,DEPRECATE_LEGACY_MODE:11,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:12,DUPLICATE_USE_I18N_CALLING:13};I18nWarnCodes.FALLBACK_TO_ROOT,I18nWarnCodes.NOT_FOUND_PARENT_SCOPE,I18nWarnCodes.IGNORE_OBJ_FLATTEN,I18nWarnCodes.DEPRECATE_LEGACY_MODE,I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE,I18nWarnCodes.DUPLICATE_USE_I18N_CALLING;function handleFlatJson(obj){if(!isObject(obj)||isMessageAST(obj))return obj;for(let key in obj)if(hasOwn(obj,key))if(!key.includes(`.`))isObject(obj[key])&&handleFlatJson(obj[key]);else{let subKeys=key.split(`.`),lastIndex=subKeys.length-1,currentObj=obj,hasStringValue=!1;for(let i=0;i{if(`locale`in custom&&`resource`in custom){let{locale:locale$1,resource}=custom;locale$1?(ret[locale$1]=ret[locale$1]||create(),deepCopy(resource,ret[locale$1])):deepCopy(resource,ret)}else isString(custom)&&deepCopy(JSON.parse(custom),ret)}),messageResolver==null&&flatJson)for(let key in ret)hasOwn(ret,key)&&handleFlatJson(ret[key]);return ret}function getComponentOptions(instance$1){return instance$1.type}var DEVTOOLS_META=`__INTLIFY_META__`,composerID=0;function defineCoreMissingHandler(missing){return((ctx,locale,key,type)=>missing(locale,key,getCurrentInstance()||void 0,type))}var getMetaInfo=()=>{let instance$1=getCurrentInstance(),meta=null;return instance$1&&(meta=getComponentOptions(instance$1)[DEVTOOLS_META])?{[DEVTOOLS_META]:meta}:null};function createComposer(options={}){let{__root,__injectWithOption}=options,_isGlobal=__root===void 0,flatJson=options.flatJson,_ref=inBrowser?ref:shallowRef,_inheritLocale=isBoolean(options.inheritLocale)?options.inheritLocale:!0,_locale=_ref(__root&&_inheritLocale?__root.locale.value:isString(options.locale)?options.locale:DEFAULT_LOCALE),_fallbackLocale=_ref(__root&&_inheritLocale?__root.fallbackLocale.value:isString(options.fallbackLocale)||isArray$1(options.fallbackLocale)||isPlainObject(options.fallbackLocale)||options.fallbackLocale===!1?options.fallbackLocale:_locale.value),_messages=_ref(getLocaleMessages(_locale.value,options)),_missingWarn=__root?__root.missingWarn:isBoolean(options.missingWarn)||isRegExp(options.missingWarn)?options.missingWarn:!0,_fallbackWarn=__root?__root.fallbackWarn:isBoolean(options.fallbackWarn)||isRegExp(options.fallbackWarn)?options.fallbackWarn:!0,_fallbackRoot=__root?__root.fallbackRoot:isBoolean(options.fallbackRoot)?options.fallbackRoot:!0,_fallbackFormat=!!options.fallbackFormat,_missing=isFunction(options.missing)?options.missing:null,_runtimeMissing=isFunction(options.missing)?defineCoreMissingHandler(options.missing):null,_postTranslation=isFunction(options.postTranslation)?options.postTranslation:null,_warnHtmlMessage=__root?__root.warnHtmlMessage:isBoolean(options.warnHtmlMessage)?options.warnHtmlMessage:!0,_escapeParameter=!!options.escapeParameter,_modifiers=__root?__root.modifiers:isPlainObject(options.modifiers)?options.modifiers:{},_pluralRules=options.pluralRules||__root&&__root.pluralRules,_context;_context=(()=>{_isGlobal&&setFallbackContext(null);let ctx=createCoreContext({version:VERSION,locale:_locale.value,fallbackLocale:_fallbackLocale.value,messages:_messages.value,modifiers:_modifiers,pluralRules:_pluralRules,missing:_runtimeMissing===null?void 0:_runtimeMissing,missingWarn:_missingWarn,fallbackWarn:_fallbackWarn,fallbackFormat:_fallbackFormat,unresolving:!0,postTranslation:_postTranslation===null?void 0:_postTranslation,warnHtmlMessage:_warnHtmlMessage,escapeParameter:_escapeParameter,messageResolver:options.messageResolver,messageCompiler:options.messageCompiler,__meta:{framework:`vue`}});return _isGlobal&&setFallbackContext(ctx),ctx})(),updateFallbackLocale(_context,_locale.value,_fallbackLocale.value);function trackReactivityValues(){return[_locale.value,_fallbackLocale.value,_messages.value]}let locale=computed({get:()=>_locale.value,set:val=>{_context.locale=val,_locale.value=val}}),fallbackLocale=computed({get:()=>_fallbackLocale.value,set:val=>{_context.fallbackLocale=val,_fallbackLocale.value=val,updateFallbackLocale(_context,_locale.value,val)}}),messages=computed(()=>_messages.value);function getPostTranslationHandler(){return isFunction(_postTranslation)?_postTranslation:null}function setPostTranslationHandler(handler$1){_postTranslation=handler$1,_context.postTranslation=handler$1}function getMissingHandler(){return _missing}function setMissingHandler(handler$1){handler$1!==null&&(_runtimeMissing=defineCoreMissingHandler(handler$1)),_missing=handler$1,_context.missing=_runtimeMissing}let wrapWithDeps=(fn,argumentParser,warnType,fallbackSuccess,fallbackFail,successCondition)=>{trackReactivityValues();let ret;try{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=__root?getFallbackContext():void 0),ret=fn(_context)}finally{__INTLIFY_PROD_DEVTOOLS__,_isGlobal||(_context.fallbackContext=void 0)}if(isNumber(ret)&&ret===-1||warnType===`translate exists`){let[key,arg2]=argumentParser();return __root&&_fallbackRoot?fallbackSuccess(__root):fallbackFail(key)}else if(successCondition(ret))return ret;else throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE)};function t(...args){return wrapWithDeps(context=>Reflect.apply(translate$1,null,[context,...args]),()=>parseTranslateArgs(...args),`translate`,root=>Reflect.apply(root.t,root,[...args]),key=>key,val=>isString(val))}function setPluralRules(rules){_pluralRules=rules,_context.pluralRules=_pluralRules}function getLocaleMessage(locale$1){return _messages.value[locale$1]||{}}function setLocaleMessage(locale$1,message){if(flatJson){let _message={[locale$1]:message};for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1]}_messages.value[locale$1]=message,_context.messages=_messages.value}function mergeLocaleMessage(locale$1,message){_messages.value[locale$1]=_messages.value[locale$1]||{};let _message={[locale$1]:message};if(flatJson)for(let key in _message)hasOwn(_message,key)&&handleFlatJson(_message[key]);message=_message[locale$1],deepCopy(message,_messages.value[locale$1]),_context.messages=_messages.value}return composerID++,__root&&inBrowser&&(watch(__root.locale,val=>{_inheritLocale&&(_locale.value=val,_context.locale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))}),watch(__root.fallbackLocale,val=>{_inheritLocale&&(_fallbackLocale.value=val,_context.fallbackLocale=val,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))})),{id:composerID,locale,fallbackLocale,get inheritLocale(){return _inheritLocale},set inheritLocale(val){_inheritLocale=val,val&&__root&&(_locale.value=__root.locale.value,_fallbackLocale.value=__root.fallbackLocale.value,updateFallbackLocale(_context,_locale.value,_fallbackLocale.value))},get availableLocales(){return Object.keys(_messages.value).sort()},messages,get modifiers(){return _modifiers},get pluralRules(){return _pluralRules||{}},get isGlobal(){return _isGlobal},get missingWarn(){return _missingWarn},set missingWarn(val){_missingWarn=val,_context.missingWarn=_missingWarn},get fallbackWarn(){return _fallbackWarn},set fallbackWarn(val){_fallbackWarn=val,_context.fallbackWarn=_fallbackWarn},get fallbackRoot(){return _fallbackRoot},set fallbackRoot(val){_fallbackRoot=val},get fallbackFormat(){return _fallbackFormat},set fallbackFormat(val){_fallbackFormat=val,_context.fallbackFormat=_fallbackFormat},get warnHtmlMessage(){return _warnHtmlMessage},set warnHtmlMessage(val){_warnHtmlMessage=val,_context.warnHtmlMessage=val},get escapeParameter(){return _escapeParameter},set escapeParameter(val){_escapeParameter=val,_context.escapeParameter=val},t,getLocaleMessage,setLocaleMessage,mergeLocaleMessage,getPostTranslationHandler,setPostTranslationHandler,getMissingHandler,setMissingHandler,[SetPluralRulesSymbol]:setPluralRules}}function createI18n(options={}){let __globalInjection=isBoolean(options.globalInjection)?options.globalInjection:!0,__instances=new Map,[globalScope,__global]=createGlobal(options),symbol=makeSymbol(``);function __getInstance(component){return __instances.get(component)||null}function __setInstance(component,instance$1){__instances.set(component,instance$1)}function __deleteInstance(component){__instances.delete(component)}let i18n={get mode(){return`composition`},async install(app$1,...options$1){if(app$1.__VUE_I18N_SYMBOL__=symbol,app$1.provide(app$1.__VUE_I18N_SYMBOL__,i18n),isPlainObject(options$1[0])){let opts=options$1[0];i18n.__composerExtend=opts.__composerExtend,i18n.__vueI18nExtend=opts.__vueI18nExtend}let globalReleaseHandler=null;__globalInjection&&(globalReleaseHandler=injectGlobalFields(app$1,i18n.global));let unmountApp=app$1.unmount;app$1.unmount=()=>{globalReleaseHandler&&globalReleaseHandler(),i18n.dispose(),unmountApp()}},get global(){return __global},dispose(){globalScope.stop()},__instances,__getInstance,__setInstance,__deleteInstance};return i18n}function createGlobal(options,legacyMode){let scope$1=effectScope(),obj=scope$1.run(()=>createComposer(options));if(obj==null)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);return[scope$1,obj]}var globalExportProps=[`locale`,`fallbackLocale`,`availableLocales`],globalExportMethods=[`t`];function injectGlobalFields(app$1,composer){let i18n=Object.create(null);return globalExportProps.forEach(prop=>{let desc=Object.getOwnPropertyDescriptor(composer,prop);if(!desc)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);let wrap=isRef(desc.value)?{get(){return desc.value.value},set(val){desc.value.value=val}}:{get(){return desc.get&&desc.get()}};Object.defineProperty(i18n,prop,wrap)}),app$1.config.globalProperties.$i18n=i18n,globalExportMethods.forEach(method=>{let desc=Object.getOwnPropertyDescriptor(composer,method);if(!desc||!desc.value)throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);Object.defineProperty(app$1.config.globalProperties,`$${method}`,desc)}),()=>{delete app$1.config.globalProperties.$i18n,globalExportMethods.forEach(method=>{delete app$1.config.globalProperties[`$${method}`]})}}if(initFeatureFlags(),registerMessageCompiler(compile),__INTLIFY_PROD_DEVTOOLS__){let target=getGlobalThis();target.__INTLIFY__=!0,setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const emptyImage=`data:image/svg+xml,`;function getURL(path){return typeof path!=`string`||!path||path.includes(`://`)?path:(path.startsWith(`/`)&&(path=path.substring(1)),`/${path}`)}function getAssetURL(assetPath){let url=getURL(assetPath);return typeof url!=`string`||!url||url.startsWith(`/`)&&(url=`/ui/ui-vue/src/assets`+url),url}const getFile=(url,timeout=5)=>new Promise((resolve$1,reject)=>{try{let xhr=new XMLHttpRequest,tmr=timeout>0?setTimeout(()=>{xhr.abort(),reject(Error(`Timeout`))},timeout*1e3):null;xhr.open(`GET`,url,!0),xhr.onload=()=>{tmr&&clearTimeout(tmr),xhr.status===200?resolve$1(xhr.responseText):reject(Error(`Failed with code ${xhr.status}`))},xhr.send()}catch(err){reject(err)}}),ucaseFirst=str=>str[0].toUpperCase()+str.slice(1),defer=()=>{let noop$3=()=>{},resolve$1,reject,_notifyHandler=noop$3,promise=new Promise((res,rej)=>{[resolve$1,reject]=[res,rej]});return{promise:{then:(resolveHandler,rejectHandler=noop$3,notifyHandler=noop$3)=>(_notifyHandler=notifyHandler,promise.then(resolveHandler,rejectHandler))},resolve:resolve$1,reject,notify:val=>_notifyHandler(val)}},sleep=ms=>new Promise(resolve$1=>setTimeout(resolve$1,ms)),debounce=(func,wait,immediate)=>{let timeout;function call(...args){let context=this,later=()=>{timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;timeout&&window.clearTimeout(timeout),timeout=window.setTimeout(later,wait),callNow&&func.apply(context,args)}return call.cancel=()=>timeout&&window.clearTimeout(timeout),call};var Settings=class{options=reactive({});values=reactive({});_previousValues={};_changedValues={};_watcher=null;_syncPending=!1;inited=!1;loaded=!1;_lua;constructor(eventBus$1=void 0,lua=void 0){eventBus$1&&lua&&this.init(eventBus$1,lua)}init(eventBus$1=void 0,lua=void 0){if(!(this.inited||this.loaded)){if(this.inited=!0,!eventBus$1||!lua){let bridge$4=useBridge();eventBus$1||=bridge$4.events,lua||=bridge$4.lua}eventBus$1.on(`SettingsChanged`,data=>{Object.assign(this.options,data.options),Object.assign(this.values,data.values),this._previousValues=this.clone(data.values),this._changedValues={},this._watcher||=watch(()=>this.values,()=>this._syncChanges(),{deep:!0,flush:`sync`}),this.loaded=!0}),this._syncChangesDebounced=debounce(this._syncChangesImmediate,100),this._lua=lua,this.update()}}async waitForData(){for(;!this.inited||!this.loaded;)await sleep(10)}async update(){if(this._lua)return await this._lua.settings.notifyUI()}clone(data){return JSON.parse(JSON.stringify(data))}getValue(field=null){if(this.loaded)return field&&!(field in this.values)?null:this.clone(field?this.values[field]:this.values)}get changesPending(){return this._syncChangesImmediate(),Object.keys(this._changedValues).length>0}get pendingChanges(){return this._syncChangesImmediate(),this.clone(this._changedValues)}_syncChanges(){this._syncPending=!0,this._syncChangesDebounced()}_syncChangesDebounced=()=>{};_syncChangesImmediate(){if(this._syncPending)for(let key in this._syncPending=!1,this.values)this._previousValues[key]===this.values[key]?key in this._changedValues&&delete this._changedValues[key]:this._changedValues[key]=this.values[key]}async apply(values=void 0){if(!this.loaded)return;let res;if(values)res=this.clone(values);else{if(!this.changesPending)return;res={...this._changedValues},this._changedValues={}}return Object.assign(this._previousValues,res),await this._lua.settings.setState(res)}},settings=new Settings;function useSettings(){return settings.init(),settings}async function useSettingsAsync(){return settings.init(),await settings.waitForData(),settings}var ANGULAR_TRANSLATE=[],_angularTranslateFunc,_i18n,i18nVariant=`petite`,defaultLocale=`en-US`,localeCheckId=`ui.common.okay`,checkLocale=()=>_i18n&&_i18n.global.t(localeCheckId)!==localeCheckId,translate=val=>val;const initTranslation=()=>{if(window.vueI18n?.__bng_i18n_variant!==i18nVariant){window.vueI18n&&console.warn(`Localisation library is already initialized, but its variant was not validated. Reloading...`);let creationArguments={locale:defaultLocale,fallbackLocale:defaultLocale,silentTranslationWarn:!0,fallbackWarn:!1,missingWarn:!1,warnHtmlMessage:!1};window.beamng&&!window.beamng.shipping&&(creationArguments.fallbackLocale=[defaultLocale,`not-shipping.internal`]),window.vueI18n=createI18n(creationArguments),window.vueI18n.__bng_i18n_variant=i18nVariant}return _i18n=window.vueI18n,{i18n:_i18n,plugin:translationPlugin}},loadLocale=async(locale,force=!1)=>{if(!(_i18n.global.availableLocales.includes(locale)&&!force))try{let url=getURL(`/locales/${locale}.json`),resp;try{resp=await getFile(url,5)}catch(err){if(err.message!==`Timeout`)throw err;console.warn(`Locale ${locale} load timed out, retrying with a bigger timeout...`),resp=await getFile(url,10)}_i18n.global.setLocaleMessage(locale,preprocessLocaleJSON(JSON.parse(resp)))}catch(err){console.error(`Failed to load ${locale} locale`,err)}};var setupUserLanguage=async()=>{let settings$1=await useSettingsAsync();watch(()=>settings$1.values.uiLanguage,async lang=>{lang&&lang!==defaultLocale&&await loadLocale(lang),_i18n.global.locale.value=_i18n.global.availableLocales.includes(lang)?lang:defaultLocale,lang!==defaultLocale&&!checkLocale()&&console.warn(`Locale ${lang} is not behaving properly`)},{immediate:!0})};const translationPlugin=()=>({install(app$1,options){return _i18n.global.locale.value=defaultLocale,loadLocale(defaultLocale,!0).then(async()=>{checkLocale()||(console.warn(`Failed to load default locale, retrying...`),await loadLocale(defaultLocale,!0),checkLocale()||console.error(`Failed to load default locale!`)),await setupUserLanguage()}),contextTranslatePlugin().install(app$1,options)}}),contextTranslatePlugin=()=>({install(app$1,options){translate=_wrapTranslate(app$1.config.globalProperties.$t||_i18n.global.t),app$1.config.globalProperties.$t=_i18n.global.t,app$1.config.globalProperties.$ctx_t=(val,translateContext=!0)=>contextTranslate(val,translateContext),app$1.config.globalProperties.$mctx_t=multiContextTranslate,app$1.config.globalProperties.$tt=translate}});var contextTranslate=(val,translateContext=!1)=>{let type=typeof val;if(type===`undefined`||val===null)return``;if(type===`object`)if(val.txt&&val.context){let context=val.context;if(translateContext)for(let key in context={...context},context)context[key]=contextTranslate(context[key],!0);return getTranslation(val.txt,context)}else val=val.txt||``;return getTranslation(``+val)},multiContextTranslate=val=>{if(val.txt)return contextTranslate(val);let description=``;for(let i of val)description+=contextTranslate(i);return description},getAngularTranslationFunc=()=>_angularTranslateFunc||(window.angular$translate&&(_angularTranslateFunc=window.angular$translate.instant.bind(window.angular$translate)),_angularTranslateFunc||translate),getTranslation=(...vals)=>(ANGULAR_TRANSLATE.includes(vals[0])?getAngularTranslationFunc():translate)(...vals);const $translate={instant:val=>val===void 0?``:translate(val),contextTranslate,multiContextTranslate};var rgxAngular=/{{.+}}/,rgxAngularTranslation=/([^ ]?){{ *(?::: *)?'([^ |}]+)' *\| *translate *}}([^\w]?)/gi;function translateAngularToVue(text){let vueText=text.replace(rgxAngularTranslation,(_,q1,s,q2)=>(q1?`${q1} `:``)+`@:${s}`+(q2?` ${q2}`:``));return vueText=vueText.replace(/{{ *([a-z\d_.]+) *}}/gi,`{$1}`),vueText===text||rgxAngular.test(vueText)?null:vueText}const preprocessLocaleJSON=obj=>{let messages={};for(let key in obj){if(ANGULAR_TRANSLATE.includes(key))continue;let text=obj[key];if(rgxAngular.test(text)){let vueText=translateAngularToVue(text);vueText?messages[key]=vueText:ANGULAR_TRANSLATE.includes(key)||ANGULAR_TRANSLATE.push(key)}else messages[key]=text}return messages};var rgxLinkedTranslation=/@:([a-zA-Z0-9_][a-zA-Z0-9_.-]+[a-zA-Z0-9_])/g,linkedNamespace=`__linked_custom`;function _linkedTranslation(msg){if(!msg.includes(`@:`)||!rgxLinkedTranslation.test(msg))return msg;let locale=_i18n.global.locale.value,messages=_i18n.global.messages.value[locale];msg=msg.replace(rgxLinkedTranslation,(_,id)=>`@:`+id);let uniqueId$1=``,match;for(rgxLinkedTranslation.lastIndex=0;(match=rgxLinkedTranslation.exec(msg))!==null;)uniqueId$1+=match[1].replace(/\./g,`_`)+`__`;let fullId,messageId,counter$1=0;for(;counter$1<100;){messageId=uniqueId$1+ ++counter$1,fullId=linkedNamespace+`.`+messageId;let existingMessage=messages[fullId];if(!existingMessage){_i18n.global.mergeLocaleMessage(locale,{[fullId]:msg});break}if(existingMessage===msg)break}return fullId}function _wrapTranslate(f){function translate$2(...args){let key=args[0];return key?typeof key!=`string`||(key=_linkedTranslation(key),key.includes(` `))?key:f.apply(this,[key,...args.slice(1)]):``}return Object.defineProperty(translate$2,`name`,{value:f.name}),translate$2}const UI_NAV_ACTION_GROUP=`UINavActions`,GAME_UI_NAVIGATION_EVENT=`UINavigation`,GAME_UI_NAV_MAP_ENABLED_EVENT=`MenuActionMapEnabled`,DOM_UI_NAVIGATION_EVENT=`ui_nav`,ACTIONS_BY_UI_EVENT={focus_u:`menu_item_up`,focus_r:`menu_item_right`,focus_d:`menu_item_down`,focus_l:`menu_item_left`,menu:`toggleMenues`,back:`menu_item_back`,details:`cui_details`,advanced:`cui_advanced`,camera:`cui_camera`,logs:`cui_logs`,tab_l:`menu_tab_left`,tab_r:`menu_tab_right`,modifier:`cui_modifier`,action_4:`cui_action_4`,focus_ud:`menu_item_focus_ud`,focus_lr:`menu_item_focus_lr`,rotate_h_cam:`menu_item_radial_right_x`,rotate_v_cam:`menu_item_radial_right_y`,ok:`menu_item_select`,cancel:`cui_cancel`,action_2:`cui_action_2`,action_3:`cui_action_3`,context:`cui_context`,gameplay_interact:`cui_gameplay_interact`},UI_EVENTS_BY_ACTION=Object.assign({},...Object.entries(ACTIONS_BY_UI_EVENT).map(([k,v])=>({[v]:k}))),UI_EVENTS={focus_u:`focus_u`,focus_r:`focus_r`,focus_d:`focus_d`,focus_l:`focus_l`,pause:`pause`,menu:`menu`,back:`back`,details:`details`,advanced:`advanced`,camera:`camera`,logs:`logs`,tab_l:`tab_l`,tab_r:`tab_r`,modifier:`modifier`,zoom_out:`zoom_out`,zoom_in:`zoom_in`,subtab_l:`subtab_l`,subtab_r:`subtab_r`,center_cam:`center_cam`,action_4:`action_4`,move_ud:`move_ud`,move_lr:`move_lr`,focus_ud:`focus_ud`,focus_lr:`focus_lr`,rotate_h_cam:`rotate_h_cam`,rotate_v_cam:`rotate_v_cam`,ok:`ok`,cancel:`cancel`,action_2:`action_2`,action_3:`action_3`,context:`context`,gameplay_interact:`gameplay_interact`},UI_EVENT_GROUPS={focusMove:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r],focusMoveScalar:[UI_EVENTS.focus_ud,UI_EVENTS.focus_lr],moveScalar:[UI_EVENTS.move_ud,UI_EVENTS.move_lr],navigation:[UI_EVENTS.focus_u,UI_EVENTS.focus_d,UI_EVENTS.focus_l,UI_EVENTS.focus_r,UI_EVENTS.focus_ud,UI_EVENTS.focus_lr,UI_EVENTS.move_ud,UI_EVENTS.move_lr],allEvents:Object.keys(ACTIONS_BY_UI_EVENT)},NAV_ACTIONS=[`focus_u`,`focus_d`,`focus_l`,`focus_r`],VALUE_BASED_EVENTS=[`zoom_out`,`zoom_in`,`subtab_l`,`subtab_r`,`move_ud`,`move_lr`,`focus_ud`,`focus_lr`,`rotate_h_cam`,`rotate_v_cam`],UI_SCOPE_ATTR$2=`bng-ui-scope`,UI_EVENT_ATTR=`ui-nav-event`;var UINavEventProcessor=class{constructor(){this.isModified=!1}processEvent(name,value=void 0,extras=[],context={}){return!this.isValidGameContext()||context.isEventBlocked&&context.isEventBlocked(name)?null:(this.handleModifierState(name,value),this.shouldHandleWithAngular(name,value)?(this.handleAngularIntegration(),null):this.createEventData(name,value,extras))}isValidGameContext(){return window.beamng?.ingame}handleModifierState(name,value){name===`modifier`&&(this.isModified=value===1)}shouldHandleWithAngular(name,value){return window.globalAngularRootScope&&window.bngIntroShown&&(name===`menu`||name===`back`)&&value===1}handleAngularIntegration(){window.globalAngularRootScope.$broadcast(`MenuToggle`)}createEventData(name,value,extras){let activeElement=document.activeElement,targetScope=null;if(activeElement&&activeElement!==document.body){let scopeElement=activeElement.closest(`[${UI_SCOPE_ATTR$2}]`);scopeElement&&(targetScope=scopeElement.getAttribute(UI_SCOPE_ATTR$2))}return{name,value,modified:name!==`modifier`&&this.isModified,extras,boundAction:ACTIONS_BY_UI_EVENT[name],sendToCrossfire:!0,targetScope}}getEventBroadcastElement(activeScope){let activeElement=document.activeElement;if(activeElement&&activeElement!==document.body)return activeElement;if(activeScope){let scopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${activeScope}"]`);if(scopeElement)return scopeElement}return document.body}},UINavActionHandlers=class{constructor(eventBus$1=null){this._useCrossfire=!0,this.eventBus=eventBus$1}setUseCrossfire(enabled){this._useCrossfire=enabled}get useCrossfire(){return this._useCrossfire}setEventBus(eventBus$1){this.eventBus=eventBus$1}handleGlobalEvent=event=>{let eventData=event.detail;eventData.value===1&&(this.handleMenuActions(eventData)||this.handleNavigationActions(eventData)||this.handleGameActions(eventData))||(this.useCrossfire&&eventData.sendToCrossfire&&handleUINavEvent(event),event.defaultPrevented||(this.handleTabNavigation(eventData),this.handleCameraRotation(eventData),this.handleContextActions(eventData)))};handleMenuActions=eventData=>{if(eventData.name===`menu`||eventData.name===`back`){let globalAngularRootScope=window.globalAngularRootScope;return globalAngularRootScope?(globalAngularRootScope.$broadcast(`MenuToggle`),!1):!0}return!1};handleNavigationActions(eventData){if(NAV_ACTIONS.includes(eventData.name)){Lua_default.extensions.hook(`onMenuItemNavigation`);return}return!1}handleGameActions(eventData){switch(eventData.name){case`pause`:return Lua_default.simTimeAuthority.togglePause(),!0;case`center_cam`:return runRaw(`if core_camera then core_camera.resetCamera(${eventData.extras.player}) end`,!1),!0;default:return!1}}handleTabNavigation(eventData){if(eventData.value===1)switch(eventData.name){case`tab_l`:this.eventBus.emit(`ui_topBar_selectPrevious`);break;case`tab_r`:this.eventBus.emit(`ui_topBar_selectNext`);break}}handleCameraRotation(eventData){if(eventData.name===`rotate_h_cam`||eventData.name===`rotate_v_cam`){let camDir=eventData.name===`rotate_v_cam`?`pitch`:`yaw`,[filterType]=eventData.extras||[0];runRaw(`if core_camera then core_camera.rotate_${camDir}(${eventData.value}, ${filterType}) end`,!1)}}handleContextActions(eventData){[`context`,`details`,`camera`].includes(eventData.name)&&eventData.value===1&&this.isBigMapContext()&&runRaw(`if freeroam_bigMapMode then freeroam_bigMapMode.toggleBigMap() end`,!1)}isBigMapContext(){return[`#/bigmap`,`#/menu.bigmap`,`#/play`,`#/menu/bigmap`].includes(window.location.hash)}},UINavService=class{constructor(eventBus$1){this._eventBus=eventBus$1,this._eventsActive=!1,this._globalEventsHooked=!1,this._activeScope=void 0,this._blockedEvents=[],this.eventProcessor=new UINavEventProcessor,this.actionHandlers=new UINavActionHandlers(eventBus$1),this.useCrossfire=!0}initialize(){this.attachEventListeners(),this.hookGlobalEvents()}handleGameEvent=(name,value,...extras)=>{let context={activeScope:this.activeScope,isEventBlocked:eventName=>this.isEventBlocked(eventName)},eventData=this.eventProcessor.processEvent(name,value,extras,context);eventData&&this.dispatchDOMEvent(eventData)};blockEvents(...events$3){let eventsToAdd=events$3.flat().filter(event=>!this._blockedEvents.includes(event));this._blockedEvents.push(...eventsToAdd)}unblockEvents(...events$3){let eventsToRemove=events$3.flat();this._blockedEvents=this._blockedEvents.filter(event=>!eventsToRemove.includes(event))}setBlockedEvents(events$3=[]){this._blockedEvents=[...events$3]}clearBlockedEvents(){this._blockedEvents=[]}isEventBlocked(eventName){return this._blockedEvents.includes(eventName)}getBlockedEvents(){return[...this._blockedEvents]}handleEnabledChange=state=>{this.eventsActive=state};dispatchDOMEvent=eventData=>{let event=new CustomEvent(DOM_UI_NAVIGATION_EVENT,{detail:eventData,cancelable:!0,bubbles:!0});this.eventProcessor.getEventBroadcastElement(this.activeScope).dispatchEvent(event)};fireEvent(uiEvent,value){this._eventBus&&(value instanceof PointerEvent?(this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,1),this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,0)):this._eventBus.emit(GAME_UI_NAVIGATION_EVENT,uiEvent,typeof value==`number`?value:value?1:0))}setActiveScope(scopeId){this._activeScope=scopeId}get activeScope(){return this._activeScope}activate(state=!0){this.attachEventListeners(state),this.eventsActive=state}hookGlobalEvents(state=!0){let listenerAction=document.body[state?`addEventListener`:`removeEventListener`];listenerAction(DOM_UI_NAVIGATION_EVENT,this.actionHandlers.handleGlobalEvent),this.globalEventsHooked=state}attachEventListeners(state=!0){this._eventBus&&(this._eventBus.off(GAME_UI_NAVIGATION_EVENT),this._eventBus.off(GAME_UI_NAV_MAP_ENABLED_EVENT),state&&(this._eventBus.on(GAME_UI_NAVIGATION_EVENT,this.handleGameEvent),this._eventBus.on(GAME_UI_NAV_MAP_ENABLED_EVENT,this.handleEnabledChange)))}setFilteredEvents(...events$3){this.clearFilteredEvents();let actionsToFilter=[...new Set(events$3.flat(1/0))].map(event=>ACTIONS_BY_UI_EVENT[event]);Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,actionsToFilter),Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!0)}setFilteredEventsAllExcept(...events$3){let eventsToNotFilter=[...new Set(events$3.flat(1/0))],eventsToFilter=Object.keys(ACTIONS_BY_UI_EVENT).filter(ev=>!eventsToNotFilter.includes(ev));this.setFilteredEvents(eventsToFilter)}clearFilteredEvents(){Lua_default.extensions.core_input_actionFilter.addAction(0,UI_NAV_ACTION_GROUP,!1),Lua_default.extensions.core_input_actionFilter.setGroup(UI_NAV_ACTION_GROUP,[])}set eventsActive(value){this._eventsActive=value}get eventsActive(){return this._eventsActive}set globalEventsHooked(value){this._globalEventsHooked=value}get globalEventsHooked(){return this._globalEventsHooked}get useCrossfire(){return this.actionHandlers.useCrossfire}set useCrossfire(value){this.actionHandlers.setUseCrossfire(value)}get eventBus(){return this._eventBus}},instance=null;const setUINavServiceInstance=serviceInstance=>{instance=serviceInstance},getUINavServiceInstance=()=>{if(!instance)throw Error(`UINavService not initialized.`);return instance},SCOPED_NAV_ATTR=`bng-scoped-nav`,SCOPED_NAV_PROPERTY_NAME=`_bngScopedNav`,UI_SCOPE_ATTR$1=`bng-ui-scope`,BNG_ON_UI_NAV_ATTR$1=`__BngOnUiNav`,ATTR_NAME$1=`bng-scoped-nav`,PASSTHROUGH_EXCLUDED_EVENTS=[UI_EVENTS.ok,UI_EVENTS.back,UI_EVENT_GROUPS.focusMove,UI_EVENT_GROUPS.focusMoveScalar],SCOPED_NAV_STATES={active:`full`,partial:`partial`,suspended:`suspended`,inactive:`inactive`},SCOPED_NAV_EVENTS={activate:`scopednav:activate`,deactivate:`scopednav:deactivate`,suspend:`scopednav:suspend`,resume:`scopednav:resume`},SCOPED_NAV_TYPES={normal:`normal`,container:`container`,nonav:`nonav`,popover:`popover`};var ScopeRegistry=class{constructor(){this.scopeRegistries=new WeakMap,this.depthCache=new WeakMap,this.cleanupTimers=new Map}clearDepthCache(scopeElement){this.depthCache.delete(scopeElement)}getCachedDepth(element,scopeElement){let scopeDepthCache=this.depthCache.get(scopeElement);if(scopeDepthCache||(scopeDepthCache=new Map,this.depthCache.set(scopeElement,scopeDepthCache)),!scopeDepthCache.has(element)){let depth=this._getElementDepth(element,scopeElement);scopeDepthCache.set(element,depth)}return scopeDepthCache.get(element)}register(scopeElement,handlerDescriptor){let scopeRegistry=this.scopeRegistries.get(scopeElement);scopeRegistry||(scopeRegistry={handlers:[],scopeHandler:null,initialized:!1},this.scopeRegistries.set(scopeElement,scopeRegistry));let existingIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===handlerDescriptor.element&&this.descriptorsMatch(h$1.eventDescriptor,handlerDescriptor.eventDescriptor));return existingIndex===-1?scopeRegistry.handlers.push(handlerDescriptor):scopeRegistry.handlers[existingIndex]=handlerDescriptor,scopeRegistry.initialized||this.initializeScopeHandler(scopeElement,scopeRegistry),this.clearDepthCache(scopeElement),handlerDescriptor.handler}descriptorsMatch(desc1,desc2){return desc1.name===desc2.name&&desc1.modified===desc2.modified&&desc1.focusRequired===desc2.focusRequired}unregister(element,handlerController){let scopeElement=element.closest(`[${UI_SCOPE_ATTR$2}]`);if(!scopeElement)return;let scopeRegistry=this.scopeRegistries.get(scopeElement);if(!scopeRegistry)return;let handlerIndex=scopeRegistry.handlers.findIndex(h$1=>h$1.element===element&&h$1.handler===handlerController);handlerIndex!==-1&&(scopeRegistry.handlers.splice(handlerIndex,1),this.clearDepthCache(scopeElement)),this.scheduleCleanup(scopeElement,scopeRegistry)}scheduleCleanup(scopeElement,scopeRegistry){this.cleanupTimers.has(scopeElement)&&clearTimeout(this.cleanupTimers.get(scopeElement));let timerId=setTimeout(()=>{this.performCleanup(scopeElement,scopeRegistry),this.cleanupTimers.delete(scopeElement)},100);this.cleanupTimers.set(scopeElement,timerId)}performCleanup(scopeElement,scopeRegistry){scopeRegistry.handlers.length===0&&(scopeElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,scopeRegistry.scopeHandler),this.scopeRegistries.delete(scopeElement),this.clearDepthCache(scopeElement))}destroy(){this.cleanupTimers.forEach(timer=>clearTimeout(timer)),this.cleanupTimers.clear(),this.depthCache=new WeakMap}initializeScopeHandler(scopeElement,scopeRegistry){let scopeHandler=event=>{let scopeId=scopeElement.getAttribute(UI_SCOPE_ATTR$2),uiNavService=getUINavServiceInstance(),targetScope=event.detail?.targetScope||uiNavService.activeScope;if(targetScope&&targetScope!==scopeId&&!this._isTargetScopeNested(targetScope,scopeElement)){console.warn(`UINav: Event target scope is not the intended scope. Ignoring event for this scope(${scopeId})`,{targetScope,scopeId});return}if(scopeElement._bngScopedNav&&scopeElement._bngScopedNav.canIgnoreEvent&&scopeElement._bngScopedNav.canIgnoreEvent(event)){event.stopPropagation();return}let isTargetActiveScope=targetScope===scopeId&&scopeId===uiNavService.activeScope,canPassthrough=isTargetActiveScope&&this._allowsPassthrough(scopeElement,event.detail),monitoredEvents=[...MONITORED_UI_NAV_EVENTS,UI_EVENTS.back];if(!(!isTargetActiveScope&&!canPassthrough&&!monitoredEvents.includes(event.detail.name))){if(!isTargetActiveScope&&!canPassthrough&&monitoredEvents.includes(event.detail.name)){this._executeScopedNavHandler(scopeElement,event,scopeRegistry.handlers)||event.stopPropagation();return}(!this._executeScopedBubbling(scopeElement,event,scopeRegistry.handlers)||!this._checkScopeBubbling(scopeElement,event))&&event.stopPropagation()}};scopeElement.addEventListener(DOM_UI_NAVIGATION_EVENT,scopeHandler),scopeRegistry.scopeHandler=scopeHandler,scopeRegistry.initialized=!0}_isTargetScopeNested(targetScopeId,currentScopeElement){let targetScopeElement=document.querySelector(`[${UI_SCOPE_ATTR$2}="${targetScopeId}"]`);return targetScopeElement?currentScopeElement.contains(targetScopeElement)&&targetScopeElement!==currentScopeElement:!1}_executeScopedNavHandler(scopeElement,event,handlers$1){let matchingHandlers=handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(event.detail,h$1.eventDescriptor)&&h$1.element===scopeElement);if(matchingHandlers.length===0)return!0;let results=[];for(let handler$1 of matchingHandlers)try{let result=handler$1.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:handler$1.element,event:event.detail.name}),results.push(!1)}return results.some(result=>result===!0)}_executeScopedBubbling(scopeElement,event,handlers$1){let eventData=event.detail,matchingHandlers=handlers$1&&handlers$1.length>0?handlers$1.filter(h$1=>!h$1.disabled&&this._eventMatchesDescriptor(eventData,h$1.eventDescriptor)):[];if(matchingHandlers.length===0)return!0;let activeElement=document.activeElement,startElement=event.target;startElement=activeElement&&scopeElement.contains(activeElement)&&matchingHandlers.some(h$1=>h$1.element===activeElement)?activeElement:this._findDeepestHandlerElement(scopeElement,matchingHandlers);let bubblingPath=this._buildBubblingPath(startElement,scopeElement,matchingHandlers);return bubblingPath.length===0?(console.warn(`UINav: No bubbling path found.`,{scopeElement,event,handlers:handlers$1}),!0):this._executeHandlersAlongPath(bubblingPath,event)}_findDeepestHandlerElement(scopeElement,handlers$1){return[...new Set(handlers$1.map(h$1=>h$1.element))].filter(el=>this.getCachedDepth(el,scopeElement)<0?!1:!this._isElementInNestedScope(el,scopeElement)).sort((a$1,b)=>{let depthA=this.getCachedDepth(a$1,scopeElement);return this.getCachedDepth(b,scopeElement)-depthA})[0]||null}_isElementInNestedScope(element,currentScopeElement){let current=element;for(;current&¤t!==currentScopeElement;){if(current.hasAttribute(`bng-ui-scope`)&¤t!==currentScopeElement)return!0;current=current.parentElement}return!1}_buildBubblingPath(startElement,scopeElement,handlers$1){if(!scopeElement.contains(startElement))return console.warn(`UINav: Start element is outside scope boundary`,startElement,scopeElement),[];let path=[],current=startElement;for(;current&&scopeElement.contains(current);){let elementHandlers=handlers$1.filter(h$1=>h$1.element===current);if(elementHandlers.length>0&&path.push({element:current,handlers:elementHandlers}),current===scopeElement)break;current=current.parentElement}return path}_executeHandlersAlongPath(bubblingPath,event){for(let pathItem of bubblingPath){let results=[];for(let handlerDescriptor of pathItem.handlers)try{let result=handlerDescriptor.handler(event);results.push(result)}catch(error){console.error(`Error in UINav scope handler:`,error,{element:pathItem.element,event:event.detail.name}),results.push(!1)}if(!results.some(result=>result===!0))return!1}return!0}_checkScopeBubbling(scopeElement,event){let scopedNavProps=scopeElement._bngScopedNav;return scopedNavProps?scopedNavProps.shouldBubbleEvent&&typeof scopedNavProps.shouldBubbleEvent==`function`?scopedNavProps.shouldBubbleEvent(event):!1:!0}_getElementDepth(element,parent){let depth=0,current=element;for(;current&¤t!==parent;)depth++,current=current.parentElement;return current===parent?depth:-1}_allowsPassthrough(scopeElement,eventData){let domScopedNavProps=scopeElement.hasAttribute(`bng-scoped-nav`)?scopeElement[SCOPED_NAV_PROPERTY_NAME]:{};return domScopedNavProps.passthroughActive&&domScopedNavProps.passthroughEnabled&&domScopedNavProps.passthroughEvents.includes(eventData.name)}_eventMatchesDescriptor(eventData,descriptor){for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0}};const isOnOffEvent=eventName=>!VALUE_BASED_EVENTS.includes(eventName),checkOn=value=>value,normalizeEventDescriptor=eventDescriptor=>({string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}})[typeof eventDescriptor]||!1,eventMatchesDescriptor=(eventData,descriptor)=>{for(let[item,value]of Object.entries(descriptor))if(value!==void 0)if(item===`focusRequired`){if(value&&!value.contains(document.activeElement))return!1}else{if(!(item in eventData))return!1;if(typeof value==`function`){if(!value(eventData[item]))return!1}else if(eventData[item]!=value)return!1}return!0},getDescriptorEventNameText=descriptor=>descriptor.name?typeof descriptor.name==`function`?descriptor.name.name:descriptor.name:`ALL`;var HandlerFactory=class{static createHandler(eventDescriptor,userHandler){let descriptor=normalizeEventDescriptor(eventDescriptor);if(!descriptor)throw Error(`Invalid event descriptor when trying to create a UINav handler. Expecting a String or an Object.`);let handlerFuncName=userHandler?.name||`uiNav_${getDescriptorEventNameText(descriptor)}_handler`,disabled=!1;function wrapper(event){let eventData=event?.detail||{};return disabled||!eventMatchesDescriptor(eventData,descriptor)?!0:userHandler(event)}return Object.defineProperty(wrapper,`name`,{value:handlerFuncName}),Object.defineProperty(wrapper,`disabled`,{configurable:!1,get:()=>disabled,set:state=>{disabled=state}}),wrapper}static normalizeEventDescriptor(eventDescriptor){return{string:{name:eventDescriptor,value:isOnOffEvent(eventDescriptor)?checkOn:void 0,modified:!1,extras:void 0},object:{...eventDescriptor,value:`value`in eventDescriptor?eventDescriptor.value:isOnOffEvent(eventDescriptor.name)?checkOn:void 0}}[typeof eventDescriptor]||!1}},UINavHandlers=class{constructor(){this.scopeRegistry=new ScopeRegistry}add(domElement,uiNavHandlerOrDescriptor,handler$1=void 0){let scopeElement=domElement.closest(`[${UI_SCOPE_ATTR$2}]`);return scopeElement?this.addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement):this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1)}remove(domElement,uiNavHandler){domElement.closest(`[bng-ui-scope]`)?this.scopeRegistry.unregister(domElement,uiNavHandler):this.removeIndividual(domElement,uiNavHandler)}addWithScope(domElement,uiNavHandlerOrDescriptor,handler$1,scopeElement){let targetElement=domElement;if(!scopeElement.contains(targetElement))return console.error(`UINav: Attempting to register handler for element outside scope`,{targetElement,scopeElement,scopeId:scopeElement.getAttribute(UI_SCOPE_ATTR$2)}),this.addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1);let wrapperHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor,handlerDescriptor={element:domElement,eventDescriptor:HandlerFactory.normalizeEventDescriptor(uiNavHandlerOrDescriptor),handler:wrapperHandler,disabled:!1};return this.scopeRegistry.register(scopeElement,handlerDescriptor)}addIndividual(domElement,uiNavHandlerOrDescriptor,handler$1){let uiNavHandler=handler$1?HandlerFactory.createHandler(uiNavHandlerOrDescriptor,handler$1):uiNavHandlerOrDescriptor;return domElement.addEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler),uiNavHandler}removeIndividual(domElement,uiNavHandler){domElement.removeEventListener(DOM_UI_NAVIGATION_EVENT,uiNavHandler)}},handlers_default=new UINavHandlers;function usePopupUINavScopeName(baseName,props){let attrs=useAttrs(),scopeName=baseName+`__`+attrs.__id;return useUINavScope(scopeName),watch(()=>props.popupActive,()=>props.popupActive&&useUINavScope(scopeName)),scopeName}function useUINavScope(scope$1=void 0,restoreScopeOnUnmount=!0){let currentScope=ref(scope$1),oldScope,scopeChanged=!1,setScope=newScope=>{scopeChanged=!0,currentScope.value=newScope,getUINavServiceInstance().setActiveScope(newScope)},restoreOldScope=()=>{getUINavServiceInstance().setActiveScope(oldScope)};return onMounted(()=>{oldScope=getUINavServiceInstance().activeScope,currentScope.value?setScope(currentScope.value):currentScope.value=oldScope}),onUnmounted(()=>{scopeChanged&&restoreScopeOnUnmount&&restoreOldScope()}),{current:computed(()=>currentScope.value),set:setScope,get oldScope(){return oldScope}}}function watchUINavEventChange(domElementRef,handler$1){return watch(()=>{if(!domElementRef.value)return{};let eventName=domElementRef.value.getAttribute(UI_EVENT_ATTR);return{eventName,action:ACTIONS_BY_UI_EVENT[eventName]}},handler$1)}const eventFirer=uiEvent=>value=>getUINavServiceInstance().fireEvent(uiEvent,value);var counter=0;const uniqueNum=()=>++counter%1e5+Math.random(),uniqueId=(name=``,separator=`.`)=>{let str=`${name?name+separator:``}${uniqueNum().toString(16)}`;return separator===`.`?str:str.replace(`.`,separator)},uniqueSafeId=()=>uniqueId(``,`_`);var DEFAULT_NAVIGATION=[...MONITORED_UI_NAV_EVENTS,`back`],ALWAYS_ACTIVE=[`ok`,`menu`,`back`],BLOCKER=Symbol(`uiNavBlocker`);const useUINavTracker=defineStore(`uiNavTracker`,()=>{let{lua,events:events$3}=useBridge(),showErrors=window.beamng&&!window.beamng.shipping,initialised=!1,trackedEvents=ref([]),trackedInstances={},ignoredEvents=ref([]),ignoredInstances={},blockedEvents$1=ref([]),blockedInstances={},unblockedEvents=ref([]),unblockedInstances={},activeEvents=ref([]),labelRegistry=useUiNavLabel();function updateBlocklist(){let uiNavService=getUINavServiceInstance(),eventsToBlock=blockedEvents$1.value.filter(name=>!unblockedEvents.value.includes(name));uiNavService.setBlockedEvents(eventsToBlock)}let raf;function update$6(eventName){cancelAnimationFrame(raf),raf=requestAnimationFrame(()=>{activeEvents.value=trackedEvents.value.filter(e=>!ignoredEvents.value.includes(e.name)&&(unblockedEvents.value.includes(e.name)||!blockedEvents$1.value.includes(e.name))).map(e=>({...e,nogroup:!!trackedInstances[e.name]?.at(-1)?.nogroup}))})}let ownerIdCheck=ownerId$1=>{if(typeof ownerId$1!=`string`||!ownerId$1)throw Error(`ownerId is required and must be a string`)},eventNameCheck=(eventName,quiet=!1)=>{let ok=!0;return typeof eventName!=`string`||!eventName?(showErrors&&logger_default.error(`eventName is required`),ok=!1):eventName in ACTIONS_BY_UI_EVENT||(showErrors&&!quiet&&logger_default.error(`eventName ${eventName} does not exist`),ok=!1),ok},getRecentInstance=eventName=>trackedInstances[eventName].findLast(inst=>inst.element!==BLOCKER),parseActive=(active,eventName)=>typeof active==`boolean`?active:ALWAYS_ACTIVE.includes(eventName);function addEvent(eventName,ownerId$1,element=null,options={}){if(initialised||rebind(),!eventNameCheck(eventName))return;ownerIdCheck(ownerId$1),trackedInstances[eventName]||(trackedInstances[eventName]=[]),element||=window.document.body;let instance$1=trackedInstances[eventName].find(instance$2=>instance$2.ownerId===ownerId$1);if(instance$1){instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName);return}if(trackedInstances[eventName].push({ownerId:ownerId$1,element,nogroup:!!options?.nogroup,active:parseActive(options?.active,eventName)}),trackedInstances[eventName].length===1){let event={name:eventName,label:computed(()=>{let instance$2=getRecentInstance(eventName);return labelRegistry.getLabel(eventName,instance$2?.element)||null}),action:computed(()=>getRecentInstance(eventName)?.active?eventFirer(eventName):null)};trackedEvents.value.push(event),actionSwitch(!0,eventName)}update$6(eventName)}function updateEvent(eventName,ownerId$1,element,options={}){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName))return;element||=window.document.body;let instance$1=trackedInstances[eventName]?.find(instance$2=>instance$2.ownerId===ownerId$1);if(!instance$1){addEvent(eventName,ownerId$1,element,!1,options);return}instance$1.element=element,instance$1.nogroup=!!options?.nogroup,instance$1.active=parseActive(options?.active,eventName),update$6(eventName)}function removeEvent(eventName,ownerId$1,element=null){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName)||!trackedInstances[eventName])return;element||=window.document.body;let idx=trackedInstances[eventName].findIndex(instance$1=>instance$1.ownerId===ownerId$1);if(idx!==-1&&(trackedInstances[eventName].splice(idx,1),update$6(eventName),trackedInstances[eventName].length===0)){delete trackedInstances[eventName];let idx$1=trackedEvents.value.findIndex(h$1=>h$1.name===eventName);idx$1>-1&&(trackedEvents.value.splice(idx$1,1),actionSwitch(!1,eventName))}}function addHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){ownerIdCheck(ownerId$1),eventNameCheck(eventName,quiet)&&(eventList.value.includes(eventName)||(eventList.value.push(eventName),func&&func(),instanceList[eventName]||(instanceList[eventName]=[])),instanceList[eventName].push(ownerId$1))}function removeHelper(eventList,instanceList,eventName,ownerId$1,func,quiet=!1){if(ownerIdCheck(ownerId$1),!eventNameCheck(eventName,quiet)||!(eventName in instanceList))return;let instIdx=instanceList[eventName].indexOf(ownerId$1);if(instIdx!==-1&&(instanceList[eventName].splice(instIdx,1),instanceList[eventName].length===0)){let idx=eventList.value.indexOf(eventName);idx>-1&&(eventList.value.splice(idx,1),func&&func())}}function addIgnore(eventName,ownerId$1){addHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function removeIgnore(eventName,ownerId$1){removeHelper(ignoredEvents,ignoredInstances,eventName,ownerId$1,null,!0)}function addBlocker(eventName,ownerId$1){addHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{addEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function removeBlocker(eventName,ownerId$1){removeHelper(blockedEvents$1,blockedInstances,eventName,ownerId$1,()=>{removeEvent(eventName,ownerId$1,BLOCKER),updateBlocklist()})}function addForceUnblock(eventName,ownerId$1){addHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}function removeForceUnblock(eventName,ownerId$1){removeHelper(unblockedEvents,unblockedInstances,eventName,ownerId$1,()=>{update$6(eventName),updateBlocklist()})}let actionSwitch=async(enabled,eventName)=>{eventName!==`menu`&&(!enabled&&blockedEvents$1.value.includes(eventName)||await lua.extensions.core_input_bindings.setMenuActionEnabled(enabled,ACTIONS_BY_UI_EVENT[eventName]))};function rebind(){initialised||(initialised=!0,getUINavServiceInstance().clearBlockedEvents(),DEFAULT_NAVIGATION.forEach(name=>addEvent(name,`__uiNavTracker_default`))),Object.keys(ACTIONS_BY_UI_EVENT).filter(name=>!DEFAULT_NAVIGATION.includes(name)&&!trackedEvents.value.find(e=>e.name===name)).forEach(name=>actionSwitch(!1,name))}return lua.extensions.core_input_bindings.getMenuActionMapEnabled().then(enabled=>enabled&&rebind()),events$3.on(`MenuActionMapEnabled`,enabled=>enabled&&rebind()),{activeEvents,blockedEvents:blockedEvents$1,unblockedEvents,addEvent,updateEvent,removeEvent,addIgnore,removeIgnore,addBlocker,removeBlocker,addForceUnblock,removeForceUnblock}});function useUINavBlocker(){let id=uniqueId(`uiNavBlocker`),tracker=useUINavTracker(),allEventNames=Object.keys(ACTIONS_BY_UI_EVENT),defaultEvents=Object.freeze(Object.fromEntries(DEFAULT_NAVIGATION.map(name=>[name,name]))),allEvents=Object.freeze(UI_EVENTS),blockedEvents$1=[],unblockedEvents=[],filterEvents=events$3=>{if(!events$3)return[];if(typeof events$3==`string`)events$3=[events$3];else if(events$3.length===0)return[];return events$3.reduce((res,name)=>allEventNames.includes(name)&&!res.includes(name)?[...res,name]:res,[])};function allowOnly(events$3=[]){events$3=filterEvents(events$3),blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function allowNavigationOnly(enforce=!0){if(!enforce)return blockOnly();let events$3=[...DEFAULT_NAVIGATION,`menu`];blockOnly(allEventNames.filter(name=>!events$3.includes(name)))}function blockOnly(events$3=[]){events$3=filterEvents(events$3),blockedEvents$1.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeBlocker(name,id)),blockedEvents$1.splice(0),blockedEvents$1.push(...events$3),blockedEvents$1.forEach(name=>tracker.addBlocker(name,id))}function ensureNoBlock(events$3=[]){events$3=filterEvents(events$3),unblockedEvents.filter(name=>!events$3.includes(name)).forEach(name=>tracker.removeForceUnblock(name,id)),unblockedEvents.splice(0),unblockedEvents.push(...events$3),events$3.forEach(name=>tracker.addForceUnblock(name,id))}function isBlocked(eventName){return tracker.unblockedEvents.includes(eventName)?!1:tracker.blockedEvents.includes(eventName)}let clear=()=>blockOnly();return onUnmounted(clear),{allEvents,defaultEvents,allowOnly,allowNavigationOnly,blockOnly,clear,ensureNoBlock,isBlocked}}const useUiNavLabel=defineStore(`uiNavLabeler`,()=>{let elementLabels=reactive(new WeakMap),eventElements=reactive({});function registerLabel(element,eventNames,label){elementLabels.has(element)||elementLabels.set(element,{});let elementEvents=elementLabels.get(element);Array.isArray(eventNames)||(eventNames=[eventNames]);for(let eventName of eventNames)elementEvents[eventName]=label,eventElements[eventName]||(eventElements[eventName]=new Set),eventElements[eventName].add(element)}function clearLabels(element,eventNames=null){if(!elementLabels.has(element))return;let elementEvents=elementLabels.get(element);if(eventNames===null){for(let eventName of Object.keys(elementEvents))eventElements[eventName]&&eventElements[eventName].delete(element);elementLabels.delete(element)}else{for(let eventName of eventNames)delete elementEvents[eventName],eventElements[eventName]&&eventElements[eventName].delete(element);Object.keys(elementEvents).length===0&&elementLabels.delete(element)}}function getLabel(eventName,element=null){if(element&&elementLabels.has(element)&&elementLabels.get(element)[eventName])return elementLabels.get(element)[eventName];if(eventElements[eventName])for(let el of eventElements[eventName]){let label=elementLabels.get(el)?.[eventName];if(label)return label}return null}function getElementEvents(element){return elementLabels.has(element)?Object.keys(elementLabels.get(element)):[]}return{registerLabel,clearLabels,getLabel,getElementEvents}});var LUA_EXTENSION_NAME=`ui_topBar`;const useTopBar=defineStore(`topBar`,()=>{let{events:events$3}=useBridge(),setupComplete=!1,_items=ref({}),_activeItem=ref(null),visible=ref(!1),hiddenItems=ref([]),gameState$1=reactive({isInGame:void 0,gameState:void 0,uiState:void 0,isCareerActive:void 0,isGarageActive:void 0,isMissionActive:void 0,isScenarioActive:void 0}),sortItems=(a$1,b)=>(a$1.order??0)-(b.order??0),items$2=computed(()=>Object.values(_items.value).filter(item=>!hiddenItems.value||!hiddenItems.value.includes(item.id)).sort(sortItems)),activeItem=computed({get:()=>_activeItem.value,set:value=>{value!==_activeItem.value&&(_activeItem.value=value,Lua_default.ui_topBar.setActiveItem(value))}}),updateTopBarVisibility=()=>{if(!(!gameState$1.uiState||gameState$1.isInGame===void 0)){if(gameState$1.uiState.startsWith(`menu.mainmenu`)&&!gameState$1.isInGame&&(visible.value=!1),!visible.value||gameState$1.uiState===`unknown`){activeItem.value=null;return}if(gameState$1.uiState){let updatedActiveItem=Object.values(_items.value).find(item=>item.targetState===gameState$1.uiState);updatedActiveItem||=Object.values(_items.value).find(item=>item.substate&&gameState$1.uiState.startsWith(item.substate)),activeItem.value=updatedActiveItem?updatedActiveItem.id:null}updateHiddenItems()}};watch(()=>gameState$1.uiState,()=>nextTick(updateTopBarVisibility)),watch(()=>gameState$1.isInGame,()=>nextTick(updateTopBarVisibility));let selectPrevious=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let previousIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)-1+len)%len;selectEntry(items$2.value[previousIndex].id)},selectNext=()=>{if(!visible.value)return;let len=items$2.value.length;if(len===0)return;let nextIndex=(items$2.value.findIndex(item=>item.id===activeItem.value)+1)%len;selectEntry(items$2.value[nextIndex].id)},selectEntry=itemId=>{visible.value&&(activeItem.value=itemId,Lua_default.ui_topBar.selectItem(itemId))},show=()=>{visible.value=!0},hide$2=()=>{visible.value=!1};function updateHiddenItems(){hiddenItems.value=Object.values(_items.value).filter(shouldHideItem).map(item=>item.id)}function shouldHideItem(item){if(!item.flags||item.flags.length===0)return!1;for(let flag of item.flags)if(flag===`inGameOnly`&&!gameState$1.isInGame||flag===`careerOnly`&&!gameState$1.isCareerActive||flag===`noCareer`&&gameState$1.isCareerActive||flag===`missionOnly`&&!gameState$1.isMissionActive||flag===`noMission`&&gameState$1.isMissionActive&&!gameState$1.isScenarioUnrestricted||flag===`garageOnly`&&!gameState$1.isGarageActive||flag===`noGarage`&&gameState$1.isGarageActive||flag===`scenarioOnly`&&!gameState$1.isScenarioActive||flag===`noScenario`&&gameState$1.isScenarioActive&&!gameState$1.isScenarioUnrestricted||flag===`careerGarageOnly`&&(!gameState$1.isCareerActive||!gameState$1.isGarageActive)||flag===`noCareerGarage`&&gameState$1.isCareerActive&&gameState$1.isGarageActive)return!0;return!1}function onCareerStateChanged(data){gameState$1.isCareerActive=data.isActive}function onGarageStateChanged(data){gameState$1.isGarageActive=data.isActive}function onMissionStateChanged(data){gameState$1.isMissionActive=data.isActive}function onScenarioStateChanged(data){gameState$1.isScenarioActive=data.isActive}function onDataRequested(data){let{isInGame,items:dataItems}=data;_items.value=dataItems,gameState$1.isInGame=isInGame,hiddenItems.value=[]}function onGameStateChanged(data){gameState$1.isInGame=data.isInGame,gameState$1.isCareerActive=data.isCareerActive,gameState$1.isGarageActive=data.isGarageActive,gameState$1.isMissionActive=data.isMissionActive,gameState$1.isScenarioActive=data.isScenarioActive,gameState$1.isScenarioUnrestricted=data.isScenarioUnrestricted,nextTick(()=>updateHiddenItems())}function onEntriesChanged(data){_items.value=data}function onVisibleItemsChanged(data){hiddenItems.value=data}function onShow(){visible.value=!0}function onHide(){visible.value=!1}let debouncedStateChange=debounce(data=>{gameState$1.uiState=(data.fullPath||data.name||`unknown`).replace(/^\//,``)},100);function onUIStateChanged(data){debouncedStateChange(data)}let eventHandlerMap={selectPrevious,selectNext,OnCareerActive:onCareerStateChanged,garageStateChanged:onGarageStateChanged,missionStateChanged:onMissionStateChanged,scenarioStateChanged:onScenarioStateChanged,dataRequested:onDataRequested,gameStateChanged:onGameStateChanged,entriesChanged:onEntriesChanged,visibleItemsChanged:onVisibleItemsChanged,show:onShow,hide:onHide};function addListeners(){for(let eventName of Object.keys(eventHandlerMap))events$3.on(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}function removeListeners$1(){for(let eventName of Object.keys(eventHandlerMap))events$3.off(`${LUA_EXTENSION_NAME}_${eventName}`,eventHandlerMap[eventName])}return(async()=>{setupComplete||=(await Lua_default.extensions.isExtensionLoaded(LUA_EXTENSION_NAME)||await Lua_default.extensions.load(LUA_EXTENSION_NAME),addListeners(),await Lua_default.ui_topBar.requestData(),!0)})(),{activeItem,items:items$2,visible,gameState:gameState$1,show,hide:hide$2,selectEntry,selectPrevious,selectNext,onUIStateChanged,dispose:()=>{removeListeners$1(),Lua_default.extensions.unload(LUA_EXTENSION_NAME)}}});var events$2,beamNG,serviceProviders=ref(),online=ref(!1),videoAdapter=ref(``),modCounts=ref({total:0,active:0}),gameState=ref(),mainMenuBackgroundRequired=ref(),mainMenuFirstTime=ref(!0),serviceProvidersOnline=computed(()=>{let provs=serviceProviders.value,gotInfo=!!provs,ret={eos:gotInfo&&provs.eos&&provs.eos.loggedin,steam:gotInfo&&provs.steam&&provs.steam.loggedin&&provs.steam.working};return ret.any=Object.values(ret).some(v=>v),ret}),version,versionSimple,buildInfo,init$2=()=>{let api$1;({api:api$1,events:events$2,beamNG}=useBridge()),beamNG||=FAKE_BEAMNG_OBJ,api$1.serializeToLuaCheck(`English: hello`),api$1.serializeToLuaCheck(`Spanish: güeñes`),api$1.serializeToLuaCheck(`French: bâguéttè, garçon`),api$1.serializeToLuaCheck(`Czech: Kl�vesnice`),api$1.serializeToLuaCheck(`Korean: \r��\v��\v��`),api$1.serializeToLuaCheck(`Chinese Sim: 欢迎来到简体中文版的`),api$1.serializeToLuaCheck(`Chinese Tr: 歡迎來到`),api$1.serializeToLuaCheck(`Japanese: 』日本語版にようこそ`),api$1.serializeToLuaCheck(`Polish: źćłąóę`),api$1.serializeToLuaCheck(`Russian: абвгеёьъ`),events$2.on(`ServiceProviderInfo`,info=>serviceProviders.value=info),events$2.on(`OnlineStateChanged`,state=>online.value=state),events$2.on(`ModManagerModsChanged`,_processModData),events$2.on(`ShowEntertainingBackground`,state=>mainMenuBackgroundRequired.value=state),events$2.on(`GameStateUpdate`,state=>gameState.value=state.state),version=beamNG.version,versionSimple=_toSimpleVersion(beamNG.version),buildInfo=beamNG.buildinfo,refresh()},refresh=()=>{_requestServiceProviders(),_requestOnlineState(),_refreshVideoAdapter(),_refreshModData()},_refreshVideoAdapter=()=>Lua_default.Engine.Render.getAdapterType().then(adapter=>videoAdapter.value=adapter),_requestServiceProviders=()=>beamNG.requestServiceProviderInfo(),_requestOnlineState=()=>Lua_default.core_online.requestState(),_refreshModData=()=>Lua_default.core_modmanager.requestState(),sysInfo_default={init:init$2,refresh,serviceProviders,serviceProvidersOnline,online,videoAdapter,modCounts,gameState,mainMenuBackgroundRequired,mainMenuFirstTime,get version(){return version},get versionSimple(){return versionSimple},get buildInfo(){return buildInfo}},_toSimpleVersion=versionStr=>{let bits=versionStr.split(`.`);return bits.length==5&&bits.pop(),bits.join(`.`).replace(/(\.0)+$/,``)},_processModData=data=>{let mods=Object.values(data).filter(mod=>mod.modname!=`translations`);modCounts.value.total=mods.length,modCounts.value.active=mods.filter(({active})=>active).length},FAKE_BEAMNG_OBJ={version:`0.12.3.4.FAKE12345`,buildInfo:`Sample Fake BuildInfo - running outside of game`,requestServiceProviderInfo(){events$2.emit(`ServiceProviderInfo`,{steam:{loggedin:!0,accountID:`12345678901234567`,playerName:`fakeplayer`,branch:`qa_latest`,language:`english`,useSteam:!0,working:!0}})}};const useLibStore=defineStore(`lib`,{});var bridge$2,stateStack=[];function add(stateName){rem(stateName),stateStack.push(stateName)}function rem(stateName){let idx=stateStack.lastIndexOf(stateName);idx>-1&&stateStack.splice(idx,1)}var luaStringify=any=>JSON.stringify(any).replace(/^\[(.*)\]$/,`{$1}`),luaReport=(stateName,opened)=>bridge$2.api.engineLua(`extensions.hook("onUIStateTriggered", ${luaStringify(stateName)}, ${luaStringify(!!opened)}, ${luaStringify(stateStack)})`);function reportState(stateName,opened,prevName=null){bridge$2||=useBridge(),prevName&&(rem(prevName),luaReport(prevName,!1)),opened?add(stateName):rem(stateName),luaReport(stateName,opened)}function reportPopupState(popup,opened){reportState(`/popup/${popup.componentName}/${popup.wrapper.blur?`fullscreen`:`aside`}`,opened)}function scroll(el,binding){let direction$1=binding.arg;el.scrollHeight<=el.clientHeight||(direction$1===`top`?el.scrollTop>0&&(el.scrollTop=0):direction$1===`bottom`&&el.scrollTop{let id,blurAmount=1,blurUpdateWrapper=debounce(updateBlur,50),resizeObserver,removePositionObserver;function observe(){resizeObserver||(resizeObserver=new ResizeObserver(blurUpdateWrapper),resizeObserver.observe(el)),removePositionObserver||=observePosition(el,blurUpdateWrapper)}function unobserve(){resizeObserver&&resizeObserver.disconnect(),removePositionObserver&&removePositionObserver(),resizeObserver=null,removePositionObserver=null}elemBlurs.set(el,{blurUpdateWrapper,processBlurVal,observe,unobserve}),processBlurVal(binding.value),window.addEventListener(`resize`,blurUpdateWrapper);function processBlurVal(val){switch(typeof val){case`undefined`:val=1;break;case`boolean`:val=val?1:0;break;case`number`:(val<0||val>1)&&(logger_default.error(`Attempted to use v-bng-blur with a number out of range 0..1: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=1);break;default:logger_default.error(`Attempted to use v-bng-blur with a non-number, non-boolean value: ${val}\nSee stack:`,logger_default.STACK_TRACE),val=0}blurAmount=val,blurUpdateWrapper()}function calcBlur(){let rect=el.getBoundingClientRect();return rect.width>0&&rect.height>0&&rect.bottom>0&&rect.top0&&rect.left{let elemBlur=elemBlurs.get(el);elemBlur&&binding.value!=binding.oldValue&&elemBlur.processBlurVal(binding.value)},unmounted:(el,binding)=>{let elemBlur=elemBlurs.get(el);elemBlur&&(elemBlur.unobserve(),elemBlur.processBlurVal(0),window.removeEventListener(`resize`,elemBlur.blurUpdateWrapper),elemBlurs.delete(el))}},DEFAULT_HOLD_DELAY=400,DEFAULT_REPEAT_INTERVAL=100,HOLD_CSS_TIME_VAR=`--hold-time`,HOLD_START_CSS_CLASS=`hold-start`,HOLD_ACTIVE_CSS_CLASS=`hold-active`,HOLD_COMPLETED_CSS_CLASS=`hold-completed`,EVENT_CLICK=`click`,EVENT_HOLD=`hold`,ELEMENT_ID=`__BNG_CLICK_ID`,curId=0,datas={};function update$5(element,binding){let id=element[ELEMENT_ID]||(element[ELEMENT_ID]=++curId),data=datas[id]||(datas[id]={id,element,events:{},binding:{}});if(typeof binding.value==`object`)data.binding=binding.value;else if(typeof binding.value==`function`){let cbName=binding.modifiers?.hold?`holdCallback`:`clickCallback`;data.binding[cbName]=binding.value}return data.controllerOnly=!!binding.modifiers?.controller,data.hasClick=typeof data.binding.clickCallback==`function`,data.hasHold=typeof data.binding.holdCallback==`function`,typeof data.binding.holdDelay!=`number`&&(data.binding.holdDelay=DEFAULT_HOLD_DELAY),typeof data.binding.repeatInterval!=`number`&&(data.binding.repeatInterval=DEFAULT_REPEAT_INTERVAL),data}function remove(element){let id=element[ELEMENT_ID];if(!id)return;let data=datas[id];data&&(`mouseleave`in data.events&&data.events.mouseleave(),updateEvents(id),delete datas[id],delete element[ELEMENT_ID])}function updateEvents(id,events$3={}){let data=datas[id];if(data){for(let event in data.events)data.element.removeEventListener(event,data.events[event]);for(let event in events$3)data.element.addEventListener(event,events$3[event]);data.events=events$3}}var BngClick_default={mounted:(el,binding)=>{let data=update$5(el,binding),approveEvent=evt=>data.controllerOnly?!!evt.fromController:evt.button===0||evt.fromController,tmrHoldActive;updateEvents(data.id,{mousedown:e=>{approveEvent(e)&&(el.style.setProperty(HOLD_CSS_TIME_VAR,`${data.binding.holdDelay}ms`),el.classList.toggle(HOLD_START_CSS_CLASS,!0),clearTimeout(tmrHoldActive),tmrHoldActive=setTimeout(()=>el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!0),0),el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!1),canInvokeEventType(EVENT_CLICK)&&(detectedEventType=EVENT_CLICK),canInvokeEventType(EVENT_HOLD)&&startHoldDelayTimer(e))},mouseup:e=>{if(approveEvent(e)){switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_CLICK:doAction(EVENT_CLICK,e);break;case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null}},mouseleave:()=>{switch(el.style.removeProperty(HOLD_CSS_TIME_VAR),el.classList.toggle(HOLD_START_CSS_CLASS,!1),el.classList.toggle(HOLD_ACTIVE_CSS_CLASS,!1),clearTimeout(tmrHoldActive),stopHoldDelayTimer(),detectedEventType){case EVENT_HOLD:stopHoldTimer();break}detectedEventType=null},blur:()=>data.events.mouseleave()});let detectedEventType,holdDelayTimer,holdTimer;function startHoldDelayTimer(e){stopHoldTimer(),stopHoldDelayTimer(),holdDelayTimer=setTimeout(()=>{el.classList.toggle(HOLD_COMPLETED_CSS_CLASS,!0),detectedEventType=EVENT_HOLD,startHoldTimer(e)},data.binding.holdDelay)}function stopHoldDelayTimer(){holdDelayTimer&&=(clearTimeout(holdDelayTimer),null)}function startHoldTimer(e){doAction(EVENT_HOLD,e),data.binding.repeatInterval&&(stopHoldTimer(),holdTimer=setInterval(()=>{doAction(EVENT_HOLD,e)},data.binding.repeatInterval))}function stopHoldTimer(){holdTimer&&=(clearInterval(holdTimer),null)}function doAction(eventType,originalEvent){let callback=getCallback(eventType);callback&&(eventType==EVENT_HOLD?setTimeout(()=>callback(originalEvent),100):callback(originalEvent))}function getCallback(arg){switch(arg){case EVENT_CLICK:return data.binding.clickCallback;case EVENT_HOLD:return data.binding.holdCallback}return null}function canInvokeEventType(eventType){switch(eventType){case EVENT_CLICK:return data.hasClick;case EVENT_HOLD:return data.hasHold}return!1}},updated:update$5,beforeUnmount:remove},BngDisabled_default=(el,{value})=>{let has$1={disabled:el.hasAttribute(`disabled`),tabindex:el.hasAttribute(`tabindex`)};!has$1.disabled&&value?(el.setAttribute(`disabled`,`disabled`),has$1.tabindex&&(el._BNG_TABINDEX=el.getAttribute(`tabindex`),el.setAttribute(`tabindex`,`-1`))):has$1.disabled&&!value&&(el.removeAttribute(`disabled`),has$1.tabindex&&`_BNG_TABINDEX`in el&&el.getAttribute(`tabindex`)!==el._BNG_TABINDEX&&(el.setAttribute(`tabindex`,el._BNG_TABINDEX),delete el._BNG_TABINDEX))},DELAY=300,EVENTS_IN=[`uinav-focus`,`focus`,`focusin`],EVENTS_OUT=[`uinav-blur`,`blur`,`focusout`],elems$1=new Map,globInit=!1;function initGlobals(){globInit=!0;let running=!1,targets={in:[],out:[]};function preventer(){for(let[part,list]of Object.entries(targets))if(list.length!==0){for(let target of list)for(let[uid$2,data]of elems$1)if(!(!data.capture||!data.timer||!data.element)){if(part===`in`){if(data.element===target||data.element.contains(target))continue}else if(data.element!==target&&!data.element.contains(target))continue;clearTimeout(data.timer),data.timer=null;break}list.splice(0)}}function handler$1(evt,eventIn){if(elems$1.size===0)return;let target=evt.detail?.target||evt.target;if(!target)return;let part=eventIn?`in`:`out`;targets[part].includes(target)||targets[part].push(target),!running&&(running=!0,window.requestAnimationFrame(()=>{preventer(),running=!1}))}EVENTS_IN.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!0),!0)),EVENTS_OUT.forEach(evt=>document.addEventListener(evt,evt$1=>handler$1(evt$1,!1),!0))}function createHandler(data){return data.capture?evt=>{evt.detail?.doubleToSingle||(evt.preventDefault(),evt.stopImmediatePropagation(),data.timer?(clearTimeout(data.timer),data.timer=null,data.callback?.()):data.timer=setTimeout(()=>{data.timer=null;let click$1=new CustomEvent(`click`,{...evt,bubbles:!0,cancelable:!0,detail:{doubleToSingle:!0}});data.element.dispatchEvent(click$1)},DELAY))}:()=>{data.timer&&=(clearTimeout(data.timer),null);let now$1=Date.now();if(data.time&&now$1-data.time<=DELAY){data.time=0,data.callback?.();return}data.time=now$1}}function update$4(vnode,callback=void 0,mod={}){!globInit&&initGlobals();let el=vnode?.el;if(!el)return;let uid$2=vnode?.component?.uid||vnode?.key||el,capture=!!mod.capture,data=elems$1.get(uid$2)||{};data.handler&&data.element===el&&callback&&`callback`in data&&data.callback===callback&&data.capture===capture||(`element`in data||(data.element=el,data.callback=callback,data.capture=capture),data.handler&&(!callback||data.capture!==capture||data.element!==el)&&(delete data.callback,el.removeEventListener(`click`,data.handler,{capture:data.capture}),elems$1.delete(uid$2)),callback&&(data.handler?data.callback=callback:(data.capture=capture,data.handler=createHandler(data),el.addEventListener(`click`,data.handler,{capture}),elems$1.set(uid$2,data))))}var BngDoubleClick_default={mounted:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),updated:(el,{value,modifiers,arg}={},vnode)=>update$4(vnode||{el},value,{capture:arg===`capture`,...modifiers}),unmounted:(el,vnode)=>update$4(vnode||{el})},DRAG_START_EVENT_NAME=`bngDragStart`,DRAG_OVER_EVENT_NAME=`bngDragOver`,DRAG_END_EVENT_NAME=`bngDragEnd`;const DRAG_EVENTS=Object.freeze({dragStart:DRAG_START_EVENT_NAME,dragOver:DRAG_OVER_EVENT_NAME,dragEnd:DRAG_END_EVENT_NAME});var STORE_NAME=`controls`,store,DEVICE_ICONS={key:`keyboard`,mou:`mouseLMB`,vin:`smartphone2`,whe:`steeringWheelCommon`,gam:`gamepadOld`,xin:`gamepadOld`,default:`gamepad`};const CONTROL_LABELS={escape:`ESC`,enter:`⏎`,tab:`⭾`,capslock:`⇪`,backspace:`⌫`,delete:`Del`,insert:`Ins`,home:`Home`,end:`End`,pageup:`PG↑`,pagedown:`PG↓`,lshift:`L⇧`,rshift:`R⇧`,shift:`⇧`,lcontrol:`L Ctrl`,rcontrol:`R Ctrl`,lalt:`L Alt`,ralt:`R Alt`,left:`←`,right:`→`,up:`↑`,down:`↓`,space:`␣`,grave:`~`,backslash:`\\`,"/":`/`,comma:`,`,period:`.`,";":`;`,apostrophe:`'`,"[":`[`,"]":`]`,minus:`-`,"+":`NP+`,"*":`NP*`,numpaddivide:`NP/`,numpad0:`NP0`,numpad1:`NP1`,numpad2:`NP2`,numpad3:`NP3`,numpad4:`NP4`,numpad5:`NP5`,numpad6:`NP6`,numpad7:`NP7`,numpad8:`NP8`,numpad9:`NP9`,numpaddecimal:`NP.`,numpadenter:`NP⏎`,xaxis:`X Axis`,yaxis:`Y Axis`,zaxis:`Z Axis`,rzaxis:`R Z Axis`,thumblx:`L Thumb X`,thumbly:`L Thumb Y`,thumbrx:`R Thumb X`,thumbry:`R Thumb Y`};var controlLabel=control=>control.toLowerCase().split(/[ -]+/).map(ctl=>CONTROL_LABELS[ctl]||(ctl.startsWith(`button`)?`BTN`+ctl.substring(6):ctl)).join(` + `),CONTROL_ICONS={pc_mouse:{button0:`mouseLMB`,button1:`mouseRMB`,button2:`mouseMMB`,xaxis:`mouseXAxis`,yaxis:`mouseYAxis`,zaxis:`mouseWheel`},xbox:{btn_a:`xboxA`,btn_b:`xboxB`,btn_x:`xboxX`,btn_y:`xboxY`,btn_back:`xboxView`,btn_start:`xboxMenu`,btn_l:`xboxLB`,triggerl:`xboxLT`,btn_r:`xboxRB`,triggerr:`xboxRT`,dpov:`xboxDDown`,lpov:`xboxDLeft`,rpov:`xboxDRight`,upov:`xboxDUp`,thumblx:`xboxXAxis`,thumbly:`xboxYAxis`,thumbrx:`xboxXRot`,thumbry:`xboxYRot`,btn_lt:`xboxLSButton`,btn_rt:`xboxRSButton`},ps:{button1:`psCross`,button3:`psTriangle`,button0:`psSquare`,button2:`psCircle`,button8:`psCreate2`,button9:`psMenu2`,button4:`psL1`,button6:`psL2`,button5:`psR1`,button7:`psR2`,dpov:`psDDown`,lpov:`psDLeft`,rpov:`psDRight`,upov:`psDUp`,xaxis:`psLSX`,yaxis:`psLSY`,zaxis:`psRSX`,rzaxis:`psRSY`,rxaxis:`psL2`,ryaxis:`psR2`,button10:`psL3Button`,button11:`psR3Button`,button13:`psTrackpadPressCenter`}};const DEVICE_CONTROLS={pc_mouse:Object.keys(CONTROL_ICONS.pc_mouse),xbox:Object.keys(CONTROL_ICONS.xbox),ps:Object.keys(CONTROL_ICONS.ps)};var extendControlGroupNames=groups=>groups.reduce((res,group)=>(res.push(group),res.push({...group,controls:group.controls.map(ctl=>CONTROL_LABELS[ctl])}),res),[]),GROUPED_CONTROLS={pc_keyboard:extendControlGroupNames([{label:`↑↓←→`,controls:[`left`,`right`,`up`,`down`]},{label:`NP 8↑ 2↓ 4← 6→`,controls:[`numpad2`,`numpad4`,`numpad6`,`numpad8`]}]),xbox:extendControlGroupNames([{icon:`xboxDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`xboxThumbL`,controls:[`thumblx`,`thumbly`]},{icon:`xboxThumbR`,controls:[`thumbrx`,`thumbry`]}]),ps:extendControlGroupNames([{icon:`psDDefaultSolid`,controls:[`upov`,`dpov`,`lpov`,`rpov`]},{icon:`psLS`,controls:[`xaxis`,`yaxis`]},{icon:`psRS`,controls:[`zaxis`,`rzaxis`]}])},DEVICE_FAMILY={mouse:`pc_mouse`,keyboard:`pc_keyboard`,xinput:`xbox`,ps5:`ps`},CONTROL_ICON_KEYS=Object.keys(DEVICE_FAMILY),getViewerOverrides=(devName=void 0,imagePack=void 0)=>{let family;return imagePack&&(imagePack in DEVICE_FAMILY?family=DEVICE_FAMILY[imagePack]:imagePack in CONTROL_ICONS&&(family=imagePack)),!family&&devName&&(devName=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))||devName,devName in DEVICE_FAMILY?family=DEVICE_FAMILY[devName]:devName in CONTROL_ICONS&&(family=devName)),family?{family,icons:CONTROL_ICONS[family]||{},groups:GROUPED_CONTROLS[family]||[]}:null},DEVICE_ORDER=[`wheel`,`joystick`,`xinput`,`gamepad`,`mouse`,`keyboard`],makeStore=defineStore(STORE_NAME,()=>{let{events:events$3}=useBridge(),devNamesOrder=DEVICE_ORDER.map(devType=>devType+`0`),actions=ref([]),categories=ref({}),categoriesList=ref([]),bindings=ref([]),bindingsPerDevice=computed(()=>Object.fromEntries(bindings.value.map(b=>[b.devname,b]))),bindingTemplate=ref({}),controllers=ref({}),players=ref({}),lastDeviceOrder=ref([...devNamesOrder]),lastDevice=computed(()=>isKbm(lastDeviceOrder.value[0])?kbmDevNames:lastDeviceOrder.value[0]),lastControllers=computed(()=>lastDeviceOrder.value.filter(devName=>!isKbm(devName))),lastControllersSignature=computed(()=>lastControllers.value.sort().join(`::`)),isControllerUsed=computed(()=>!isKbm(lastDeviceOrder.value[0])),isControllerAvailable=computed(()=>lastDeviceOrder.value.some(devName=>!isKbm(devName))),lastDeviceSimple=computed(()=>isControllerUsed.value?lastDevice.value:null),getDevType=devName=>devName?devName.replace(/\d+$/,``):``,deviceSorter=(a$1,b)=>DEVICE_ORDER.indexOf(getDevType(a$1))-DEVICE_ORDER.indexOf(getDevType(b)),kbmDevNames=[`keyboard0`,`mouse0`].sort(deviceSorter),kbmShortNames=kbmDevNames.map(devName=>devName.slice(0,3)),isKbm=devName=>devName&&kbmShortNames.includes(devName.slice(0,3)),_receiveControlsData=data=>(controllers.value=data,_updateDeviceNotes()),_receivePlayersData=data=>players.value=data,_receiveBindingsData=_processBindingsData,_getBindingsData=()=>Lua_default.extensions.core_input_bindings.notifyUI(`Vue controls service needs the data`),connect=(state=!0)=>{let method=state?`on`:`off`;events$3[method](`ControllersChanged`,_receiveControlsData),events$3[method](`AssignedPlayersChanged`,_receivePlayersData),events$3[method](`InputBindingsChanged`,_receiveBindingsData),events$3[method](`RecentDevicesChanged`,_requestRecentDevices)},disconnect=()=>connect(!1),deviceIcon=deviceName=>DEVICE_ICONS[(deviceName||``).slice(0,3)]||DEVICE_ICONS.default;async function _requestRecentDevices(devNames=void 0){devNames||=await Lua_default.extensions.core_input_bindings.getRecentDevices(),!Array.isArray(devNames)||devNames.length===0?devNames=devNamesOrder:isKbm(devNames[0])&&(devNames=[...kbmDevNames,...devNames.filter(devName=>!isKbm(devName))]),lastDeviceOrder.value.splice(0,lastDeviceOrder.value.length,...devNames)}function*getBindingsIter(devFilter=[],useLastDeviceOrder=!1){if(!useLastDeviceOrder||devFilter.length>0)yield*bindings.value;else for(let devName of lastDeviceOrder.value){let binding=bindingsPerDevice.value[devName];binding&&(yield binding)}}let findBindingForAction=(action,devName=void 0,useLastDeviceOrder=!1)=>{let devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let found=binding.contents.bindings.find(b=>b.action===action);if(found){let help=getBindingDetails(binding.devname,found.control,action);if(help)return help.devName=binding.devname,help.imagePack=binding.contents.imagePack,help}}},findAllBindingsForAction=(action,devName=void 0,allDevices=!1,useLastDeviceOrder=!1)=>{let res=[],devFilter=devName?Array.isArray(devName)?devName:[devName]:[],bindingsIter=getBindingsIter(devFilter,useLastDeviceOrder);for(let binding of bindingsIter){if(devFilter.length>0&&!devFilter.includes(binding.devname))continue;let matches$1=binding.contents.bindings.filter(b=>b.action===action);if(matches$1.length>0)for(let match of matches$1){let help=getBindingDetails(binding.devname,match.control,action);help&&(!allDevices&&devFilter.length===0&&devFilter.push(binding.devname),help.devName=binding.devname,help.imagePack=binding.contents.imagePack,res.push(help))}}return res},defaultBindingEntry=(action,control)=>({...bindingTemplate.value,action,control}),isAxis=(device,control)=>{let c=controllers.value[device].controls[control];return c&&c.control_type==`axis`},bindingConflicts=(device,control,action)=>bindings.value.find(b=>b.devname==device).contents.bindings.filter(b=>b.control==control).filter(b=>b.action!=action).map(b=>({...b,...getBindingDetails(device,control,b.action),resolved:!1})),captureBinding=(modifiersAllowed=!0)=>{let controlCaptured=!1,eventsRegister={},d=defer(),capturingBinding=!0;function _listener(data){if(!capturingBinding||controlCaptured)return;let devName=data.devName;eventsRegister[devName]||(eventsRegister[devName]={axis:{},key:[null,null]});let eventData=eventsRegister[devName];d.notify(eventsRegister);let valid=!1,key0,key1,key0Parts,key1Parts,genericModifierKeys=[`lalt`,`lcontrol`,`lshift`,`ralt`,`rcontrol`,`rshift`];switch(data.controlType){case`axis`:if(!eventData.axis[data.control])eventData.axis[data.control]={first:data.value,last:data.value,accumulated:0};else{let detectionThreshold=devName.startsWith(`mouse`)?1:.5;eventData.axis[data.control].accumulated+=Math.abs(eventData.axis[data.control].last-data.value)/detectionThreshold,eventData.axis[data.control].last=data.value}valid=eventData.axis[data.control].accumulated>=1;break;case`button`:case`pov`:case`key`:if(eventData.key=[eventData.key.at(-1),data.control],key0=eventData.key[0],key1=eventData.key[1],key0&&key1){let validSet=!1;key0Parts=key0.split(` `),key1Parts=key1.split(` `),key0Parts.length===1&&key1Parts.length===2&&key1Parts[1]===key0Parts[0]&&(eventData.key[1]=key0,key1=key0,data.control=key0,modifiersAllowed||(valid=!1,validSet=!0)),validSet||(valid=key0===key1,!modifiersAllowed&&(key0Parts.length===2||genericModifierKeys.includes(data.control))&&(valid=!1)),data.value===0&&(eventData.key=[null,null])}break;default:console.error(`Unrecognised raw input controlType: `+JSON.stringify(data))}valid&&data.devName.startsWith(`mouse`)&&data.control===`button1`&&(valid=!1),valid&&(controlCaptured=!0,capturingBinding=!1,data.direction=data.controlType===`axis`?Math.sign(eventData.axis[data.control].last-eventData.axis[data.control].first):0,d.resolve(data),_captureHelper.stopListening())}return Lua_default.ActionMap.enableBindingCapturing(!0),Lua_default.setCEFTyping(!0),_captureHelper.stopListening=()=>{Lua_default.ActionMap.enableBindingCapturing(!1),Lua_default.WinInput.setForwardRawEvents(!1),Lua_default.setCEFTyping(!1),events$3.off(`RawInputChanged`,_listener)},events$3.on(`RawInputChanged`,_listener),Lua_default.WinInput.setForwardRawEvents(!0),d.promise},removeBinding=(device,control,action,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};deviceContents.bindings=[...deviceContents.bindings];let entryIndex=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action)||null;if(entryIndex)if(deviceContents.bindings.splice(entryIndex,1),mockSave){let deviceIndex=bindings.value.findIndex(b=>b.devname==device);bindings.value[deviceIndex].contents=deviceContents}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},addBinding=(device,bindingData,replace,mockSave)=>{let deviceContents={...bindings.value.find(b=>b.devname==device).contents};if(deviceContents.bindings=[...deviceContents.bindings],replace){let deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==bindingData.details.control&&b.action==bindingData.details.action);deviceContents[deprecatedIndex]=bindingData}else serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)},isFFBBound=()=>{for(let i=0;i{let ffbCapable=()=>Object.values(controllers.value).some(controller=>controller.ffbAxes&&Object.keys(controller.ffbAxes).length>0);return asRef?computed(()=>ffbCapable()):ffbCapable},getIsControllerAvailable=(asRef=!1)=>asRef?isControllerAvailable:isControllerAvailable.value,isWheelFound=vendorId=>{for(let b of bindings.value)if(b.devname.slice(0,3)===`whe`&&b.contents.vidpid.slice(4,8)==vendorId)return!0;return!1};function isFFBEnabled(asRef=!1){let filter=()=>bindings.value.filter(b=>b.devname.slice(0,3)!==`xin`).some(b=>b.contents.bindings.some(binding=>binding.action===`steering`&&binding.isForceEnabled));return asRef?computed(()=>filter()):filter()}function isPidVidFound(desiredVid,desiredPid,asRef=!1){let filter=()=>bindings.value.some(b=>{let vid=desiredVid===void 0?desiredVid:b.contents.vidpid.slice(4,8),pid$1=desiredPid===void 0?desiredPid:b.contents.vidpid.slice(0,4);return vid==desiredVid&&pid$1==desiredPid});return asRef?computed(()=>filter()):filter()}function getBindingDetails(device,control,action){let actionDetails=getActionDetails(action);if(!actionDetails){console.warn(`Action details not found: `,action);return}let deviceBindings=bindings.value.find(b=>b.devname===device).contents.bindings,common={icon:deviceIcon(device),title:actionDetails.title,desc:actionDetails.desc},details=deviceBindings.find(b=>b.control===control&&b.action===action)||defaultBindingEntry(action,control),isBindingAxis=isAxis(device,control);return{...bindingTemplate.value,...details,...common,isAxis:isBindingAxis,action:actionDetails.action,actionName:actionDetails.actionName}}function getActionDetails(action){let actionDetails=actions.value[action];if(actionDetails)return{...actionDetails,action:actionDetails.actionName}}function addNewBinding(bindingData){let{devname,control,action}=bindingData,device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents;deviceContents.bindings.push({...bindingTemplate.value,...bindingData,control,action}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function updateBinding(bindingData){let{devname,control,action}=bindingData,oldDevname=bindingData.oldDevname||devname,oldControl=bindingData.oldControl||control,device=bindings.value.find(b=>b.devname==oldDevname);if(!device){console.warn(`Device not found: `,oldDevname);return}let deviceContents=device.contents,deprecatedIndex=deviceContents.bindings.findIndex(b=>b.control==oldControl&&b.action==action);if(deprecatedIndex===-1){console.warn(`Binding not found: `,oldDevname,oldControl,action);return}if(devname===oldDevname)delete bindingData.oldDevname,delete bindingData.oldControl,deviceContents.bindings[deprecatedIndex]={...bindingData};else{deviceContents.bindings.splice(deprecatedIndex,1);let newDeviceContents=bindings.value.find(b=>b.devname===devname).contents;newDeviceContents.bindings.push({...bindingData,bindingTemplate:bindingTemplate.value}),serializeCheck(newDeviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)}serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function deleteBindings(bindingsData){let bindingsByDevname=bindingsData.reduce((acc,b)=>(acc[b.devname]=acc[b.devname]||[],acc[b.devname].push(b),acc),{});for(let devname in bindingsByDevname){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);continue}let deviceContents=device.contents;bindingsByDevname[devname].forEach(b=>{let index=deviceContents.bindings.findIndex(binding=>binding.control==b.control&&binding.action==b.action);index!==-1&&deviceContents.bindings.splice(index,1)}),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}}function deleteBinding({devname,control,action}){let device=bindings.value.find(b=>b.devname==devname);if(!device){console.warn(`Device not found: `,devname);return}let deviceContents=device.contents,index=deviceContents.bindings.findIndex(b=>b.control==control&&b.action==action);if(index===-1){console.warn(`Binding not found: Skipping...`,devname,control,action);return}deviceContents.bindings.splice(index,1),serializeCheck(deviceContents.name),Lua_default.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)}function getAllBindingsForAction(action,devName,asRef=!1){let filteredBindings=()=>bindings.value.filter(b=>(!devName||b.devname==devName)&&b.contents.bindings.find(a$1=>a$1.action===action)).flatMap(b=>b.contents.bindings.filter(x=>x.action===action).map(x=>({...x,...getBindingDetails(b.devname,x.control,x.action),devname:b.devname,action,actionName:action})));return asRef?computed(()=>filteredBindings()):filteredBindings()}let _captureHelper={devName:null,stopListening:null};function _updateDeviceNotes(){Object.values(bindings.value).forEach(({contents:bindingContents})=>{for(let id in controllers.value){let controller=controllers.value[id];if(bindingContents.vidpid==controller.vidpid){controller.notes=bindingContents.notes;break}}})}let lastBindingsData=null;function _processBindingsData(data){let newBindingsData=JSON.stringify(data);if(lastBindingsData===newBindingsData)return;if(lastBindingsData=newBindingsData,Array.isArray(data.bindings)||(data.bindings=[]),data.bindings.forEach(device=>{Array.isArray(device.contents.bindings)||(device.contents.bindings=Object.values(device.contents.bindings))}),bindingTemplate.value=data.bindingTemplate,bindings.value=data.bindings,!data.actionCategories||!data.bindingTemplate||data.bindings.length===0){logger_default.debug(`Did not receive bindings data. Timing issue?`);return}bindings.value.sort((a$1,b)=>deviceSorter(a$1.devname,b.devname)),devNamesOrder.splice(0),kbmDevNames.splice(0);for(let binding of data.bindings){let devName=binding.devname;devNamesOrder.includes(devName)||devNamesOrder.push(devName),isKbm(devName)&&kbmDevNames.push(devName),binding.icon=deviceIcon(devName)}_requestRecentDevices();let acts={};for(let act in data.actions)acts[act]={actionName:act,...data.actions[act]};for(let cat in actions.value=acts,categories.value=data.actionCategories,categories.value)typeof categories.value[cat]==`object`&&(categories.value[cat].actions=[]);for(let act in actions.value){let obj={key:act,...actions.value[act]};actions.value[act].cat in categories.value||(categories.value[actions.value[act].cat]={order:99,icon:`symbol_exclamation`,title:`UNDEFINED CATEGORY: `+actions.value[act].cat,desc:``,actions:[]}),categories.value[actions.value[act].cat].actions.push(obj)}for(let x in categoriesList.value=[],Object.entries(categories.value).forEach(([catName,cat])=>categoriesList.value.push({key:catName,...cat})),categoriesList.value)for(let y in categoriesList.value[x].actions)for(let z in categoriesList.value[x].actions[y].titleTranslated=$translate.instant(categoriesList.value[x].actions[y].title),categoriesList.value[x].actions[y].descTranslated=$translate.instant(categoriesList.value[x].actions[y].desc),categoriesList.value[x].actions[y].tags)categoriesList.value[x].actions[y].tagsTranslated||(categoriesList.value[x].actions[y].tagsTranslated=[]),categoriesList.value[x].actions[y].tagsTranslated[z]=$translate.instant(categoriesList.value[x].actions[y].tags[z]);_updateDeviceNotes()}function makeViewerObj({deviceKey,device,action,uiEvent,imagePack,controller=!1,actionVariants=!1,useLastDevice=!1}){let viewerObj,multiDevice=!1;if(device&&Array.isArray(device)&&device.length===0&&(device=void 0),Array.isArray(device)&&(device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),!device&&controller&&(device=lastControllers.value,device.length===0?device=void 0:device.length===1?device=device[0]:multiDevice=!0),uiEvent&&(action=ACTIONS_BY_UI_EVENT[uiEvent]),action?actionVariants?(viewerObj=_buildViewerObjVariants(findAllBindingsForAction(action,device,!1,useLastDevice)),actionVariants=!!viewerObj?.variants,actionVariants&&viewerObj.variants.sort((a$1,b)=>a$1.isInverted-b.isInverted)):viewerObj=findBindingForAction(action,device,useLastDevice):actionVariants=!1,deviceKey){let devName=viewerObj?.devName||(multiDevice?device[0]:device);viewerObj={icon:deviceIcon(devName),control:deviceKey,devName,imagePack:viewerObj?.imagePack||imagePack}}return viewerObj&&(_parseViewerObj(viewerObj,imagePack,actionVariants),viewerObj.variants&&viewerObj.variants.forEach(obj=>_parseViewerObj(obj,imagePack,actionVariants,device))),viewerObj}function _buildViewerObjVariants(viewerObjs){let len=viewerObjs?.length||0;if(len!==0)return len===1?viewerObjs[0]:{...viewerObjs[0],variants:viewerObjs}}let rgxCombo=/modifier(?\d+)[ -]+|[ -]*(?.+)/gi;function _parseViewerObj(viewerObj,imagePack=void 0,actionVariants=!1,devNames=void 0){let devName=viewerObj.devName;if(imagePack=viewerObj.imagePack||imagePack,!imagePack){let binding=bindings.value?.find(b=>b.devname===devName);binding?.contents?.imagePack&&(imagePack=binding.contents.imagePack),!imagePack&&devName&&(imagePack=CONTROL_ICON_KEYS.find(key=>devName.startsWith(key))),viewerObj.imagePack=imagePack}if(viewerObj.control.startsWith(`modifier`)){let matches$1=[...viewerObj.control.matchAll(rgxCombo)].map(m=>m.groups);if(matches$1.length>0){viewerObj.multiControls=[];for(let match of matches$1)if(match.mod){let modName=`customModifier`+match.mod,mod=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devName,!1,!1)):findBindingForAction(modName,devName);mod||=actionVariants?_buildViewerObjVariants(findAllBindingsForAction(modName,devNames,!1,!1)):findBindingForAction(modName,devNames),mod&&viewerObj.multiControls.push(mod)}else viewerObj.multiControls.push({devName,control:match.key,icon:viewerObj.icon,imagePack})}}_addCustomInfo(viewerObj),viewerObj.multiControls&&viewerObj.multiControls.forEach(_addCustomInfo)}function _addCustomInfo(viewerObj){let devOverrides=getViewerOverrides(viewerObj.devName,viewerObj.imagePack);viewerObj.family=devOverrides?.family;let ownIcon=devOverrides?.icons[viewerObj.control];viewerObj.special=!!ownIcon,viewerObj.ownGroups=devOverrides?.groups,viewerObj.special?viewerObj.ownIcon=ownIcon:viewerObj.control=controlLabel(viewerObj.control)}return connect(),_getBindingsData(),{categories:computed(()=>categories.value),categoriesList:computed(()=>categoriesList.value),controllers:computed(()=>controllers.value),players:computed(()=>players.value),bindingTemplate:computed(()=>bindingTemplate.value),lastDevice:lastDeviceSimple,lastDevices:lastDeviceOrder,lastControllers,lastControllersSignature,isControllerAvailable,isControllerUsed,showIfController:isControllerUsed,focusIfController:isControllerAvailable,addNewBinding,connect,deleteBinding,deleteBindings,disconnect,deviceIcon,findBindingForAction,findAllBindingsForAction,getActionDetails,getBindingDetails,getAllBindingsForAction,defaultBindingEntry,isAxis,bindingConflicts,captureBinding,removeBinding,addBinding,isFFBBound,isFFBEnabled,isFFBCapable,isGamepadAvailable:getIsControllerAvailable,isWheelFound,isPidVidFound,makeViewerObj,updateBinding}}),useStore=()=>store||=makeStore(),controls_default=useStore,direction=`right`,focusClass=`focus-visible`,isController$1={value:!1},now=()=>new Date().getTime(),inited=!1,gamepadInited=!1,elms$3=[];function setFocus(elm,enable=!0){if(enable){if(elm.classList.add(focusClass),elm===document.activeElement)return}else if(elm.classList.remove(focusClass),elm!==document.activeElement)return;try{enable&&focusOnElement(elm)}catch{}}function setFocusExternal(elm,enable=!0,attemptScroll=!0){return elm?(!gamepadInited&&gamepadInit(),enable&&!isController$1.value?(attemptScroll&&isOccluded(elm,!0)&&scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`down`),!1):(setFocus(elm,enable),!0)):!1}function ensureFocus(elm,onNextTick=!0){elm&&(!gamepadInited&&gamepadInit(),isController$1.value&&document.activeElement===elm&&!elm.classList.contains(focusClass)&&(onNextTick?nextTick(()=>elm&&setFocus(elm)):setFocus(elm)))}function gamepadInit(){gamepadInited||(gamepadInited=!0,isController$1=storeToRefs(controls_default()).focusIfController)}function init$1(){inited||(inited=!0,gamepadInit(),watch(isController$1,val=>{let active=document.activeElement;if(isNavigable$1(active)){let focused$1=active.classList.contains(focusClass);val&&!focused$1?setFocus(active,!0):!val&&focused$1&&setFocus(active,!1);return}if(val){if(priorityFocus())return;navigate(collectRects(direction),direction)&&window.requestAnimationFrame(()=>setFocus(document.activeElement,!0))}}))}function priorityFocus(){collectRects(direction);for(let{elm}of elms$3)if(isNavigable$1(elm))return setFocus(elm,!0),!0;return!1}function wantsFocus(elm,priority){inited||init$1();let dat=elms$3.find(itm=>itm.element===elm)||{elm,time:now()},isNew=!(`priority`in dat);if(typeof priority!=`number`||isNaN(priority)){if(!isNew){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx>-1&&elms$3.splice(idx,1)}return}dat.priority=priority,isNew&&elms$3.push(dat),elms$3.sort((a$1,b)=>b.priority-a$1.priority||b.time-a$1.time),collectRects(direction,elm.parentNode),isNew&&isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus()}function unwantsFocus(elm){let idx=elms$3.findIndex(itm=>itm.elm===elm);idx!==-1&&(elms$3.splice(idx,1),isController$1.value&&!isNavigable$1(document.activeElement)&&priorityFocus())}function initFocusVisible(){let raf=window.requestAnimationFrame,curFocused=null,holdFocus=!1;function notify(type,target,relatedTarget){let evt=new CustomEvent(`uinav-`+type,{bubbles:!0,cancelable:!0,detail:{target,relatedTarget}});document.dispatchEvent(evt)}function procFocus(target,relatedTarget){if(!(target&&target===curFocused)&&(relatedTarget===target&&(relatedTarget=void 0),relatedTarget&&doBlur(relatedTarget),curFocused&&=((!relatedTarget||relatedTarget!==curFocused)&&(relatedTarget=curFocused),doBlur(curFocused),null),target))try{if(target.disabled)return;if(`tabIndex`in target){if(typeof target.tabIndex==`string`&&target.tabIndex===`-1`||typeof target.tabIndex==`number`&&target.tabIndex===-1||target.tabIndex===``)return}else if(`contentEditable`in target){if(typeof target.contentEditable==`string`&&target.contentEditable!==`true`||typeof target.contentEditable==`boolean`&&!target.contentEditable)return}else return;let style=window.getComputedStyle(target);if(style.display===`none`||style.visibility===`hidden`||style.pointerEvents===`none`)return;if(isController$1.value&&target.classList.add(focusClass),curFocused=target,focusRegistry.includes(target)||focusRegistry.push(target),document.activeElement!==curFocused){holdFocus=!0;let holdFocusCounter=0;raf(function check(){!curFocused||holdFocusCounter>10||document.activeElement===curFocused?(holdFocus=!1,!curFocused||target!==curFocused?doBlur(target):notify(`focus`,curFocused,relatedTarget)):(holdFocusCounter++,curFocused.focus(),raf(check))})}else notify(`focus`,target,relatedTarget)}catch{}}function doBlur(target){if(target&&!(holdFocus&&target===curFocused))try{target.classList.remove(focusClass),target===curFocused&&(curFocused=null);let idx=focusRegistry.indexOf(target);idx!==-1&&(focusRegistry.splice(idx,1),notify(`blur`,target))}catch{}}document.addEventListener(`focusin`,evt=>procFocus(evt.target,evt.relatedTarget),!0),document.addEventListener(`focusout`,evt=>doBlur(evt.target),!0);let focusRegistry=[],originalFocus=HTMLElement.prototype.focus.__original__||HTMLElement.prototype.focus,originalBlur=HTMLElement.prototype.blur.__original__||HTMLElement.prototype.blur;HTMLElement.prototype.focus=function(...args){let target=this,prevFocused=document.activeElement;prevFocused.classList.contains(focusClass)||(focusRegistry.length>0?focusRegistry.forEach(elm=>elm!==target&&elm.blur()):document.querySelectorAll(`.`+focusClass).forEach(elm=>elm!==target&&doBlur(elm))),originalFocus.apply(target,args),procFocus(target,prevFocused)},HTMLElement.prototype.blur=function(...args){doBlur(this),originalBlur.apply(this,args)},HTMLElement.prototype.focus.__original__=originalFocus,HTMLElement.prototype.blur.__original__=originalBlur}var EVENT_CALLS=Object.entries({focus:[`uinav-focus`,`focus`,`focusin`,`click`],hide:[`mouseenter`],show:[`uinav-blur`,`blur`,`focusout`,`mouseleave`]}).reduce((res,[name,events$3])=>(events$3.forEach(event=>res[event]=name),res),{}),ID$1=`__bngFocusCapture`,elms$2={},isController;function setupController(){isController||(isController=storeToRefs(controls_default()).isControllerUsed,watch(isController,val=>{for(let data of Object.values(elms$2))val?data.show():data.hide()}))}function getClosestNavigable(elm){let target=collectRects(`down`,elm).down[0]?.dom;return target&&isNavigable$1(target)?target:null}function update$3(data,value,firstTime=!1){if(typeof value==`function`?(data.handler=()=>{let elm=value(data.parent);return elm?.$el||elm},delete data.disabled):typeof value==`boolean`&&!value?data.disabled=!0:delete data.disabled,data.disabled){if(data.hide(),!firstTime)for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]])}else for(let event in data.parent.appendChild(data.capture),data.show(),EVENT_CALLS)data.parent.addEventListener(event,data[EVENT_CALLS[event]])}var BngFocusCapture_default={mounted(elm,{arg,value}){setupController();let id=uniqueId(ID$1),parent=elm,capture=document.createElement(`div`),data={id,shown:!0,parent,capture,handler:()=>getClosestNavigable(data.parent)};elms$2[id]=data,parent[ID$1]=id,capture.className=`bng-focus-capture`,capture.style.setProperty(`position`,`absolute`,`important`),capture.style.setProperty(`display`,`block`,`important`),capture.style.setProperty(`top`,`0%`,`important`),capture.style.setProperty(`left`,`0%`,`important`),capture.style.setProperty(`width`,`100%`,`important`),capture.style.setProperty(`height`,`100%`,`important`),capture.style.setProperty(`z-index`,arg&&/^\d+$/.test(arg)?arg:`1000`,`important`),capture.style.setProperty(`pointer-events`,`all`,`important`),capture.setAttribute(`bng-nav-item`,``),capture.setAttribute(`tabindex`,`0`),data.focus=()=>{if(data.hide(),!isController.value)return;let active=document.activeElement;if(!(active!==data.capture&&data.parent.contains(active))&&data.handler){let elm$1=data.handler(data.parent);elm$1&&nextTick(()=>setFocusExternal(elm$1))}},data.hide=()=>{data.shown&&(data.shown=!1,capture.style.setProperty(`pointer-events`,`none`,`important`))},data.show=evt=>{if(data.shown||(data.shown=!0,data.disabled||!isController.value))return;let active=document.activeElement;if(data.parent.contains(active))return;let target=evt?.relatedTarget||evt?.target||active;data.parent.contains(target)||capture.style.setProperty(`pointer-events`,`all`,`important`)},update$3(data,value,!0)},updated(elm,{arg,value}){let id=elm[ID$1];if(!id)return;let data=elms$2[id];data&&update$3(data,value)},unmounted(elm){let id=elm[ID$1];if(!id)return;delete elm[ID$1];let data=elms$2[id];if(data){for(let event in data.capture.remove(),EVENT_CALLS)data.parent.removeEventListener(event,data[EVENT_CALLS[event]]);delete elms$2[id]}}},BngFocusIf_default=(el,{value})=>value&&nextTick(()=>{let shouldFocus=typeof value==`object`?value.value:value,findNavItem=typeof value==`object`?value.findNavItem:!1;if(!el||!shouldFocus)return;let targetEl=el;if(findNavItem){let navItems=el.querySelectorAll(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);navItems&&navItems.length>0&&(targetEl=navItems[0])}targetEl.focus();let blur$1=()=>{targetEl.classList.remove(`focus-visible`),targetEl.removeEventListener(`blur`,blur$1)};targetEl.addEventListener(`blur`,blur$1),targetEl.classList.add(`focus-visible`)}),elems=new WeakMap,curHorizontal=0,curVertical=0;function updateGE(horizontal=0,vertical=0){curHorizontal=horizontal,curVertical=vertical,bngApi.engineLua(`scenetree.OnlyGui:setFrustumCameraCenterOffset(Point2F(${horizontal}, ${vertical}))`)}var moveSpeed=1,smoothingUpdate;function updateGEsmooth(horizontal=0,vertical=0){if(smoothingUpdate){smoothingUpdate(horizontal,vertical);return}let dirH=1,dirV=1;function setDir(){dirH=horizontal>=curHorizontal?1:-1,dirV=vertical>=curVertical?1:-1}setDir(),smoothingUpdate=(h$1=0,v=0)=>{horizontal=h$1,vertical=v,setDir()},window.requestAnimationFrame(function(ms){let speed=moveSpeed/1e3,movH=curHorizontal,movV=curVertical,lastTime=ms,smoother=0;window.requestAnimationFrame(function step(ms$1){if(curHorizontal===horizontal&&curVertical===vertical){smoothingUpdate=null;return}smoother+=(ms$1-lastTime-smoother)*.02,lastTime=ms$1;let moveDelta=smoother*speed;movH+=moveDelta*dirH,movV+=moveDelta*dirV,(dirH>0&&movH>horizontal||dirH<0&&movH0&&movV>vertical||dirV<0&&movV{let updateDebounce=debounce(updateFrustum,50),updateWrapper=()=>updateDebounce(),resizeObserver=new ResizeObserver(updateWrapper);resizeObserver.observe(el),elems.set(el,{updateFrustum:updateDebounce,destroy:()=>{resizeObserver.disconnect(),window.removeEventListener(`resize`,updateWrapper),elems.delete(el),updateDebounce(0,0)}}),window.addEventListener(`resize`,updateWrapper);let curDirection=binding.arg||`left`,curSmooth=binding.modifiers.smooth,curState=binding.value===void 0?!0:!!binding.value;function updateFrustum(direction$1,enabled,smooth){direction$1||=curDirection,[`left`,`right`,`up`,`down`].includes(direction$1)?curDirection=direction$1:(console.error(`Frustum mover only supports left/right/up/down directions`),enabled=!1),typeof enabled!=`boolean`&&(enabled=curState),curState=enabled,typeof smooth!=`boolean`&&(smooth=curSmooth),curSmooth=smooth;let updater=smooth?updateGEsmooth:updateGE;if(!enabled){updater();return}let side=direction$1===`left`||direction$1===`right`?`width`:`height`,screenSize=window.screen[side],movePower=el.getBoundingClientRect()[side]/screenSize*power;movePower<.001?movePower=0:(direction$1===`left`||direction$1===`down`)&&(movePower=-movePower),updater(direction$1===`left`||direction$1===`right`?movePower:0,direction$1===`up`||direction$1===`down`?movePower:0)}},updated:(el,binding)=>{let itm=elems.get(el);itm&&itm.updateFrustum(binding.arg,!!binding.value,!!binding.modifiers.smooth)},unmounted:(el,binding)=>{let itm=elems.get(el);itm&&itm.destroy()}},highlighter=[``,``],rgxSanitize=str=>str.replace(/[\\[]\?:.\*\+\-]/g,`\\$1`),BngHighlighter_default=(el,binding,vnode,prevVnode)=>{if(vnode.children.length!==1||vnode.children[0].type.toString()!==`Symbol(v-txt)`){el.__highlightwarned||(el.__highlightwarned=!0,console.warn(`Only a single inner text v-node supported`,el));return}let res=vnode.children[0].children.replace(//g,`>`),highlight=binding.value;if(highlight){let rgx;if(highlight instanceof RegExp)highlight.test(res)&&(rgx=highlight);else{let searchCase=str=>binding.modifiers.case?str:str.toLowerCase(),searchSource=searchCase(res),checkString=str=>searchSource.indexOf(str)>-1,buildRegexp=str=>RegExp(`(${str})`,`gm`+(binding.modifiers.case?``:`i`));if(typeof highlight==`object`&&Array.isArray(highlight)){let found=[];for(let str of highlight)str&&(str=searchCase(String(str)),checkString(str)&&found.push(str));found.length>0&&(rgx=buildRegexp(found.map(str=>rgxSanitize(str)).join(`|`)))}else{let str=searchCase(String(highlight));checkString(str)&&(rgx=buildRegexp(rgxSanitize(str)))}}rgx&&(res=res.replace(rgx,`${highlighter[0]}$1${highlighter[1]}`))}el.innerHTML!==res&&(el.innerHTML=res)},ExecQueue=class{resolution={rejectThis:`rejectThis`,rejectOthers:`rejectOthers`,resolveThis:`resolveThis`,resolveOthers:`resolveOthers`,replaceWithReject:`replaceWithReject`,replaceWithResolve:`replaceWithResolve`,merge:`merge`};_queue=[];_processing=!1;_tick=0;_tickFunc=nextTick;_runningCount=0;_concurrency=1;constructor(tick=0,concurrency=1){this.tick=tick,this.concurrency=concurrency}get tick(){return this._tick}set tick(val){typeof val!=`number`&&(val=0),this._tick=val,this._tickFunc=val===0?func=>nextTick(func.bind(this)):func=>setTimeout(func.bind(this),this._tick)}get concurrency(){return this._concurrency}set concurrency(val){(typeof val!=`number`||val<1)&&(val=1),this._concurrency=val}shuffle(){this._shuffle=!0}async process(){if(!(this._processing||this._queue.length===0))for(this._processing=!0,this._shuffle&&=(this._queue=this._queue.sort(()=>Math.random()-.5),!1);this._runningCount0;){let item=this._queue.shift();if(!item)break;item.running=!0,this._runningCount++,this._processItem(item)}}async _processItem(item){try{let result=await item.func(...item.args);item.resolves?.forEach(resolve$1=>resolve$1?.(result))}catch(err){item.rejects.length>0?item.rejects?.forEach(reject=>reject?.(err)):console.error(err)}finally{this._runningCount--,this._tickFunc(()=>{this._processing=!1,this.process()})}}enqueue(name,func,args=[],conflicts={},resolve$1=null,reject=null){if(typeof conflicts==`object`&&Object.keys(conflicts).length>0)for(let i=this._queue.length-1;i>=0;i--){let item=this._queue[i];if(item.name in conflicts)switch(conflicts[item.name]){case this.resolution.merge:resolve$1&&item.resolves.push(resolve$1),reject&&item.rejects.push(reject);return;default:case this.resolution.rejectThis:reject?.(Error(`Function ${item.name} is rejected due to conflict`));return;case this.resolution.resolveThis:resolve$1?.();return;case this.resolution.rejectOthers:item.running||(item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is rejected due to conflict`))),this._queue.splice(i,1));break;case this.resolution.resolveOthers:case this.resolution.replaceWithResolve:item.running||(item.resolves?.forEach(resolve$2=>resolve$2?.()),this._queue.splice(i,1));break;case this.resolution.replaceWithReject:item.rejects?.forEach(reject$1=>reject$1?.(Error(`Function ${item.name} is replaced`))),this._queue.splice(i,1);break}}this._queue.push({name,func,args,resolves:[resolve$1],rejects:[reject]}),this._processing||(this._processing=!0,this._tickFunc(()=>{this._processing=!1,this.process()}))}promise(name,func,args=[],conflicts={}){return new Promise((resolve$1,reject)=>this.enqueue(name,func,args,conflicts,resolve$1,reject))}wrap(name,func,conflicts={}){return async(...args)=>await this.promise(name,func,args,conflicts)}},MAX_SIZE=500,OVERSIZE_LIMIT=100,CONCURRENCY_LIMIT=20,QUEUE_INTERVAL$1=0,OBS_ID=`__bngLazyImage`,cache=new Map,queue=new ExecQueue(QUEUE_INTERVAL$1,CONCURRENCY_LIMIT),observer$1=new IntersectionObserver(entries=>{for(let entry of entries)if(entry.isIntersecting){observer$1.unobserve(entry.target);let data=entry.target[OBS_ID];data.observed&&(data.observed=!1,queue.shuffle(),process(entry.target,data))}}),loadImage=url=>new Promise((resolve$1,reject)=>{let img=new Image;img.onload=async()=>{try{if(cache.sizeMAX_SIZE||img.height>MAX_SIZE)){let ratio=img.width/img.height,width$1,height$1;img.width>img.height?(width$1=MAX_SIZE,height$1=MAX_SIZE/ratio):(height$1=MAX_SIZE,width$1=MAX_SIZE*ratio);let cvs=new OffscreenCanvas(width$1,height$1);cvs.getContext(`2d`).drawImage(img,0,0,width$1,height$1);let bmp=await createImageBitmap(cvs);cache.set(img.src,{url,bmp})}}catch(err){reject(err)}resolve$1({url})},img.onerror=()=>reject(Error(`Failed to load image`)),img.src=url});function process(el,data){let{url,callback}=data,apply$1=imgData=>callback(el,imgData.url,imgData.bmp);if(cache.has(url)){apply$1(cache.get(url));return}apply$1(emptyImage),queue.enqueue(url,loadImage,[url],{url:queue.resolution.merge},data$1=>{apply$1(data$1)},err=>{logger_default.error(err),apply$1(url)})}function update$2(el,{arg,value}){let data={url:void 0,target:`src`,callback:void 0};if(typeof value==`string`)data.url=value;else if(typeof value==`object`&&!Array.isArray(value)&&value.url){if(data.url=value.url,data.target=value.target,data.callback=typeof value.callback==`function`?value.callback:void 0,!data.url||!data.target&&!data.callback)return}else return;if(el[OBS_ID]){let old=el[OBS_ID];if(old.observed&&observer$1.unobserve(el),old.url===data.url&&old.target===data.target&&old.callback===data.callback)return}el[OBS_ID]=data,arg===`observe`?(data.observed=!0,observer$1.observe(el)):process(el,data)}var BngLazyImage_default={mounted:update$2,updated:update$2,unmounted(el){el[OBS_ID]&&(el[OBS_ID].observed&&observer$1.unobserve(el),delete el[OBS_ID])}},elms$1=new Map,observer=new ResizeObserver(observed$1);function observed$1(entries){for(let entry of entries)elms$1.has(entry.target)?update$1(entry.target):observer.unobserve(entry.target)}function update$1(elm,data=void 0){if(data||=elms$1.get(elm),data)if(isVisibleFast(elm)){let screen$1={width:window.innerWidth,height:window.innerHeight,scrollX:window.scrollX,scrollY:window.scrollY},rect=elm.getBoundingClientRect(),metrics={x:rect.left+screen$1.scrollX,y:rect.top+screen$1.scrollY,width:rect.width,height:rect.height};data.set(data.id,metrics.x/screen$1.width,metrics.y/screen$1.height,metrics.width/screen$1.width,metrics.height/screen$1.height)}else data.reset(data.id)}var UINAV_PROP=`__BngOnUiNav`,_handlerToElement=handler$1=>{let element;switch(typeof handler$1){case`string`:element=document.querySelectorAll(handler$1)[0];break;case`object`:element=handler$1;break}return element instanceof HTMLElement&&element},_generateSignature=(vnode,eventNames,modifiers)=>`${UINAV_PROP}[${vnode.ctx.uid}]:`+(typeof eventNames==`string`?eventNames.split(`,`):eventNames).sort().join(`,`)+[``,...Object.keys(modifiers)].sort().join(`.`),_normalizedEvents=eventNames=>eventNames===`*`?[]:eventNames.split(`,`),_getDirData=(element,signature)=>element[UINAV_PROP]?.find(dir=>dir.signature===signature);function setup$2(data,element,vnode){if(data.modifiers.asMouse){if(data.eventNames.find(name=>!isOnOffEvent(name))){window.BNG_Logger&&window.BNG_Logger.error(`UINav directive asMouse modifier is only supported for on/off type events`,element);return}setupAsMouse(data,vnode)}typeof data.handler==`function`&&(applyUiNav(data,element),applyTracker(data,element))}function setupAsMouse(data,vnode){let handlerElement=_handlerToElement(data.handler);handlerElement&&(vnode={el:handlerElement});let eventFirer$1=vnode.ctx?.exposed?.fireEvent||eventDispatcherForElement(vnode.el),checkElementDisabled=vnode.ctx?.exposed?.getDisabledState||(()=>vnode.el.hasAttribute(`disabled`));delete data.modifiers.down,delete data.modifiers.up,data.mousedownActive=!1,data.handler=({detail})=>{if(checkElementDisabled())return;let fromControllerMarker={fromController:detail};return detail.value?(eventFirer$1(`mousedown`,fromControllerMarker),data.mousedownActive=!0):(eventFirer$1(`mouseup`,fromControllerMarker),data.mousedownActive&&(data.mousedownActive=!1,eventFirer$1(`click`,fromControllerMarker))),!!data.modifiers.bubble}}function applyTracker(data,element){let uiNavTracker=useUINavTracker();data.modifiers.focusRequired?(element.addEventListener(`focusin`,evt=>{let prevDirs=evt.relatedTarget?.[UINAV_PROP];if(prevDirs)for(let dir of prevDirs)dir.modifiers.focusRequired&&(dir.tracked.forEach(name=>uiNavTracker.removeEvent(name,dir.signature,evt.relatedTarget)),dir.tracked=[]);let cur=_getDirData(element,data.signature);cur&&(cur.tracked.lengthuiNavTracker.updateEvent(name,cur.signature,element,{active:cur.modifiers.active,nogroup:cur.modifiers.nogroup})),cur.tracked=[...cur.eventNames]))}),element.addEventListener(`focusout`,evt=>{let cur=_getDirData(element,data.signature);if(!cur||cur.tracked.length>0)return;let nextDirs=evt.relatedTarget?.[UINAV_PROP];(!nextDirs||!nextDirs.some(directive=>directive.modifiers.focusRequired))&&(cur.tracked.forEach(name=>uiNavTracker.removeEvent(name,cur.signature,element)),cur.tracked=[])})):(data.eventNames.forEach(name=>uiNavTracker.updateEvent(name,data.signature,element,{active:data.modifiers.active,nogroup:data.modifiers.nogroup})),data.tracked=[...data.eventNames])}function applyUiNav(data,element){let valueChecker;data.modifiers.down?valueChecker=checkOn:data.modifiers.up?valueChecker=0:!data.modifiers.asMouse&&!data.eventNames.find(name=>!isOnOffEvent(name))&&(valueChecker=checkOn),data.uiNavHandler=handlers_default.add(element,{name:name=>data.eventNames.includes(name),value:valueChecker,modified:data.modifiers.modified||!1,focusRequired:data.modifiers.focusRequired?element:void 0},data.handler),element.setAttribute(UI_EVENT_ATTR,``)}function mounted$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let storage=element[UINAV_PROP]||(element[UINAV_PROP]=[]),signature=_generateSignature(vnode,eventNames,modifiers),data=storage.find(dir=>dir.signature===signature);data?window.BNG_Logger&&window.BNG_Logger.error(`Conflicting vBngOnUiNav directive on element`,element):(data={signature,eventNames:_normalizedEvents(eventNames),modifiers,handler:handler$1,uiNavHandler:null,mousedownActive:!1,tracked:[]},storage.push(data)),setup$2(data,element,vnode)}function updated$1(element,{arg:eventNames,value:handler$1,modifiers},vnode){modifiers||={};let data=_getDirData(element,_generateSignature(vnode,eventNames,modifiers));if(!data)return;typeof data.uiNavHandler==`function`&&handlers_default.remove(element,data.uiNavHandler);let normalizedEvents=_normalizedEvents(eventNames),oldEvents=data.tracked.filter(name=>!normalizedEvents.includes(name));if(oldEvents.length>0){let uiNavTracker=useUINavTracker();oldEvents.forEach(name=>uiNavTracker.removeEvent(name,data.signature,element)),data.tracked=data.tracked.filter(name=>normalizedEvents.includes(name))}data.eventNames=normalizedEvents,data.modifiers=modifiers,data.handler=handler$1,data.uiNavHandler=null,setup$2(data,element,vnode)}function dispose$1(element){let storage=element[UINAV_PROP];if(!storage)return;let uiNavTracker=useUINavTracker();storage.forEach(directive=>{directive.tracked.length>0&&directive.tracked.forEach(name=>uiNavTracker.removeEvent(name,directive.signature,element)),directive.uiNavHandler&&handlers_default.remove(element,directive.uiNavHandler)}),element.removeAttribute(UI_EVENT_ATTR),delete element[UINAV_PROP]}var BngOnUiNav_default={mounted:mounted$1,updated:updated$1,beforeUnmount:dispose$1},DIRECTIONS={horizontal:{[UI_EVENTS.focus_l]:-1,[UI_EVENTS.focus_r]:1},vertical:{[UI_EVENTS.focus_d]:-1,[UI_EVENTS.focus_u]:1}},HOLD_DELAY=400,REPEAT_INTERVAL=100,ELEMENT_FLAG=`__BNG_ONUINAVFOCUS`,BngOnUiNavFocus_default={mounted:(element,binding,vnode)=>{if(!binding.value)return;let opts={direction:binding.arg||`horizontal`,repeat:!!binding.modifiers.repeat,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL,min:-1/0,max:1/0,step:1,value:null,callback:null,...typeof binding.value==`object`?binding.value:typeof binding.value==`function`?{callback:binding.value}:{}};!opts.events&&(opts.events=DIRECTIONS[opts.direction]);function process$1(evt){let detail=evt.fromController||evt.detail;if(!detail||!(detail.name in opts.events))return;let dir=opts.events[detail.name],val;if(typeof opts.value==`function`){let cur=opts.value(),res=cur+(typeof opts.step==`function`?opts.step():opts.step)*dir;dir<0&&res0&&res>opts.max&&(res=opts.max);let precision=10**(opts.step+`.`).split(/[.,]/)[1].length;res=precision>0?Math.round(res*precision)/precision:Math.round(res),cur===res?dir=0:val=res}dir&&opts.callback&&opts.callback(dir,val)}let dirUINav={arg:Object.keys(opts.events).join(`,`),modifiers:{focusRequired:!0,asMouse:!0}},dirClick={value:{clickCallback:process$1,holdCallback:opts.repeat?process$1:void 0,holdDelay:HOLD_DELAY,repeatInterval:REPEAT_INTERVAL}};BngOnUiNav_default.mounted(element,dirUINav,vnode),BngClick_default.mounted(element,dirClick,vnode),element[ELEMENT_FLAG]=!0},beforeUnmount:element=>{element[ELEMENT_FLAG]&&(BngClick_default.beforeUnmount(element),BngOnUiNav_default.beforeUnmount(element))}},DEFAULT_OPTS={intiallyOpen:!1,navEventToOpen:UI_EVENTS.ok,navEventToClose:UI_EVENTS.back},min=Math.min,max=Math.max,round$1=Math.round,floor=Math.floor,createCoords=v=>({x:v,y:v}),oppositeSideMap={left:`right`,right:`left`,bottom:`top`,top:`bottom`},oppositeAlignmentMap={start:`end`,end:`start`};function clamp$1(start,value,end){return max(start,min(value,end))}function evaluate(value,param){return typeof value==`function`?value(param):value}function getSide(placement){return placement.split(`-`)[0]}function getAlignment(placement){return placement.split(`-`)[1]}function getOppositeAxis(axis){return axis===`x`?`y`:`x`}function getAxisLength(axis){return axis===`y`?`height`:`width`}var yAxisSides=new Set([`top`,`bottom`]);function getSideAxis(placement){return yAxisSides.has(getSide(placement))?`y`:`x`}function getAlignmentAxis(placement){return getOppositeAxis(getSideAxis(placement))}function getAlignmentSides(placement,rects,rtl){rtl===void 0&&(rtl=!1);let alignment=getAlignment(placement),alignmentAxis=getAlignmentAxis(placement),length=getAxisLength(alignmentAxis),mainAlignmentSide=alignmentAxis===`x`?alignment===(rtl?`end`:`start`)?`right`:`left`:alignment===`start`?`bottom`:`top`;return rects.reference[length]>rects.floating[length]&&(mainAlignmentSide=getOppositePlacement(mainAlignmentSide)),[mainAlignmentSide,getOppositePlacement(mainAlignmentSide)]}function getExpandedPlacements(placement){let oppositePlacement=getOppositePlacement(placement);return[getOppositeAlignmentPlacement(placement),oppositePlacement,getOppositeAlignmentPlacement(oppositePlacement)]}function getOppositeAlignmentPlacement(placement){return placement.replace(/start|end/g,alignment=>oppositeAlignmentMap[alignment])}var lrPlacement=[`left`,`right`],rlPlacement=[`right`,`left`],tbPlacement=[`top`,`bottom`],btPlacement=[`bottom`,`top`];function getSideList(side,isStart,rtl){switch(side){case`top`:case`bottom`:return rtl?isStart?rlPlacement:lrPlacement:isStart?lrPlacement:rlPlacement;case`left`:case`right`:return isStart?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(placement,flipAlignment,direction$1,rtl){let alignment=getAlignment(placement),list=getSideList(getSide(placement),direction$1===`start`,rtl);return alignment&&(list=list.map(side=>side+`-`+alignment),flipAlignment&&(list=list.concat(list.map(getOppositeAlignmentPlacement)))),list}function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,side=>oppositeSideMap[side])}function expandPaddingObject(padding){return{top:0,right:0,bottom:0,left:0,...padding}}function getPaddingObject(padding){return typeof padding==`number`?{top:padding,right:padding,bottom:padding,left:padding}:expandPaddingObject(padding)}function rectToClientRect(rect){let{x,y,width:width$1,height:height$1}=rect;return{width:width$1,height:height$1,top:y,left:x,right:x+width$1,bottom:y+height$1,x,y}}function computeCoordsFromPlacement(_ref,placement,rtl){let{reference,floating}=_ref,sideAxis=getSideAxis(placement),alignmentAxis=getAlignmentAxis(placement),alignLength=getAxisLength(alignmentAxis),side=getSide(placement),isVertical=sideAxis===`y`,commonX=reference.x+reference.width/2-floating.width/2,commonY=reference.y+reference.height/2-floating.height/2,commonAlign=reference[alignLength]/2-floating[alignLength]/2,coords;switch(side){case`top`:coords={x:commonX,y:reference.y-floating.height};break;case`bottom`:coords={x:commonX,y:reference.y+reference.height};break;case`right`:coords={x:reference.x+reference.width,y:commonY};break;case`left`:coords={x:reference.x-floating.width,y:commonY};break;default:coords={x:reference.x,y:reference.y}}switch(getAlignment(placement)){case`start`:coords[alignmentAxis]-=commonAlign*(rtl&&isVertical?-1:1);break;case`end`:coords[alignmentAxis]+=commonAlign*(rtl&&isVertical?-1:1);break}return coords}var computePosition$1=async(reference,floating,config)=>{let{placement=`bottom`,strategy=`absolute`,middleware=[],platform:platform$1}=config,validMiddleware=middleware.filter(Boolean),rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(floating)),rects=await platform$1.getElementRects({reference,floating,strategy}),{x,y}=computeCoordsFromPlacement(rects,placement,rtl),statefulPlacement=placement,middlewareData={},resetCount=0;for(let i=0;i({name:`arrow`,options,async fn(state){let{x,y,placement,rects,platform:platform$1,elements,middlewareData}=state,{element,padding=0}=evaluate(options,state)||{};if(element==null)return{};let paddingObject=getPaddingObject(padding),coords={x,y},axis=getAlignmentAxis(placement),length=getAxisLength(axis),arrowDimensions=await platform$1.getDimensions(element),isYAxis=axis===`y`,minProp=isYAxis?`top`:`left`,maxProp=isYAxis?`bottom`:`right`,clientProp=isYAxis?`clientHeight`:`clientWidth`,endDiff=rects.reference[length]+rects.reference[axis]-coords[axis]-rects.floating[length],startDiff=coords[axis]-rects.reference[axis],arrowOffsetParent=await(platform$1.getOffsetParent==null?void 0:platform$1.getOffsetParent(element)),clientSize=arrowOffsetParent?arrowOffsetParent[clientProp]:0;(!clientSize||!await(platform$1.isElement==null?void 0:platform$1.isElement(arrowOffsetParent)))&&(clientSize=elements.floating[clientProp]||rects.floating[length]);let centerToReference=endDiff/2-startDiff/2,largestPossiblePadding=clientSize/2-arrowDimensions[length]/2-1,minPadding=min(paddingObject[minProp],largestPossiblePadding),maxPadding=min(paddingObject[maxProp],largestPossiblePadding),min$1=minPadding,max$1=clientSize-arrowDimensions[length]-maxPadding,center=clientSize/2-arrowDimensions[length]/2+centerToReference,offset$2=clamp$1(min$1,center,max$1),shouldAddOffset=!middlewareData.arrow&&getAlignment(placement)!=null&¢er!==offset$2&&rects.reference[length]/2-(centerside$1<=0)){var _middlewareData$flip2,_overflowsData$filter;let nextIndex=(middlewareData.flip?.index||0)+1,nextPlacement=placements$1[nextIndex];if(nextPlacement&&(!(checkCrossAxis===`alignment`&&initialSideAxis!==getSideAxis(nextPlacement))||overflowsData.every(d=>getSideAxis(d.placement)===initialSideAxis?d.overflows[0]>0:!0)))return{data:{index:nextIndex,overflows:overflowsData},reset:{placement:nextPlacement}};let resetPlacement=overflowsData.filter(d=>d.overflows[0]<=0).sort((a$1,b)=>a$1.overflows[1]-b.overflows[1])[0]?.placement;if(!resetPlacement)switch(fallbackStrategy){case`bestFit`:{var _overflowsData$filter2;let placement$1=overflowsData.filter(d=>{if(hasFallbackAxisSideDirection){let currentSideAxis=getSideAxis(d.placement);return currentSideAxis===initialSideAxis||currentSideAxis===`y`}return!0}).map(d=>[d.placement,d.overflows.filter(overflow$1=>overflow$1>0).reduce((acc,overflow$1)=>acc+overflow$1,0)]).sort((a$1,b)=>a$1[1]-b[1])[0]?.[0];placement$1&&(resetPlacement=placement$1);break}case`initialPlacement`:resetPlacement=initialPlacement;break}if(placement!==resetPlacement)return{reset:{placement:resetPlacement}}}return{}}}},originSides=new Set([`left`,`top`]);async function convertValueToCoords(state,options){let{placement,platform:platform$1,elements}=state,rtl=await(platform$1.isRTL==null?void 0:platform$1.isRTL(elements.floating)),side=getSide(placement),alignment=getAlignment(placement),isVertical=getSideAxis(placement)===`y`,mainAxisMulti=originSides.has(side)?-1:1,crossAxisMulti=rtl&&isVertical?-1:1,rawValue=evaluate(options,state),{mainAxis,crossAxis,alignmentAxis}=typeof rawValue==`number`?{mainAxis:rawValue,crossAxis:0,alignmentAxis:null}:{mainAxis:rawValue.mainAxis||0,crossAxis:rawValue.crossAxis||0,alignmentAxis:rawValue.alignmentAxis};return alignment&&typeof alignmentAxis==`number`&&(crossAxis=alignment===`end`?alignmentAxis*-1:alignmentAxis),isVertical?{x:crossAxis*crossAxisMulti,y:mainAxis*mainAxisMulti}:{x:mainAxis*mainAxisMulti,y:crossAxis*crossAxisMulti}}var offset$1=function(options){return options===void 0&&(options=0),{name:`offset`,options,async fn(state){var _middlewareData$offse,_middlewareData$arrow;let{x,y,placement,middlewareData}=state,diffCoords=await convertValueToCoords(state,options);return placement===middlewareData.offset?.placement&&(_middlewareData$arrow=middlewareData.arrow)!=null&&_middlewareData$arrow.alignmentOffset?{}:{x:x+diffCoords.x,y:y+diffCoords.y,data:{...diffCoords,placement}}}}},shift$1=function(options){return options===void 0&&(options={}),{name:`shift`,options,async fn(state){let{x,y,placement}=state,{mainAxis:checkMainAxis=!0,crossAxis:checkCrossAxis=!1,limiter={fn:_ref=>{let{x:x$1,y:y$1}=_ref;return{x:x$1,y:y$1}}},...detectOverflowOptions}=evaluate(options,state),coords={x,y},overflow=await detectOverflow$1(state,detectOverflowOptions),crossAxis=getSideAxis(getSide(placement)),mainAxis=getOppositeAxis(crossAxis),mainAxisCoord=coords[mainAxis],crossAxisCoord=coords[crossAxis];if(checkMainAxis){let minSide=mainAxis===`y`?`top`:`left`,maxSide=mainAxis===`y`?`bottom`:`right`,min$1=mainAxisCoord+overflow[minSide],max$1=mainAxisCoord-overflow[maxSide];mainAxisCoord=clamp$1(min$1,mainAxisCoord,max$1)}if(checkCrossAxis){let minSide=crossAxis===`y`?`top`:`left`,maxSide=crossAxis===`y`?`bottom`:`right`,min$1=crossAxisCoord+overflow[minSide],max$1=crossAxisCoord-overflow[maxSide];crossAxisCoord=clamp$1(min$1,crossAxisCoord,max$1)}let limitedCoords=limiter.fn({...state,[mainAxis]:mainAxisCoord,[crossAxis]:crossAxisCoord});return{...limitedCoords,data:{x:limitedCoords.x-x,y:limitedCoords.y-y,enabled:{[mainAxis]:checkMainAxis,[crossAxis]:checkCrossAxis}}}}}};function hasWindow(){return typeof window<`u`}function getNodeName(node){return isNode(node)?(node.nodeName||``).toLowerCase():`#document`}function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}function getDocumentElement(node){var _ref;return((isNode(node)?node.ownerDocument:node.document)||window.document)?.documentElement}function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}function isElement(value){return hasWindow()?value instanceof Element||value instanceof getWindow(value).Element:!1}function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>`u`?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}var invalidOverflowDisplayValues=new Set([`inline`,`contents`]);function isOverflowElement(element){let{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!invalidOverflowDisplayValues.has(display)}var tableElements=new Set([`table`,`td`,`th`]);function isTableElement(element){return tableElements.has(getNodeName(element))}var topLayerSelectors=[`:popover-open`,`:modal`];function isTopLayer(element){return topLayerSelectors.some(selector=>{try{return element.matches(selector)}catch{return!1}})}var transformProperties=[`transform`,`translate`,`scale`,`rotate`,`perspective`],willChangeValues=[`transform`,`translate`,`scale`,`rotate`,`perspective`,`filter`],containValues=[`paint`,`layout`,`strict`,`content`];function isContainingBlock(elementOrCss){let webkit=isWebKit(),css=isElement(elementOrCss)?getComputedStyle$1(elementOrCss):elementOrCss;return transformProperties.some(value=>css[value]?css[value]!==`none`:!1)||(css.containerType?css.containerType!==`normal`:!1)||!webkit&&(css.backdropFilter?css.backdropFilter!==`none`:!1)||!webkit&&(css.filter?css.filter!==`none`:!1)||willChangeValues.some(value=>(css.willChange||``).includes(value))||containValues.some(value=>(css.contain||``).includes(value))}function getContainingBlock(element){let currentNode=getParentNode(element);for(;isHTMLElement(currentNode)&&!isLastTraversableNode(currentNode);){if(isContainingBlock(currentNode))return currentNode;if(isTopLayer(currentNode))return null;currentNode=getParentNode(currentNode)}return null}function isWebKit(){return typeof CSS>`u`||!CSS.supports?!1:CSS.supports(`-webkit-backdrop-filter`,`none`)}var lastTraversableNodeNames=new Set([`html`,`body`,`#document`]);function isLastTraversableNode(node){return lastTraversableNodeNames.has(getNodeName(node))}function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}function getNodeScroll(element){return isElement(element)?{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}:{scrollLeft:element.scrollX,scrollTop:element.scrollY}}function getParentNode(node){if(getNodeName(node)===`html`)return node;let result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}function getNearestOverflowAncestor(node){let parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);let scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===node.ownerDocument?.body,win=getWindow(scrollableAncestor);if(isBody){let frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}function getCssDimensions(element){let css=getComputedStyle$1(element),width$1=parseFloat(css.width)||0,height$1=parseFloat(css.height)||0,hasOffset=isHTMLElement(element),offsetWidth=hasOffset?element.offsetWidth:width$1,offsetHeight=hasOffset?element.offsetHeight:height$1,shouldFallback=round$1(width$1)!==offsetWidth||round$1(height$1)!==offsetHeight;return shouldFallback&&(width$1=offsetWidth,height$1=offsetHeight),{width:width$1,height:height$1,$:shouldFallback}}function unwrapElement$1(element){return isElement(element)?element:element.contextElement}function getScale(element){let domElement=unwrapElement$1(element);if(!isHTMLElement(domElement))return createCoords(1);let rect=domElement.getBoundingClientRect(),{width:width$1,height:height$1,$}=getCssDimensions(domElement),x=($?round$1(rect.width):rect.width)/width$1,y=($?round$1(rect.height):rect.height)/height$1;return(!x||!Number.isFinite(x))&&(x=1),(!y||!Number.isFinite(y))&&(y=1),{x,y}}var noOffsets=createCoords(0);function getVisualOffsets(element){let win=getWindow(element);return!isWebKit()||!win.visualViewport?noOffsets:{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){return isFixed===void 0&&(isFixed=!1),!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)?!1:isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){includeScale===void 0&&(includeScale=!1),isFixedStrategy===void 0&&(isFixedStrategy=!1);let clientRect=element.getBoundingClientRect(),domElement=unwrapElement$1(element),scale=createCoords(1);includeScale&&(offsetParent?isElement(offsetParent)&&(scale=getScale(offsetParent)):scale=getScale(element));let visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0),x=(clientRect.left+visualOffsets.x)/scale.x,y=(clientRect.top+visualOffsets.y)/scale.y,width$1=clientRect.width/scale.x,height$1=clientRect.height/scale.y;if(domElement){let win=getWindow(domElement),offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent,currentWin=win,currentIFrame=getFrameElement(currentWin);for(;currentIFrame&&offsetParent&&offsetWin!==currentWin;){let iframeScale=getScale(currentIFrame),iframeRect=currentIFrame.getBoundingClientRect(),css=getComputedStyle$1(currentIFrame),left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x,top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x,y*=iframeScale.y,width$1*=iframeScale.x,height$1*=iframeScale.y,x+=left,y+=top,currentWin=getWindow(currentIFrame),currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width$1,height:height$1,x,y})}function getWindowScrollBarX(element,rect){let leftScroll=getNodeScroll(element).scrollLeft;return rect?rect.left+leftScroll:getBoundingClientRect(getDocumentElement(element)).left+leftScroll}function getHTMLOffset(documentElement,scroll$1){let htmlRect=documentElement.getBoundingClientRect();return{x:htmlRect.left+scroll$1.scrollLeft-getWindowScrollBarX(documentElement,htmlRect),y:htmlRect.top+scroll$1.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements,rect,offsetParent,strategy}=_ref,isFixed=strategy===`fixed`,documentElement=getDocumentElement(offsetParent),topLayer=elements?isTopLayer(elements.floating):!1;if(offsetParent===documentElement||topLayer&&isFixed)return rect;let scroll$1={scrollLeft:0,scrollTop:0},scale=createCoords(1),offsets=createCoords(0),isOffsetParentAnElement=isHTMLElement(offsetParent);if((isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isHTMLElement(offsetParent))){let offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent),offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll$1.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll$1.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){let html=getDocumentElement(element),scroll$1=getNodeScroll(element),body=element.ownerDocument.body,width$1=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth),height$1=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight),x=-scroll$1.scrollLeft+getWindowScrollBarX(element),y=-scroll$1.scrollTop;return getComputedStyle$1(body).direction===`rtl`&&(x+=max(html.clientWidth,body.clientWidth)-width$1),{width:width$1,height:height$1,x,y}}var SCROLLBAR_MAX=25;function getViewportRect(element,strategy){let win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width$1=html.clientWidth,height$1=html.clientHeight,x=0,y=0;if(visualViewport){width$1=visualViewport.width,height$1=visualViewport.height;let visualViewportBased=isWebKit();(!visualViewportBased||visualViewportBased&&strategy===`fixed`)&&(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)}let windowScrollbarX=getWindowScrollBarX(html);if(windowScrollbarX<=0){let doc$1=html.ownerDocument,body=doc$1.body,bodyStyles=getComputedStyle(body),bodyMarginInline=doc$1.compatMode===`CSS1Compat`&&parseFloat(bodyStyles.marginLeft)+parseFloat(bodyStyles.marginRight)||0,clippingStableScrollbarWidth=Math.abs(html.clientWidth-body.clientWidth-bodyMarginInline);clippingStableScrollbarWidth<=SCROLLBAR_MAX&&(width$1-=clippingStableScrollbarWidth)}else windowScrollbarX<=SCROLLBAR_MAX&&(width$1+=windowScrollbarX);return{width:width$1,height:height$1,x,y}}var absoluteOrFixed=new Set([`absolute`,`fixed`]);function getInnerBoundingClientRect(element,strategy){let clientRect=getBoundingClientRect(element,!0,strategy===`fixed`),top=clientRect.top+element.clientTop,left=clientRect.left+element.clientLeft,scale=isHTMLElement(element)?getScale(element):createCoords(1);return{width:element.clientWidth*scale.x,height:element.clientHeight*scale.y,x:left*scale.x,y:top*scale.y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor===`viewport`)rect=getViewportRect(element,strategy);else if(clippingAncestor===`document`)rect=getDocumentRect(getDocumentElement(element));else if(isElement(clippingAncestor))rect=getInnerBoundingClientRect(clippingAncestor,strategy);else{let visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){let parentNode=getParentNode(element);return parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)?!1:getComputedStyle$1(parentNode).position===`fixed`||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache$1){let cachedResult=cache$1.get(element);if(cachedResult)return cachedResult;let result=getOverflowAncestors(element,[],!1).filter(el=>isElement(el)&&getNodeName(el)!==`body`),currentContainingBlockComputedStyle=null,elementIsFixed=getComputedStyle$1(element).position===`fixed`,currentNode=elementIsFixed?getParentNode(element):element;for(;isElement(currentNode)&&!isLastTraversableNode(currentNode);){let computedStyle=getComputedStyle$1(currentNode),currentNodeIsContaining=isContainingBlock(currentNode);!currentNodeIsContaining&&computedStyle.position===`fixed`&&(currentContainingBlockComputedStyle=null),(elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position===`static`&¤tContainingBlockComputedStyle&&absoluteOrFixed.has(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode))?result=result.filter(ancestor=>ancestor!==currentNode):currentContainingBlockComputedStyle=computedStyle,currentNode=getParentNode(currentNode)}return cache$1.set(element,result),result}function getClippingRect(_ref){let{element,boundary,rootBoundary,strategy}=_ref,clippingAncestors=[...boundary===`clippingAncestors`?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary),rootBoundary],firstClippingAncestor=clippingAncestors[0],clippingRect=clippingAncestors.reduce((accRect,clippingAncestor)=>{let rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);return accRect.top=max(rect.top,accRect.top),accRect.right=min(rect.right,accRect.right),accRect.bottom=min(rect.bottom,accRect.bottom),accRect.left=max(rect.left,accRect.left),accRect},getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){let{width:width$1,height:height$1}=getCssDimensions(element);return{width:width$1,height:height$1}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){let isOffsetParentAnElement=isHTMLElement(offsetParent),documentElement=getDocumentElement(offsetParent),isFixed=strategy===`fixed`,rect=getBoundingClientRect(element,!0,isFixed,offsetParent),scroll$1={scrollLeft:0,scrollTop:0},offsets=createCoords(0);function setLeftRTLScrollbarOffset(){offsets.x=getWindowScrollBarX(documentElement)}if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)if((getNodeName(offsetParent)!==`body`||isOverflowElement(documentElement))&&(scroll$1=getNodeScroll(offsetParent)),isOffsetParentAnElement){let offsetRect=getBoundingClientRect(offsetParent,!0,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft,offsets.y=offsetRect.y+offsetParent.clientTop}else documentElement&&setLeftRTLScrollbarOffset();isFixed&&!isOffsetParentAnElement&&documentElement&&setLeftRTLScrollbarOffset();let htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll$1):createCoords(0);return{x:rect.left+scroll$1.scrollLeft-offsets.x-htmlOffset.x,y:rect.top+scroll$1.scrollTop-offsets.y-htmlOffset.y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position===`static`}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position===`fixed`)return null;if(polyfill)return polyfill(element);let rawOffsetParent=element.offsetParent;return getDocumentElement(element)===rawOffsetParent&&(rawOffsetParent=rawOffsetParent.ownerDocument.body),rawOffsetParent}function getOffsetParent(element,polyfill){let win=getWindow(element);if(isTopLayer(element))return win;if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);for(;svgOffsetParent&&!isLastTraversableNode(svgOffsetParent);){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent))return svgOffsetParent;svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);for(;offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent);)offsetParent=getTrueOffsetParent(offsetParent,polyfill);return offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)?win:offsetParent||getContainingBlock(element)||win}var getElementRects=async function(data){let getOffsetParentFn=this.getOffsetParent||getOffsetParent,getDimensionsFn=this.getDimensions,floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction===`rtl`}var platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(a$1,b){return a$1.x===b.x&&a$1.y===b.y&&a$1.width===b.width&&a$1.height===b.height}function observeMove(element,onMove){let io=null,timeoutId,root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId),(_io=io)==null||_io.disconnect(),io=null}function refresh$1(skip,threshold){skip===void 0&&(skip=!1),threshold===void 0&&(threshold=1),cleanup();let elementRectForRootMargin=element.getBoundingClientRect(),{left,top,width:width$1,height:height$1}=elementRectForRootMargin;if(skip||onMove(),!width$1||!height$1)return;let insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width$1)),insetBottom=floor(root.clientHeight-(top+height$1)),insetLeft=floor(left),options={rootMargin:-insetTop+`px `+-insetRight+`px `+-insetBottom+`px `+-insetLeft+`px`,threshold:max(0,min(1,threshold))||1},isFirstUpdate=!0;function handleObserve(entries){let ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh$1();ratio?refresh$1(!1,ratio):timeoutId=setTimeout(()=>{refresh$1(!1,1e-7)},1e3)}ratio===1&&!rectsAreEqual(elementRectForRootMargin,element.getBoundingClientRect())&&refresh$1(),isFirstUpdate=!1}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return refresh$1(!0),cleanup}function autoUpdate(reference,floating,update$6,options){options===void 0&&(options={});let{ancestorScroll=!0,ancestorResize=!0,elementResize=typeof ResizeObserver==`function`,layoutShift=typeof IntersectionObserver==`function`,animationFrame=!1}=options,referenceEl=unwrapElement$1(reference),ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.addEventListener(`scroll`,update$6,{passive:!0}),ancestorResize&&ancestor.addEventListener(`resize`,update$6)});let cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update$6):null,reobserveFrame=-1,resizeObserver=null;elementResize&&(resizeObserver=new ResizeObserver(_ref=>{let[firstEntry]=_ref;firstEntry&&firstEntry.target===referenceEl&&resizeObserver&&(resizeObserver.unobserve(floating),cancelAnimationFrame(reobserveFrame),reobserveFrame=requestAnimationFrame(()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)})),update$6()}),referenceEl&&!animationFrame&&resizeObserver.observe(referenceEl),resizeObserver.observe(floating));let frameId,prevRefRect=animationFrame?getBoundingClientRect(reference):null;animationFrame&&frameLoop();function frameLoop(){let nextRefRect=getBoundingClientRect(reference);prevRefRect&&!rectsAreEqual(prevRefRect,nextRefRect)&&update$6(),prevRefRect=nextRefRect,frameId=requestAnimationFrame(frameLoop)}return update$6(),()=>{var _resizeObserver2;ancestors.forEach(ancestor=>{ancestorScroll&&ancestor.removeEventListener(`scroll`,update$6),ancestorResize&&ancestor.removeEventListener(`resize`,update$6)}),cleanupIo?.(),(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect(),resizeObserver=null,animationFrame&&cancelAnimationFrame(frameId)}}var offset=offset$1,shift=shift$1,flip=flip$1,arrow$1=arrow$2,computePosition=(reference,floating,options)=>{let cache$1=new Map,mergedOptions={platform,...options},platformWithCache={...mergedOptions.platform,_c:cache$1};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};function isComponentPublicInstance(target){return typeof target==`object`&&!!target&&`$el`in target}function unwrapElement(target){if(isComponentPublicInstance(target)){let element=target.$el;return isNode(element)&&getNodeName(element)===`#comment`?null:element}return target}function toValue(source){return typeof source==`function`?source():unref(source)}function arrow(options){return{name:`arrow`,options,fn(args){let element=unwrapElement(toValue(options.element));return element==null?{}:arrow$1({element,padding:options.padding}).fn(args)}}}function getDPR(element){return typeof window>`u`?1:(element.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(element,value){let dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useFloating(reference,floating,options){options===void 0&&(options={});let whileElementsMountedOption=options.whileElementsMounted,openOption=computed(()=>{var _toValue;return toValue(options.open)??!0}),middlewareOption=computed(()=>toValue(options.middleware)),placementOption=computed(()=>{var _toValue2;return toValue(options.placement)??`bottom`}),strategyOption=computed(()=>{var _toValue3;return toValue(options.strategy)??`absolute`}),transformOption=computed(()=>{var _toValue4;return toValue(options.transform)??!0}),referenceElement=computed(()=>unwrapElement(reference.value)),floatingElement=computed(()=>unwrapElement(floating.value)),x=ref(0),y=ref(0),strategy=ref(strategyOption.value),placement=ref(placementOption.value),middlewareData=shallowRef({}),isPositioned=ref(!1),floatingStyles=computed(()=>{let initialStyles={position:strategy.value,left:`0`,top:`0`};if(!floatingElement.value)return initialStyles;let xVal=roundByDPR(floatingElement.value,x.value),yVal=roundByDPR(floatingElement.value,y.value);return transformOption.value?{...initialStyles,transform:`translate(`+xVal+`px, `+yVal+`px)`,...getDPR(floatingElement.value)>=1.5&&{willChange:`transform`}}:{position:strategy.value,left:xVal+`px`,top:yVal+`px`}}),whileElementsMountedCleanup;function update$6(){if(referenceElement.value==null||floatingElement.value==null)return;let open$1=openOption.value;computePosition(referenceElement.value,floatingElement.value,{middleware:middlewareOption.value,placement:placementOption.value,strategy:strategyOption.value}).then(position=>{x.value=position.x,y.value=position.y,strategy.value=position.strategy,placement.value=position.placement,middlewareData.value=position.middlewareData,isPositioned.value=open$1!==!1})}function cleanup(){typeof whileElementsMountedCleanup==`function`&&(whileElementsMountedCleanup(),whileElementsMountedCleanup=void 0)}function attach(){if(cleanup(),whileElementsMountedOption===void 0){update$6();return}if(referenceElement.value!=null&&floatingElement.value!=null){whileElementsMountedCleanup=whileElementsMountedOption(referenceElement.value,floatingElement.value,update$6);return}}function reset$1(){openOption.value||(isPositioned.value=!1)}return watch([middlewareOption,placementOption,strategyOption,openOption],update$6,{flush:`sync`}),watch([referenceElement,floatingElement],attach,{flush:`sync`}),watch(openOption,reset$1,{flush:`sync`}),getCurrentScope()&&onScopeDispose(cleanup),{x:shallowReadonly(x),y:shallowReadonly(y),strategy:shallowReadonly(strategy),placement:shallowReadonly(placement),middlewareData:shallowReadonly(middlewareData),isPositioned:shallowReadonly(isPositioned),floatingStyles,update:update$6}}var ARROW_POSITION={top:`bottom`,right:`left`,bottom:`top`,left:`right`};const usePopover=defineStore(`popover`,()=>{let _counter=ref(0),_currentPopover=ref(null),popovers=ref({}),currentPopover=computed(()=>_currentPopover.value),register=(name,popover,popoverPlacement=void 0,options={})=>{if(popovers.value[name])return;popovers.value[name]={element:popover,target:null,placement:popoverPlacement||`bottom`,show:!1};let popoverInstance=buildPopover(popover,toRef(popovers.value[name],`target`),toRef(popovers.value[name],`placement`),options),scope$1=effectScope(),show$1;scope$1.run(()=>{show$1=computed(()=>popovers.value[name].show)});let dispose$2=()=>{scope$1.stop(),popoverInstance.dispose()};return popovers.value[name].dispose=dispose$2,_counter.value++,{show:show$1,update:popoverInstance.update,placement:popoverInstance.placement}},bind=(popoverName,el,options)=>{let scope$1=effectScope(),hidden,isBound,popoverElement;scope$1.run(()=>{hidden=computed(()=>popovers.value[popoverName]?!popovers.value[popoverName].show:void 0),isBound=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].target===el:void 0),popoverElement=computed(()=>popovers.value[popoverName]?popovers.value[popoverName].element:void 0)});let show$1=()=>{isBound.value||(popovers.value[popoverName].target=el,popovers.value[popoverName].placement=options.placement),popovers.value[popoverName].show=!0},hide$3=()=>{isBound.value&&(popovers.value[popoverName].show=!1)};return{popoverElement,hidden,isBound,show:show$1,hide:hide$3,toggle:(forceValue=void 0)=>{let doShow=forceValue;typeof doShow!=`boolean`&&(doShow=!isBound.value||!popovers.value[popoverName].show),doShow?show$1():hide$3()},isShown:()=>!!popovers.value[popoverName].show,unbind:()=>{scope$1.stop()}}},unregister=name=>{popovers.value[name]&&(popovers.value[name].dispose(),delete popovers.value[name])},isShown=name=>name in popovers.value?popovers.value[name].show:!1,show=(name,target)=>{name in popovers.value&&(popovers.value[name].show=!0,target&&(popovers.value[name].target=target),_currentPopover.value=popovers.value[name])},hide$2=name=>{name in popovers.value&&(popovers.value[name].show=!1,_currentPopover.value=null)};return{popovers,currentPopover,bind,register,unregister,isShown,show,hide:hide$2,toggle:(name,forceValue=void 0)=>{name in popovers.value&&(popovers.value[name].show=typeof forceValue==`boolean`?forceValue:!popovers.value[name].show,_currentPopover.value=popovers.value[name].show?popovers.value[name]:null)},hideAll:(startsWith=void 0)=>{let keys=Object.keys(popovers.value);startsWith&&(keys=keys.filter(name=>name.startsWith(startsWith))),keys.forEach(name=>popovers.value[name].show&&hide$2(name))},getPopover:name=>popovers.value[name],counter:computed(()=>_counter.value)}});function buildPopover(popover,reference,placementArg,options){let{floatingStyles,middlewareData,update:update$6,placement}=useFloating(reference,popover,{placement:placementArg,middleware:buildMiddleware(popover,options),whileElementsMounted:autoUpdate}),watchers$1=[];return watchers$1.push(watch(floatingStyles,async styles=>{popover.value&&await nextTick(()=>{Object.keys(styles).forEach(styleName=>popover.value.style[styleName]=styles[styleName])})})),options.arrow&&watchers$1.push(watch(middlewareData,async middlewareData$1=>{let left=middlewareData$1.arrow&&middlewareData$1.arrow.x!=null?`${middlewareData$1.arrow.x}px`:``,top=middlewareData$1.arrow&&middlewareData$1.arrow.y!=null?`${middlewareData$1.arrow.y}px`:``,arrowSide=ARROW_POSITION[middlewareData$1.offset.placement.split(`-`)[0]];await nextTick(()=>{applyStyles(options.arrow.value,{left,top,right:``,bottom:``,[arrowSide]:`-${options.arrow.value.offsetWidth/2}px`})})})),{placement,update:update$6,dispose:()=>{watchers$1.forEach(unwatch=>unwatch())}}}var arrowOffset=options=>({name:`arrowOffset`,options,fn({...state}){let arrOffset=Math.sqrt(2*options.element.value.offsetWidth**2)/2,side=state.placement.startsWith(`left`)||state.placement.startsWith(`top`)?-1:1;if(state.placement.startsWith(`left`)||state.placement.startsWith(`right`))return{x:state.x+side*arrOffset};if(state.placement.startsWith(`top`)||state.placement.startsWith(`bottom`))return{y:state.y+side*arrOffset}}});function buildMiddleware(popover,options){let middleware=[flip(),shift()],offsetValue=options.offset||0;return middleware.push(offset(offsetValue)),options.arrow&&(middleware.push(arrowOffset({element:options.arrow})),middleware.push(arrow({element:options.arrow}))),middleware}function applyStyles(el,styles){Object.keys(styles).forEach(styleName=>el.style[styleName]=styles[styleName])}var HOVER_SHOW_EVENTS=[`mouseover`,`focus`],HOVER_HIDE_EVENTS=[`mouseleave`,`blur`],TOGGLE_EVENTS=[`click`],BngPopover_default={mounted:setup$1,updated:setup$1,onBeforeUnmount:dispose};function setup$1(el,binding){dispose(el),binding.value&&(setPopoverProperties(el,binding),bindPopover(el),attachListeners(el,binding.modifiers))}function dispose(el){el.__popover&&(el.__popover.unregister&&el.__popover.unbind(),removeListeners(el))}function attachListeners(el,modifiers){el.__popover.showHandler=event=>{el.contains(event.target)&&el.__popover.show()},el.__popover.hideHandler=event=>{el.contains(event.relatedTarget)||el.__popover.hide()},el.__popover.toggleHandler=event=>{el.contains(event.target)&&el.__popover.toggle()},el.__popover.clickOutside=event=>{!el.contains(event.target)&&(!el.__popover.element.value||!el.__popover.element.value.contains(event.target))&&el.__popover.hide()},modifiers.click?(TOGGLE_EVENTS.forEach(eventName=>{el.addEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.addEventListener(eventName,el.__popover.clickOutside)})):(HOVER_SHOW_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.showHandler)),HOVER_HIDE_EVENTS.forEach(eventName=>el.addEventListener(eventName,el.__popover.hideHandler)))}function removeListeners(el){el.__popover.toggleHandler&&(TOGGLE_EVENTS.forEach(eventName=>{el.removeEventListener(eventName,el.__popover.toggleHandler)}),TOGGLE_EVENTS.forEach(eventName=>{window.removeEventListener(eventName,el.__popover.clickOutside)})),el.__popover.showHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.showHandler)),el.__popover.hideHandler&&HOVER_SHOW_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__popover.hideHandler))}function bindPopover(el){let popoverBind=usePopover().bind(el.__popover.name,el,getOptions$1(el));Object.assign(el.__popover,{toggle:popoverBind.toggle,show:popoverBind.show,isShown:popoverBind.isShown,hide:popoverBind.hide,toggle:popoverBind.toggle,hidden:popoverBind.hidden,element:popoverBind.popoverElement,unbind:popoverBind.unbind})}function setPopoverProperties(el,binding){el.__popover={name:getPopoverName(binding),placement:getPlacement(binding)}}var getOptions$1=el=>({placement:el.__popover.placement}),getPlacement=binding=>binding.arg?binding.arg:binding.placement?binding.placement:`left`,getPopoverName=binding=>typeof binding.value==`string`?binding.value:binding.value.name,TIMESPAN_TRANSLATE_ID_PREFIX=`ui.timespan.`,$t=i=>$translate.instant(TIMESPAN_TRANSLATE_ID_PREFIX+i),SECONDS_IN={year:3600*24*365,month:3600*24*30,week:3600*24*7,day:3600*24,hour:3600,minute:60,second:1},MINIMUM_SPAN=Object.entries(SECONDS_IN).slice(-1)[0][1],dateToEpoch=date=>date?typeof date==`string`?/^\d+$/.test(date)?+date:~~(new Date(date).getTime()/1e3):typeof date==`number`?date:0:0;const timeSpan=(date1,date2=null,length=2,useRelativeDescription=!1)=>{let res=`-`;if(date1=dateToEpoch(date1),!date1)return res;if(date2){if(date2=dateToEpoch(date2),!date2)return res}else date2=~~(new Date().getTime()/1e3);let diff,isFuture;return date1>=date2?(diff=date1-date2,isFuture=!0):(diff=date2-date1,isFuture=!1),res=formatTime(diff,length,useRelativeDescription,isFuture),res},formatTime=(seconds,length=2,useRelativeDescription=!1,future=!1)=>{let res=`-`;if(seconds20&&abs%10==1?abs+` `+$t(spanName+`.plural_1_pastfuture`):abs<=4||useRelativeDescription&&abs>20&&abs%10<=4?abs+` `+$t(spanName+`.plural_234`):abs+` `+$t(spanName+`.plural`),cur&&resArr.push(cur),length===1)break;length--,seconds%=spanSeconds}res=``;let resArrLen=resArr.length;return resArr.forEach((bit,i)=>{bit=bit.replace(` `,`\xA0`),i?(i===resArrLen-1?res+=` `+$t(`and`)+` `:res+=$t(`separator`)+` `,res+=bit):res+=ucaseFirst(bit)}),useRelativeDescription&&(res+=` `+$t(future?`future`:`past`)),res};var update=(element,{value})=>{let desc=timeSpan(value,null,1,!0);desc!==`-`&&(element.innerHTML=desc)},BngRelativeTime_default=update;const getScopeProperties=el=>{if(!(!el||!el.hasAttribute(`bng-ui-scope`)))return{scopeId:el.getAttribute(UI_SCOPE_ATTR$1),isScopedNav:el.hasAttribute(SCOPED_NAV_ATTR)}},findParentScope=(el,scopedNavOnly=!1)=>{let parent=el.parentElement;for(;parent;){let scopedNavId=parent.getAttribute(SCOPED_NAV_ATTR);if(scopedNavId)return{scopeId:scopedNavId,element:parent,isScopedNav:!0};if(!scopedNavOnly){let uiScopeId=parent.getAttribute(UI_SCOPE_ATTR$1);if(uiScopeId)return{scopeId:uiScopeId,element:parent,isScopedNav:!1}}parent=parent.parentElement}return null},isNavigable=el=>(!el.hasAttribute(`bng-no-nav`)||el.getAttribute(`bng-no-nav`)===`false`)&&(!el.hasAttribute(`disabled`)||el.getAttribute(`disabled`)===`false`),isDirectChild=(el,child)=>child.parentElement.closest(`[bng-scoped-nav]`)===el,getNavItems=(el,navigableOnly=!0)=>{let matches$1=el.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);return Array.from(matches$1).filter(child=>!isNavigable(child)&&navigableOnly?!1:isDirectChild(el,child))},getPassthroughEvents=el=>{let navItems=getNavItems(el,!1);if(navItems.length===0)return!1;let boundEvents=[];for(let elem of navItems){let uiNavEvents=elem.__BngOnUiNav?Object.values(elem.__BngOnUiNav).map(x=>x.eventNames).flat().filter(name=>!PASSTHROUGH_EXCLUDED_EVENTS.includes(name)):[],isDuplicate=uiNavEvents.some(event=>boundEvents.includes(event));if(uiNavEvents.length===0||isDuplicate){boundEvents=[];break}uiNavEvents.forEach(event=>{boundEvents.includes(event)||boundEvents.push(event)})}return boundEvents};var SCOPED_NAV_OBSERVER_EVENTS={onBeforeScopeActivated:`onBeforeScopeActivated`,onScopeActivated:`onScopeActivated`,onBeforeScopeDeactivated:`onBeforeScopeDeactivated`,onScopeDeactivated:`onScopeDeactivated`,onBeforeScopeSuspended:`onBeforeScopeSuspended`,onScopeSuspended:`onScopeSuspended`,onBeforeScopeResumed:`onBeforeScopeResumed`,onScopeResumed:`onScopeResumed`},scopedNavObservers={};function registerScopedNavObserver(id,observer$2){scopedNavObservers[id]=observer$2}function notifyScopedNavObservers(event,detail){Object.keys(scopedNavObservers).forEach(observerId=>{let callback=scopedNavObservers[observerId][event];if(callback&&typeof callback==`function`)try{callback(detail)}catch(error){logger_default.error(`Error in scoped nav observer ${observerId} for event ${event}`,error)}})}const useScopedNav=defineStore(`scopedNav2`,()=>{let scopeStack=ref([]),activateScope=(scopeId,element,options={activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!1})=>{notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeActivated,{scopeId,element,options});let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId),existingScope=scopeIndex===-1?void 0:scopeStack.value[scopeIndex];if(existingScope&&existingScope.activationType===options.activationType){logger_default.warn(`Scope ${scopeId} already active. Ignoring...`),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});return}existingScope?existingScope.activationType=options.activationType:(scopeStack.value.push({scopeId,element,...options}),scopeIndex=scopeStack.value.length-1),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeActivated,{scopeId,element,options});let scopeData={scopeId,...options},{type}=element[SCOPED_NAV_PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.popover||options.suspendParentScopes){let referenceElement=element;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop&&pop.target&&(referenceElement=pop.target)}if(!referenceElement){logger_default.warn(`Unable to find popover's target element. Skipping suspending parent scopes...`);return}let parentScopes=scopeStack.value.slice(0,scopeIndex);for(let i=parentScopes.length-1;i>=0;i--){let scope$1=parentScopes[i];referenceElement&&scope$1.element.contains(referenceElement)?suspendScope(scope$1.scopeId,scopeData):referenceElement&&!scope$1.element.contains(referenceElement)&&deactivateScope(scope$1.scopeId)}}return getUINavServiceInstance().setActiveScope(scopeId),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.activate,{detail:scopeData})),scopeData},deactivateScope=(scopeId,settings$1={resumePrevious:!1})=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeDeactivated,{scopeId,settings:settings$1});let scopeData=scopeStack.value[scopeIndex],element=scopeData.element,{type}=element[SCOPED_NAV_PROPERTY_NAME];if(scopeStack.value=scopeStack.value.slice(0,scopeIndex),element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.deactivate,{detail:{scopeId,settings:settings$1,...scopeData}})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeDeactivated,{scopeId,settings:settings$1}),!settings$1.resumePrevious){getUINavServiceInstance().setActiveScope(null);return}let parentScope;if(type===SCOPED_NAV_TYPES.popover){let popover=usePopover(),popoverName=element.getAttribute(`data-bng-popover-name`),pop=popover.getPopover(popoverName);pop?parentScope=findParentScope(pop.target,!0):logger_default.warn(`Unable to find popover's target element. Skipping resume...`)}else parentScope=findParentScope(element,!0);parentScope?getScopeById(parentScope.scopeId)?resumeScope(parentScope.scopeId):activateScope(parentScope.scopeId,parentScope.element):getUINavServiceInstance().setActiveScope(null)},resumeScope=scopeId=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeResumed,{scopeId});for(let i=scopeStack.value.length-1;i>scopeIndex;i--){let scope$1=scopeStack.value[i];deactivateScope(scope$1.scopeId)}let scopeData=scopeStack.value[scopeIndex];return scopeData.activationType=SCOPED_NAV_STATES.active,getUINavServiceInstance().setActiveScope(scopeData.scopeId),scopeData.element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.resume,{detail:scopeData})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeResumed,{scopeId}),scopeData},suspendScope=(scopeId,newScope)=>{let scopeIndex=scopeStack.value.findIndex(s=>s.scopeId===scopeId);if(scopeIndex===-1){logger_default.warn(`Scope ${scopeId} not found. Ignoring...`);return}notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onBeforeScopeSuspended,{scopeId,newScope});let scopeData=scopeStack.value[scopeIndex];if(scopeData.activationType===SCOPED_NAV_STATES.suspended){logger_default.warn(`Scope ${scopeId} already suspended. Ignoring...`);return}scopeData.activationType=SCOPED_NAV_STATES.suspended;let element=scopeData.element,payload={scopeId,newScope,...scopeData};return element.dispatchEvent(new CustomEvent(SCOPED_NAV_EVENTS.suspend,{detail:payload})),notifyScopedNavObservers(SCOPED_NAV_OBSERVER_EVENTS.onScopeSuspended,{scopeId,newScope}),scopeData},currentScope=()=>scopeStack.value[scopeStack.value.length-1],getScopeById=scopeId=>scopeStack.value.find(s=>s.scopeId===scopeId);return{activateScope,deactivateScope,resumeScope,suspendScope,getScopeById,currentScope,isCurrentScope:scopeId=>{let scope$1=currentScope();return scope$1&&scope$1.scopeId===scopeId},isActiveScope:scopeId=>{let current=currentScope();if(!current)return!1;if(current.scopeId===scopeId)return!0;if(current.activationType===SCOPED_NAV_STATES.partial&&scopeStack.value.length>2){let parentScope=scopeStack.value[scopeStack.value.length-2];if(parentScope.scopeId===scopeId&&parentScope.activationType===SCOPED_NAV_STATES.active)return!0}return!1},getScopes:()=>scopeStack.value}});var focusDebounceTimer=null,pendingFocusAction=null,focusListenersInitialized=!1,isActivatingScope=!1,isDeactivatingScope=!1,FOCUS_DEBOUNCE_TIME=200,focusManagerId=`focusManager`,clearFocusDebounce=()=>{focusDebounceTimer&&=(clearTimeout(focusDebounceTimer),null),pendingFocusAction=null},debouncedFocusAction=action=>{clearFocusDebounce(),pendingFocusAction=action,focusDebounceTimer=setTimeout(()=>{pendingFocusAction&&=(pendingFocusAction(),null),focusDebounceTimer=null},FOCUS_DEBOUNCE_TIME)};function useFocusManager(){let scopedNav=useScopedNav(),onUINavFocus=e=>{let{target,relatedTarget}=e.detail;if(isWithinDashmenu(target)||isWithinPopup(target))return;let targetScope=findParentScope(target,!0),scopeElement=targetScope&&targetScope.isScopedNav?targetScope.element:null,scopedNavProps=scopeElement&&scopeElement._bngScopedNav?scopeElement[SCOPED_NAV_PROPERTY_NAME]:null;if(scopedNavProps&&(scopeElement[SCOPED_NAV_PROPERTY_NAME].lastActiveElement=target),isActivatingScope||isDeactivatingScope||shouldSkipFocusHandling(scopedNavProps)){clearFocusDebounce();return}debouncedFocusAction(()=>handleFocusAction(target,targetScope,scopeElement,scopedNav))},onUINavBlur=e=>{let{target}=e.detail,scopeProperties=getScopeProperties(target);shouldHandleBlur(scopeProperties,scopedNav.currentScope())&&(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!1,scopedNav.deactivateScope(scopeProperties.scopeId,{resumePrevious:!0}))};function addFocusListeners(){focusListenersInitialized||=(document.addEventListener(`uinav-focus`,onUINavFocus),document.addEventListener(`uinav-blur`,onUINavBlur),registerScopedNavObserver(focusManagerId,{onBeforeScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!0},onScopeActivated:()=>{clearFocusDebounce(),isActivatingScope=!1},onBeforeScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!0},onScopeDeactivated:()=>{clearFocusDebounce(),isDeactivatingScope=!1}}),!0)}function removeFocusListeners(){focusListenersInitialized&&=(document.removeEventListener(`uinav-focus`,onUINavFocus),document.removeEventListener(`uinav-blur`,onUINavBlur),!1)}function setup$3(){addFocusListeners()}function dispose$2(){removeFocusListeners()}return onMounted(()=>{setup$3()}),onBeforeUnmount(()=>{dispose$2()}),{setup:setup$3,dispose:dispose$2}}function isWithinDashmenu(target){return document.getElementById(`dashmenu`)?.contains(target)}function isWithinPopup(target){return!!target.closest(`dialog`)}function shouldSkipFocusHandling(scopedNavProps){return scopedNavProps?.type===SCOPED_NAV_TYPES.popover}function shouldHandleBlur(scopeProperties,currScope){return scopeProperties?.isScopedNav&&currScope?.scopeId===scopeProperties.scopeId&&currScope?.activationType===SCOPED_NAV_STATES.partial}function handleFocusAction(target,targetScope,scopeElement,scopedNavStore){if(!document.contains(target)&&!document.contains(scopeElement))return;let activeScope=scopedNavStore.currentScope();if(activeScope?.element===target)return;let existingScope,scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===scopeElement){existingScope=scope$1;break}}if(existingScope&&activeScope&&existingScope.scopeId!==activeScope.scopeId){scopedNavStore.resumeScope(existingScope.scopeId);return}scopes=scopedNavStore.getScopes();for(let i=scopes.length-1;i>=0;i--){let scope$1=scopes[i];if(scope$1.element===target||scope$1.element.contains(target)||scopeElement===scope$1.element||scope$1.element.contains(scopeElement))break;scopedNavStore.deactivateScope(scope$1.scopeId)}if(scopes=scopedNavStore.getScopes(),targetScope&&targetScope.isScopedNav){let lastScope=scopes.length>0?scopes[scopes.length-1]:null;lastScope&&activeScope&&activeScope.scopeId===lastScope.scopeId&&targetScope.scopeId!==lastScope.scopeId&&lastScope.activationType!==SCOPED_NAV_STATES.suspended&&scopedNavStore.suspendScope(lastScope.scopeId,{scopeId:targetScope.scopeId,scopeElement}),(!activeScope||activeScope.scopeId!==targetScope.scopeId)&&scopeElement._bngScopedNav.canActivate()&&scopedNavStore.activateScope(targetScope.scopeId,scopeElement)}if(target.hasAttribute(`bng-scoped-nav`)){let allowPartialActivation=target[SCOPED_NAV_PROPERTY_NAME].passthroughEnabled,canActivate=target[SCOPED_NAV_PROPERTY_NAME].canActivate();if(target[SCOPED_NAV_PROPERTY_NAME].passthroughActive=!0,allowPartialActivation&&canActivate){let partialScope=getScopeProperties(target);scopedNavStore.activateScope(partialScope.scopeId,target,{activationType:SCOPED_NAV_STATES.partial})}}}var PROPERTY_NAME=`_bngScopedNav`,ATTR_NAME=`bng-scoped-nav`,AUTOFOCUS_ATTR=`bng-scoped-nav-autofocus`,UI_SCOPE_ATTR=`bng-ui-scope`,NAV_ITEM_ATTR=`bng-nav-item`,BNG_ON_UI_NAV_ATTR=`__BngOnUiNav`,DEFAULT_AUTO_FOCUS_DELAY=100,EVENTS_UINAV_MAP={activate:[UI_EVENTS.ok],deactivate:[UI_EVENTS.back],navigation:[...UI_EVENT_GROUPS.focusMove,...UI_EVENT_GROUPS.focusMoveScalar]},NAV_EVENTS={activate:`activate`,deactivate:`deactivate`,suspend:`suspend`,resume:`resume`};const ACTIONS_ON_SUSPEND={allowNavigationLastNavItem:`allowNavigationLastNavItem`,allowNavigationByAttribute:`allowNavigationByAttribute`,disableNavigation:`disableNavigation`};var BngScopedNav_default={beforeMount,mounted,updated,beforeUnmount,unmounted},getDefaultOptions=()=>({type:SCOPED_NAV_TYPES.normal,activateOnMount:!1,actionsOnSuspend:[ACTIONS_ON_SUSPEND.disableNavigation],bubbleWhitelistEvents:[],bubbleBlacklistEvents:[],forcePassthroughEvents:[],canActivate:()=>!0,canDeactivate:()=>!0,autoFocusDelay:DEFAULT_AUTO_FOCUS_DELAY}),canBubbleEventInternal=(el,e)=>{let{bubbleWhitelistEvents,canBubbleEvent}=el[PROPERTY_NAME];return canBubbleEvent&&typeof canBubbleEvent==`function`?canBubbleEvent(e):bubbleWhitelistEvents&&Array.isArray(bubbleWhitelistEvents)&&bubbleWhitelistEvents.length>0?bubbleWhitelistEvents.includes(e.detail.name):!1},shouldBubbleToNextScope=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME],isActive=currentScope&¤tScope.scopeId===scopeId,isPartial=isActive&¤tScope.activationType===SCOPED_NAV_STATES.partial,isContainer=type===SCOPED_NAV_TYPES.container,isInactiveAndFocused=document.activeElement===el&&!isActive;return!currentScope||isInactiveAndFocused||canBubbleEventInternal(el,e)||isPartial||isContainer},getOptions=(el,binding,vnode)=>{let options={...getDefaultOptions(),...binding.value};if(!Object.values(SCOPED_NAV_TYPES).includes(options.type)){console.error(`Invalid scoped nav type: ${options.type}`);return}return options},applyOptions=(el,options)=>{let attributes={};switch(options.type){case SCOPED_NAV_TYPES.normal:attributes[NAV_ITEM_ATTR]=``,attributes[NO_CHILD_NAV_ATTR]=`true`;break;case SCOPED_NAV_TYPES.nonav:attributes[NO_NAV_ATTR]=`true`,attributes[NO_CHILD_NAV_ATTR]=`true`;break}Object.keys(attributes).forEach(attr=>el.setAttribute(attr,attributes[attr]))},findAutoFocusItem=navItems=>navItems.find(item=>item.hasAttribute(AUTOFOCUS_ATTR)&&item.getAttribute(AUTOFOCUS_ATTR)!==`false`),getAutoFocusItem=el=>findAutoFocusItem(getNavItems(el)),getFirstOrDefaultNavItem=el=>{let navItems,isAutoFocusItem=!1,getNavItems$1=()=>navItems||=getNavItems(el),getLastActive=()=>{let elm=el[PROPERTY_NAME].lastActiveElement;return elm&&!document.contains(elm)?null:elm},getAutoFocus=()=>{let elm=findAutoFocusItem(getNavItems$1());return elm&&!isNavigable(elm)?null:(isAutoFocusItem=!!elm,elm)},getFirst=()=>getNavItems$1()[0],sequence=[getLastActive,getAutoFocus];el[PROPERTY_NAME].preferAutoFocus&&sequence.reverse(),sequence.push(getFirst);for(let func of sequence){let elm=func();if(elm)return{focusItem:elm,isAutoFocusItem}}return{focusItem:null,isAutoFocusItem:!1}},setEnabledNavigation=(el,enabled,settings$1={applyToChildItems:!1,filterElements:void 0})=>{let{type}=el[PROPERTY_NAME];if(type===SCOPED_NAV_TYPES.nonav){logger_default.warn(`Cannot toggle navigation settings for nonav type`,el,enabled,type);return}settings$1.applyToChildItems?getNavItems(el,!1).forEach(item=>{if(!(settings$1.filterElements&&settings$1.filterElements.includes(item))){if(!item[PROPERTY_NAME]){let currentValue=item.hasAttribute(`bng-no-nav`)?item.getAttribute(NO_NAV_ATTR):void 0;item[PROPERTY_NAME]={originalNoNav:currentValue,hadOriginalNoNav:currentValue!==void 0}}enabled?(item[PROPERTY_NAME].hadOriginalNoNav?item.setAttribute(NO_NAV_ATTR,item[PROPERTY_NAME].originalNoNav):item.removeAttribute(NO_NAV_ATTR),item[PROPERTY_NAME].noNavSetByDirective=!1):(!item[PROPERTY_NAME].hadOriginalNoNav||item[PROPERTY_NAME].originalNoNav!==`true`)&&(item.setAttribute(NO_NAV_ATTR,`true`),item[PROPERTY_NAME].noNavSetByDirective=!0)}}):enabled?(el.removeAttribute(NO_CHILD_NAV_ATTR),type===SCOPED_NAV_TYPES.normal&&el.setAttribute(NO_NAV_ATTR,`true`)):(el.setAttribute(NO_CHILD_NAV_ATTR,`true`),type===SCOPED_NAV_TYPES.normal&&el.removeAttribute(NO_NAV_ATTR))},focusFirstOrDefaultNavItem=el=>{let{autoFocusDelay}=el[PROPERTY_NAME];nextTick(()=>{setTimeout(()=>{let{focusItem,isAutoFocusItem}=getFirstOrDefaultNavItem(el);focusItem&&setFocusExternal(focusItem,!0,isAutoFocusItem)},autoFocusDelay)})},ensureFocusOrFocusDefault=el=>{document.activeElement&&isDirectChild(el,document.activeElement)?ensureFocus(document.activeElement,!0):focusFirstOrDefaultNavItem(el)};function beforeMount(el,binding,vnode){let options=getOptions(el,binding,vnode);if(!options)return;let scopeId=options.scopeId||uniqueId(`scoped-nav`);el[PROPERTY_NAME]={scopeId,...options},el[PROPERTY_NAME].shouldBubbleEvent=e=>shouldBubbleToNextScope(el,e),el.setAttribute(ATTR_NAME,scopeId),el.setAttribute(UI_SCOPE_ATTR,scopeId),applyOptions(el,options)}function mounted(el,binding,vnode){addUINavEventListeners(el,binding,vnode),addScopedNavEventListeners(el);let scopedNav=useScopedNav(),options=getOptions(el,binding,vnode);options.type===SCOPED_NAV_TYPES.normal?configurePartialActivation(el):options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),options.activateOnMount&&nextTick(()=>scopedNav.activateScope(el[PROPERTY_NAME].scopeId,el))}var handleDefaultUpdate=(el,binding,vnode)=>{let activeScope=useScopedNav().currentScope(),{scopeId,type}=el[PROPERTY_NAME];!activeScope||activeScope.scopeId!==scopeId||activeScope.activationType!==SCOPED_NAV_STATES.active||ensureFocusOrFocusDefault(el)};function updated(el,binding,vnode){let options=getOptions(el,binding,vnode),{scopeId}=el[PROPERTY_NAME],scopedNav=useScopedNav();if(options.activated===!0&&!scopedNav.isActiveScope(scopeId))if(scopedNav.getScopeById(scopeId)){let popover=usePopover();if(Object.values(popover.popovers).filter(x=>x.show===!0).length>0)return;scopedNav.resumeScope(scopeId,el)}else scopedNav.activateScope(scopeId,el,{activationType:SCOPED_NAV_STATES.active,suspendParentScopes:!0});else options.activated===!1&&scopedNav.isActiveScope(scopeId)?scopedNav.deactivateScope(scopeId,{resumePrevious:!0}):!scopedNav.isActiveScope(scopeId)&&options.type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1);nextTick(()=>{let activeScope=scopedNav.currentScope();activeScope&&activeScope.scopeId===scopeId&&handleDefaultUpdate(el,binding,vnode)})}function beforeUnmount(el,binding,vnode){removeScopedNavEventListeners(el);let scopedNav=useScopedNav();if(scopedNav.getScopeById(el[PROPERTY_NAME].scopeId)){let{type}=el[PROPERTY_NAME];scopedNav.deactivateScope(el[PROPERTY_NAME].scopeId,{resumePrevious:type===SCOPED_NAV_TYPES.popover}),el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:{force:!0,reason:`unmounted`}}))}}function unmounted(el,binding,vnode){}var handlePartialActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!0},handleNormalActivation=(el,event)=>{el[PROPERTY_NAME].forceBubble=!1,nextTick(()=>{setEnabledNavigation(el,!0),(!document.activeElement||el===document.activeElement||!el.contains(document.activeElement))&&focusFirstOrDefaultNavItem(el)})},configurePartialActivation=el=>{let passthroughEvents=getPassthroughEvents(el);el[PROPERTY_NAME].passthroughEnabled=passthroughEvents.length>0,el[PROPERTY_NAME].passthroughEvents=passthroughEvents},configureContainer=(el,activated)=>{el[PROPERTY_NAME].containerSetup&&el[PROPERTY_NAME].containerSetup.cancel(),el[PROPERTY_NAME].containerSetup=debounce(()=>{let autoFocusItem=getAutoFocusItem(el);autoFocusItem&&setEnabledNavigation(el,activated,{applyToChildItems:!0,filterElements:[autoFocusItem]})},100),el[PROPERTY_NAME].containerSetup()},handleContainerActivation=(el,event)=>{configureContainer(el,!0)},handleNoNavActivation=(el,event)=>{},onActivate=(el,event)=>{let{type}=el[PROPERTY_NAME],{activationType}=event.detail;activationType===SCOPED_NAV_STATES.partial?handlePartialActivation(el,event):type===SCOPED_NAV_TYPES.normal?handleNormalActivation(el,event):type===SCOPED_NAV_TYPES.container?handleContainerActivation(el,event):SCOPED_NAV_TYPES.nonav,el.dispatchEvent(new CustomEvent(NAV_EVENTS.activate,{detail:event.detail}))},onDeactivate=(el,event)=>{let{type}=el[PROPERTY_NAME];type===SCOPED_NAV_TYPES.normal&&event.detail.activationType===SCOPED_NAV_STATES.active?setEnabledNavigation(el,!1):type===SCOPED_NAV_TYPES.container&&configureContainer(el,!1),el[PROPERTY_NAME].forceBubble=!1,el.dispatchEvent(new CustomEvent(NAV_EVENTS.deactivate,{detail:event.detail}))},onSuspend=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!1,{applyToChildItems:!0,filterElements})},onResume=(el,event)=>{let{actionsOnSuspend,type}=el[PROPERTY_NAME],filterElements=[];if(actionsOnSuspend.includes(ACTIONS_ON_SUSPEND.allowNavigationLastNavItem)){let lastActiveElement=el[PROPERTY_NAME].lastActiveElement;lastActiveElement&&document.contains(lastActiveElement)&&filterElements.push(lastActiveElement)}setEnabledNavigation(el,!0,{applyToChildItems:!0,filterElements}),ensureFocusOrFocusDefault(el)};function addScopedNavEventListeners(el){let eventHandlers={[SCOPED_NAV_EVENTS.activate]:event=>onActivate(el,event),[SCOPED_NAV_EVENTS.deactivate]:event=>onDeactivate(el,event),[SCOPED_NAV_EVENTS.suspend]:event=>onSuspend(el,event),[SCOPED_NAV_EVENTS.resume]:event=>onResume(el,event)};Object.keys(eventHandlers).forEach(eventName=>{el[PROPERTY_NAME].scopedNavListeners||(el[PROPERTY_NAME].scopedNavListeners={}),el.addEventListener(eventName,eventHandlers[eventName]),el[PROPERTY_NAME].scopedNavListeners[eventName]=eventHandlers[eventName]})}function removeScopedNavEventListeners(el){!el||!el[PROPERTY_NAME]||!el[PROPERTY_NAME].scopedNavListeners||Object.keys(el[PROPERTY_NAME].scopedNavListeners).forEach(eventName=>{el.removeEventListener(eventName,el[PROPERTY_NAME].scopedNavListeners[eventName]),delete el[PROPERTY_NAME].scopedNavListeners[eventName]})}var allowsNavigation=el=>{let{type}=el[PROPERTY_NAME];return[SCOPED_NAV_TYPES.normal,SCOPED_NAV_TYPES.container,SCOPED_NAV_TYPES.popover].includes(type)},processNavigationEvent=(el,e)=>{let currentScope=useScopedNav().currentScope(),{scopeId}=el[PROPERTY_NAME];if(!allowsNavigation(el))return!1;document.activeElement===el&¤tScope.scopeId===scopeId?focusFirstOrDefaultNavItem(el):handleUINavEvent(e,el)},isNavigationEvent=e=>UI_EVENT_GROUPS.navigation.includes(e.detail.name),getUINavEventsByEl=el=>{let uiNavEvents=el[BNG_ON_UI_NAV_ATTR]?Object.values(el[BNG_ON_UI_NAV_ATTR]).map(x=>x.eventNames).flat():[],boundEvents=[];return uiNavEvents.forEach(ev=>{boundEvents.includes(ev)||boundEvents.push(ev)}),boundEvents},hasBoundEvent=(el,eventName)=>{let boundEvents=getUINavEventsByEl(el);return boundEvents&&boundEvents.length>0&&boundEvents.includes(eventName)},isUINavEventBoundToChild=(el,e)=>{let{scopeId}=el[PROPERTY_NAME],currentScope=useScopedNav().currentScope();return currentScope&¤tScope.scopeId===scopeId&&e.target!==el&&el.contains(e.target)&&e.target===document.activeElement&&hasBoundEvent(e.target,e.detail.name)},generalHandler=(el,e)=>{let shouldBubble=!1;return isUINavEventBoundToChild(el,e)&&!e.target.hasAttribute(ATTR_NAME)||(shouldBubbleToNextScope(el,e)?shouldBubble=!0:isNavigationEvent(e)&&processNavigationEvent(el,e)),shouldBubble},processOkChildHandler=(el,e)=>{isUINavEventBoundToChild(el,e)||(handleUINavEvent(e,e.target),e.detail.sendToCrossfire=!1)},okHandler=(el,e)=>{if(e.detail.value!==1)return shouldBubbleToNextScope(el,e);let scopedNav=useScopedNav(),scopeId=el[PROPERTY_NAME].scopeId,currentScope=scopedNav.currentScope();return currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active&&(document.activeElement&&isDirectChild(el,document.activeElement)||e.target&&isDirectChild(el,e.target))?processOkChildHandler(el,e):el[PROPERTY_NAME].canActivate()&&el[PROPERTY_NAME].type===SCOPED_NAV_TYPES.normal&&document.activeElement===el&&scopedNav.activateScope(scopeId,el),shouldBubbleToNextScope(el,e)},backHandler=(el,e)=>{if(e.detail.value!==1)return;let scopedNav=useScopedNav(),{scopeId,type,canDeactivate}=el[PROPERTY_NAME],currentScope=scopedNav.currentScope();if(currentScope&¤tScope.scopeId===scopeId&¤tScope.activationType===SCOPED_NAV_STATES.active)canDeactivate()&&(scopedNav.deactivateScope(scopeId,{resumePrevious:!0,executingScope:scopeId}),type===SCOPED_NAV_TYPES.normal&&nextTick(()=>setFocusExternal(el)));else if(e.target!==el&&isDirectChild(el,e.target))return!1;else return!0},uiNavEventsHandler=(el,e)=>{let uiNavEvent=e.detail.name;return EVENTS_UINAV_MAP.activate.includes(uiNavEvent)?okHandler(el,e):EVENTS_UINAV_MAP.deactivate.includes(uiNavEvent)?backHandler(el,e):generalHandler(el,e)};function addUINavEventListeners(el,binding,vnode){let{bubbleWhitelistEvents}=el[PROPERTY_NAME],generalUINavBinding={arg:[...EVENTS_UINAV_MAP.activate,...EVENTS_UINAV_MAP.deactivate,...EVENTS_UINAV_MAP.navigation].join(`,`),value:e=>uiNavEventsHandler(el,e)};BngOnUiNav_default.mounted(el,generalUINavBinding,vnode)}var ID=`__bngSound`,ID_STOP=`__bngSoundStop`,events$1={click:`click`,dblclick:`dblclick`,focus:`focus`,mouseenter:`mouseenter`};function handler(ev){let el=ev.currentTarget;if(el&&(el[ID]&&events$1[ev.type]&&Lua_default.ui_audio.playEventSound(el[ID],events$1[ev.type]),el[ID_STOP]))for(let event in delete el[ID_STOP],delete el[ID],events$1)el.removeEventListener(event,handler)}var BngSoundClass_default={mounted:(el,binding)=>{delete el[ID_STOP],el[ID]=binding.value,nextTick(()=>{for(let event in events$1)el.addEventListener(event,handler)})},updated:(el,binding)=>{el[ID]=binding.value},unmounted:el=>{el[ID_STOP]=!0}},marker=`__BNG_SD_INPUT`,inputTypes={singleLine:0,multiLine:1};function bindToInputs(elements){let inputs=Array.isArray(elements)?elements:[elements];for(let input of inputs){if(marker in input)continue;input[marker]=!0;let type,tag=input.tagName.toLowerCase();if(tag===`textarea`)type=inputTypes.multiLine;else if(tag===`input`&&[`text`,`number`,`password`,`search`].includes(input.type.toLowerCase()))type=inputTypes.singleLine;else continue;input.addEventListener(`focus`,()=>{let rect=input.getBoundingClientRect();console.log(`SteamDeck input focus:`,type,rect),Lua_default.Steam.showFloatingGamepadTextInput(type,rect.left,rect.top,rect.width,rect.height)})}}async function useSteamDeckInput(inputs){if(!inputs)throw Error(`inputs must be specified (ref, refs, element, elements)`);(await useSettingsAsync()).values.runningOnSteamDeck&&(isRef(inputs)?watch(inputs,bindToInputs,{immediate:!0}):bindToInputs(inputs))}var bridge$1,focused=!1,elms={},elmid=`__BNG_TEXT_INPUT`,focus=id=>async()=>{elms[id].active=!0,focused||=(await bridge$1.lua.setCEFTyping(!0),!0)},blur=id=>async()=>{elms[id].active=!1,focused&&(focused=Object.values(elms).some(e=>e.active),focused||await bridge$1.lua.setCEFTyping(!1))},BngTextInput_default={mounted(el){bridge$1||(bridge$1=useBridge(),bridge$1.events.on(`CEFTypingLostFocus`,()=>focused&&document.activeElement.blur()));let id=el[elmid]||(el[elmid]=uniqueId());elms[id]={el,active:!1,onFocus:focus(id),onBlur:blur(id)},el.addEventListener(`focus`,elms[id].onFocus),el.addEventListener(`blur`,elms[id].onBlur),useSteamDeckInput(el)},beforeUnmount(el){let id=el[elmid];elms[id]&&(el.removeEventListener(`focus`,elms[id].onFocus),el.removeEventListener(`blur`,elms[id].onBlur),elms[id].onBlur(),delete elms[id])}},DEFAULT_POSITION=`left`,TOOLTIP_ATTR_NAME=`data-bng-tooltip`,CONTENT_ATTR_NAME=`data-bng-tooltip-content`,ARROW_ATTR_NAME=`data-bng-tooltip-arrow`,SHOW_TOOLTIP_EVENTS=[`mouseover`,`focusin`],HIDE_TOOLTIP_EVENTS=[`mouseout`,`focusout`],DATA_PROP=`__bngTooltip`,POPOVER_CONTAINER=`.popover-container`,BngTooltip_default={beforeMount(el){initTooltipData(el)},mounted(el,binding,vnode){setupBindings(el,binding),setupTooltip(el),setListeners(el)},beforeUpdate(el,binding){setupBindings(el,binding),el[DATA_PROP].text===void 0?removeTooltip(el):updateTooltipElement(el)},updated(el){let data=el[DATA_PROP];data.update&&requestAnimationFrame(()=>data.update())},beforeUnmount(el){SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__showTooltip)),HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.removeEventListener(eventName,el.__hideTooltip));let data=el[DATA_PROP];data.dispose&&data.dispose(),removeTooltip(el)}};function setListeners(el){let data=el[DATA_PROP];data.showTooltip||(data.showTooltip=event=>{data.hideDelay&&=(clearTimeout(data.hideDelay),null),data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),el.contains(event.target)&&!data.tooltipElRef.value&&queueTooltipUpdate(el,!0)},SHOW_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.showTooltip,!0))),data.hideTooltip||(data.hideTooltip=event=>{data.tooltipAnimationFrame&&=(cancelAnimationFrame(data.tooltipAnimationFrame),null),!el.contains(event.relatedTarget)&&data.tooltipElRef.value&&queueTooltipUpdate(el,!1)},HIDE_TOOLTIP_EVENTS.forEach(eventName=>el.addEventListener(eventName,data.hideTooltip,!0)))}function setupBindings(el,binding){if(binding.value){let bindingValues=getBindings(binding);el[DATA_PROP].text=bindingValues.text,el[DATA_PROP].hideDelayTime=bindingValues.hideDelay,el[DATA_PROP].position=bindingValues.position,el[DATA_PROP].isBBCode=bindingValues.isBBCode,el[DATA_PROP].style=bindingValues.style}else resetTooltipData(el)}function queueTooltipUpdate(el,shouldShow){let data=el[DATA_PROP];data.tooltipAnimationFrame&&cancelAnimationFrame(data.tooltipAnimationFrame),data.pendingTooltipState=shouldShow,data.tooltipAnimationFrame=requestAnimationFrame(()=>{data.pendingTooltipState?showTooltip(el):hideTooltip(el),data.tooltipAnimationFrame=null,data.pendingTooltipState=null})}function showTooltip(el){let data=el[DATA_PROP];data.text&&(addTooltip(el),usePopover().show(data.popoverName,el))}function hideTooltip(el){let data=el[DATA_PROP],hideFn=()=>{removeTooltip(el)};data.hideDelayTime&&typeof data.hideDelayTime==`number`&&data.hideDelayTime>0?data.hideDelay=setTimeout(()=>{hideFn(),data.hideDelay=null},data.hideDelayTime):hideFn()}function setupTooltip(el){let data=el[DATA_PROP],popover=usePopover(),popoverInstance=popover.register(data.popoverName,data.tooltipElRef,data.position,{arrow:data.arrowElRef,offset:4});if(!popoverInstance){console.error(`Failed to register tooltip`);return}el[DATA_PROP].update=popoverInstance.update,el[DATA_PROP].dispose=()=>popover.unregister(data.popoverName),popover.bind(data.popoverName,el,{placement:data.position})}function updateTooltipElement(el){if(el[DATA_PROP].tooltipElRef.value&&el[DATA_PROP].tooltipElRef.value){let updatedContent=parseText(el[DATA_PROP].text,el[DATA_PROP].isBBCode),spanEl=el[DATA_PROP].tooltipElRef.value.querySelector(`span`);spanEl.innerHTML=updatedContent}}function addTooltip(el){let data=el[DATA_PROP];data.tooltipElRef.value=createTooltip(data);let popoverContainer=document.querySelector(POPOVER_CONTAINER);popoverContainer||=(console.warn(`Popover container not found, using parent element`),el.parentElement),el[DATA_PROP].arrowElRef.value=createArrow(),data.tooltipElRef.value.appendChild(el[DATA_PROP].arrowElRef.value),popoverContainer.appendChild(data.tooltipElRef.value)}function removeTooltip(el){let data=el[DATA_PROP];usePopover().hide(data.popoverName),data.tooltipElRef.value&&(data.tooltipElRef.value.remove(),data.tooltipElRef.value=null),data.update&&data.update()}function createTooltip(data){let container=document.createElement(`div`);return data.style&&Object.keys(data.style).forEach(key=>container.style.setProperty(key,data.style[key])),container.setAttribute(TOOLTIP_ATTR_NAME,``),container.appendChild(createContent(data.text,data.isBBCode)),container}function createContent(text,isBBCode){let content=document.createElement(`span`);return Object.assign(content.style,{}),content.innerHTML=parseText(text,isBBCode),content.setAttribute(CONTENT_ATTR_NAME,``),content}function createArrow(){let arrow$3=document.createElement(`span`);return Object.assign(arrow$3.style,{}),arrow$3.setAttribute(ARROW_ATTR_NAME,``),arrow$3}function parseText(text,isBBCode){return isBBCode?parse$1(text):text}var getBindings=binding=>{let position=binding.arg?binding.arg:DEFAULT_POSITION,hideDelay,text,isBBCode=!1,style={};return typeof binding.value==`object`?(hideDelay=binding.value?.hideDelay||0,text=binding.value?.text||void 0,isBBCode=binding.value?.isBBCode||!1,style=binding.value?.style||{}):text=binding.value,{text,position,hideDelay,isBBCode,style}};function initTooltipData(el){el[DATA_PROP]={popoverName:uniqueId(`bng-tooltip`),tooltipElRef:ref(null),arrowElRef:ref(null)},resetTooltipData(el)}function resetTooltipData(el){el[DATA_PROP].text=void 0,el[DATA_PROP].style={},el[DATA_PROP].isBBCode=!1,el[DATA_PROP].hideDelayTime=void 0,el[DATA_PROP].position=void 0,el[DATA_PROP].hideDelay=null,el[DATA_PROP].tooltipAnimationFrame=null}var reg=(elm,{value})=>nextTick(()=>elm&&wantsFocus(elm,value)),BngUiNavFocus_default={mounted:reg,updated:reg,beforeUnmount:unwantsFocus},registry,procEventNames=eventNames=>eventNames.split(`,`).map(name=>name.trim()).filter(Boolean),BngUiNavLabel_default={mounted(el,{arg:eventNames,value:label}){if(!eventNames){console.warn(`Usage: v-bng-ui-nav-label:back,menu="'Back'"`);return}registry||=useUiNavLabel(),label&&(eventNames=procEventNames(eventNames),registry.registerLabel(el,eventNames,label))},updated(el,{arg:eventNames,value:label}){eventNames&&(eventNames=procEventNames(eventNames),label?registry.registerLabel(el,eventNames,label):registry.clearLabels(el,eventNames))},beforeUnmount(el){let events$3=registry.getElementEvents(el);events$3.length>0&®istry.clearLabels(el,events$3)}},SCROLL_PROP=`__bngUiNavScroll`;function enableScroll(id,el){let tracker=useUINavTracker();tracker.addEvent(SCROLL_EVENT_H,id,el),tracker.addEvent(SCROLL_EVENT_V,id,el),tracker.addForceUnblock(SCROLL_EVENT_H,id),tracker.addForceUnblock(SCROLL_EVENT_V,id)}function disableScroll(id,el){let tracker=useUINavTracker();tracker.removeEvent(SCROLL_EVENT_H,id,el),tracker.removeEvent(SCROLL_EVENT_V,id,el),tracker.removeForceUnblock(SCROLL_EVENT_H,id),tracker.removeForceUnblock(SCROLL_EVENT_V,id)}var BngUiNavScroll_default={mounted(element,{arg,value,modifiers}){let prev=element[SCROLL_PROP]||{},dir={id:prev.id||uniqueId(SCROLL_PROP),forced:modifiers.force,enable:()=>enableScroll(dir.id,element),disable:()=>disableScroll(dir.id,element)};if(element[SCROLL_PROP]=dir,prev.forced&&(element.removeEventListener(`focusin`,prev.enable),element.removeEventListener(`focusout`,prev.disable)),typeof value==`boolean`&&!value){prev.id&&prev.disable(),dir.forced=!1;return}dir.forced?(element.setAttribute(SCROLL_FORCE_ATTR,``),dir.enable()):(element.setAttribute(SCROLL_ATTR,``),element.addEventListener(`focusin`,dir.enable),element.addEventListener(`focusout`,dir.disable))},beforeUnmount(element){let dir=element[SCROLL_PROP];dir&&(dir.forced||(element.removeEventListener(`focusin`,dir.enable),element.removeEventListener(`focusout`,dir.disable)),dir.disable(),delete element[SCROLL_PROP])}},observed=new WeakMap;function createObserver(root=null,rootMargin=`0px`){return new IntersectionObserver(entries=>{for(let entry of entries){let data=observed.get(entry.target);if(!data){entry.target.observer?.unobserve(entry.target);return}if(data.onChange)data.onChange(entry.isIntersecting);else{let displayValue=entry.isIntersecting?[`display`,``,``]:[`display`,`none`,`important`];entry.target.style.setProperty(...displayValue),entry.target.querySelectorAll(`*`).forEach(child=>{child.style.setProperty(...displayValue)})}}},{root,rootMargin,threshold:0})}var defaultObserver=createObserver(),_sfc_main$404={__name:`bngActionDrawer`,props:{actions:{type:Object,default:{allowOpenDrawer:!1}},skeletonItems:{type:Number,default:5},usePath:Boolean,alwaysShowBack:Boolean,itemWidth:Number,itemHeight:Number,itemMargin:Number,big:Boolean,position:String,blur:Boolean},emits:[`select`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({goBack:onBack});let expanded=ref(!1),current=ref(props.actions),lazyItem={label:`…`,icon:icons.stopwatchSectionOutlinedStart};function onSelect(item){(`items`in item||item.lazyLoadItems)&&(current.value&&addBack(current.value),current.value=item),emit$1(`select`,item)}let backState=computed(()=>{let disable=back.value.length===0||!(`items`in current.value);return{show:!disable||props.alwaysShowBack,disable}}),back=ref([]);function onBack(){current.value=null,onSelect(back.value.pop().data)}function addBack(prevItem){let backItem={index:back.value.length,label:prevItem.label,data:prevItem};props.usePath&&prevItem.items&&(backItem.items=prevItem.items.reduce((res,itm)=>[...res,{index:backItem.index+1,label:itm.label,data:itm}],[])),back.value.push(backItem)}let path=computed(()=>props.usePath?[...back.value,{current:!0,label:current.value.label,data:current.value}]:void 0);function onPath(item){item.current||(back.value.splice(item.index),current.value=null,onSelect(item.data))}return watch(()=>props.actions,val=>{back.value.splice(0),current.value=val}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDrawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[0]||=$event=>expanded.value=$event,expandable:current.value.allowOpenDrawer,position:__props.position,blur:__props.blur},createSlots({"header-controls":withCtx(()=>[__props.usePath?(openBlock(),createBlock(unref(bngBreadcrumbs_default),{key:0,items:path.value,limit:`5`,onClick:onPath},null,8,[`items`])):backState.value.show?(openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).outlined,disabled:backState.value.disable,onClick:onBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`accent`,`disabled`])):createCommentVNode(``,!0),renderSlot(_ctx.$slots,`controls`)]),content:withCtx(()=>[withDirectives((openBlock(),createBlock(unref(bngList_default),{layout:expanded.value?unref(LIST_LAYOUTS).TILES:unref(LIST_LAYOUTS).RIBBON,big:__props.big,"target-width":__props.itemWidth,"target-height":__props.itemHeight,"target-margin":__props.itemMargin,"no-background":``},{default:withCtx(()=>[`items`in current.value?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(current.value.items,(item,index)=>renderSlot(_ctx.$slots,`action`,{item,select:onSelect,isLoading:!1,order:index})),256)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(__props.skeletonItems,idx=>renderSlot(_ctx.$slots,`action`,{item:lazyItem,select:()=>{},isLoading:!0})),256))]),_:3},8,[`layout`,`big`,`target-width`,`target-height`,`target-margin`])),[[unref(BngDisabled_default),!(`items`in current.value)]])]),_:2},[__props.usePath?void 0:{name:`header`,fn:withCtx(()=>[createTextVNode(toDisplayString(current.value.label),1)]),key:`0`}]),1032,[`modelValue`,`expandable`,`position`,`blur`]))}},bngActionDrawer_default=_sfc_main$404,__plugin_vue_export_helper_default=(sfc,props)=>{let target=sfc.__vccOpts||sfc;for(let[key,val]of props)target[key]=val;return target},_hoisted_1$347={class:`bng-accordion-container`},_sfc_main$403={__name:`accordion`,props:{singular:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:[Boolean,Object],selected:Boolean,provideParent:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,counter$1=0,items$2=[],selopts=null,emit$1=__emit;watch(()=>props.singular,val=>val&&toggle(items$2.find(itm=>itm.expanded),!0)),watch(()=>props.expanded,val=>toggle(null,val)),watch(()=>props.animated,val=>{for(let itm of items$2)itm.animated=val},{immediate:!0}),watch(()=>props.disabled,val=>{for(let itm of items$2)itm.disabled=val},{immediate:!0}),watch(()=>props.selectable,val=>{val?(selopts={multi:!1},typeof val==`object`&&(selopts={selopts,...val})):selopts=null;for(let itm of items$2)itm.selectable=selopts},{immediate:!0}),watch(()=>props.selected,val=>select(null,val));function toggle(item=null,expanded=null){if(props.singular&&!item&&expanded){if(items$2.length===0)return;item=items$2[0]}for(let itm of items$2){let exp=!itm.expandedActual;item&&itm.id!==item.id?exp=props.singular?!1:itm.expandedActual:typeof expanded==`boolean`&&(exp=expanded),itm.expandedActual=exp}}provide(`accordion-item-toggle`,toggle);function select(item=null,selected=null){let state=[];for(let itm of items$2){let sel;sel=item&&itm.id!==item.id?selopts.multi?itm.selected:!1:typeof selected==`boolean`?selected:selopts.multi?!itm.selected:!0,itm.selected!==sel&&(itm.selected=sel,state.push(itm))}state.length>0&&emit$1(`selected`,state)}provide(`accordion-item-select`,select),props.provideParent&&inject(`accordion-item-childSelect`)(select);let waitForOptions=cb=>selopts?cb():setTimeout(()=>waitForOptions(cb),50);return provide(`accordion-item-register`,item=>{item.id=counter$1++,props.expanded&&(item.expanded=props.expanded),props.disabled&&(item.disabled=props.disabled),props.selectable&&(item.selectable=props.selectable),items$2.push(item),waitForOptions(()=>{props.singular&&item.expanded&&toggle(item,!0),item.selected&&select(item,!0)})}),provide(`accordion-item-unregister`,item=>{let idx=items$2.findIndex(itm=>itm.id===item.id);idx>-1&&items$2.splice(idx,1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$347,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngDisabled_default),__props.disabled]])}},accordion_default=__plugin_vue_export_helper_default(_sfc_main$403,[[`__scopeId`,`data-v-fcd1832d`]]),_hoisted_1$346={key:0,class:`bng-accitem-content`},_sfc_main$402={__name:`accordionItem`,props:{static:Boolean,expanded:Boolean,disabled:Boolean,animated:Boolean,selectable:{type:[Boolean,Object],default:!1},selected:Boolean,data:{},navigable:{type:[Boolean,Object],default:!1},arrowBig:Boolean,primaryAction:Function,secondaryAction:Function,primaryLabel:String,secondaryLabel:String,primaryHintInline:Boolean,secondaryHintInline:Boolean,expandHintInline:Boolean},emits:[`focus`,`unfocus`,`expanded`,`selected`],setup(__props,{expose:__expose,emit:__emit}){let{showIfController}=storeToRefs(controls_default()),navBlocker=useUINavBlocker(),props=__props,elCaption=ref(),elCaptionContent=ref(),elCaptionControls=ref(),hasFocus=ref(!1),icon=computed(()=>props.arrowBig?icons.arrowLargeRight:icons.arrowSmallRight),popTip=ref();watch([()=>hasFocus.value,()=>showIfController.value],()=>{hasFocus.value&&showIfController.value&&(props.primaryHintInline&&props.primaryAction||props.secondaryHintInline&&props.secondaryAction)?popTip.value.show(elCaption.value):popTip.value.isShown()&&popTip.value.hide()});let reg$1=inject(`accordion-item-register`),unreg=inject(`accordion-item-unregister`),toggle=inject(`accordion-item-toggle`),select=inject(`accordion-item-select`),opts=reactive({id:-1,captionClick:evt=>{props.primaryAction&&evt.fromController?props.primaryAction():opts.selectable?select(opts):opts.expandClick()},expandClick:()=>!props.static&&toggle(opts),static:props.static,expandedActual:props.expanded,disabled:props.disabled,animated:props.animated,selected:props.selected,selectable:props.selectable,navigable:{enabled:!1},data:props.data}),emit$1=__emit;__expose({captionClick:opts.captionClick,focus:()=>setFocusExternal(elCaption.value,!0,!1),captionElement:computed(()=>elCaption.value)}),watch(()=>props.static,val=>opts.static=val),watch(()=>props.expanded,val=>!opts.static&&toggle(opts,val)),watch(()=>props.disabled,val=>opts.disabled=val),watch(()=>opts.disabled,val=>!val&&props.disabled&&(opts.disabled=props.disabled)),watch(()=>props.animated,val=>opts.animated=val),watch(()=>props.selectable,val=>opts.selectable=val),watch(()=>props.selected,val=>opts.selected=val),watch(()=>opts.expandedActual,val=>{emit$1(`expanded`,!opts.static&&!opts.disabled&&val)}),watch(()=>props.data,val=>opts.data=val),watch(()=>props.navigable,val=>{if(typeof val!=`object`&&typeof val==`boolean`&&!val){opts.navigable={enabled:!1};return}opts.navigable={enabled:!0,scope:null,...typeof val==`object`?val:{}}},{immediate:!0}),opts.navigable.scope&&useUINavScope(opts.navigable.scope);let onFocus=evt=>{hasFocus.value=!0,navBlocker.blockOnly(opts.static?[`context`]:[]),emit$1(`focus`,evt)},onLoseFocus=evt=>{hasFocus.value=!1,navBlocker.clear(),emit$1(`unfocus`,evt)};return provide(`accordion-item-childSelect`,select$1=>(item,value)=>opts.selectable&&opts.selectable.multi&&select$1(item,value)),provide(`accordion-item-parent`,opts),onMounted(()=>reg$1(opts)),onBeforeUnmount(()=>{popTip.value.isShown()&&popTip.value.hide(),unreg(opts)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-accitem":!0,"bng-accitem-normal":!opts.static&&!opts.selectable,"bng-accitem-static":opts.static,"bng-accitem-expandable":!opts.static,"bng-accitem-selectable":opts.selectable,"bng-accitem-expanded":!opts.static&&opts.expandedActual&&!opts.disabled,"bng-accitem-selected":opts.selected})},[withDirectives((openBlock(),createElementBlock(`div`,mergeProps({ref_key:`elCaption`,ref:elCaption,class:`bng-accitem-caption`,onClick:_cache[1]||=(...args)=>opts.captionClick&&opts.captionClick(...args),onFocus,onBlur:onLoseFocus},{"bng-nav-item":opts.navigable.enabled?!0:void 0,"bng-ui-scope":opts.navigable.scope||void 0}),[opts.static?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:normalizeClass({"bng-accitem-caption-expander":!0,"bng-accitem-caption-expander-big":__props.arrowBig}),type:icon.value,onClick:withModifiers(opts.expandClick,[`stop`])},null,8,[`class`,`type`,`onClick`])),__props.expandHintInline&&!opts.static&&hasFocus.value&&unref(showIfController)?(openBlock(),createBlock(unref(bngBinding_default),{key:1,style:{"padding-right":`0.2em`},uiEvent:`context`,controller:``})):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`elCaptionContent`,ref:elCaptionContent,class:`bng-accitem-caption-content`},[renderSlot(_ctx.$slots,`caption`,{},()=>[_cache[2]||=createTextVNode(`Unnamed item`,-1)],!0)],512),_ctx.$slots.controls?(openBlock(),createElementBlock(`div`,{key:2,ref_key:`elCaptionControls`,ref:elCaptionControls,class:`bng-accitem-caption-controls`,onClick:_cache[0]||=withModifiers(()=>{},[`stop`])},[renderSlot(_ctx.$slots,`controls`,{},void 0,!0)],512)):createCommentVNode(``,!0),createVNode(unref(bngPopoverContent_default),{ref_key:`popTip`,ref:popTip,placement:`right`},{default:withCtx(()=>[__props.primaryHintInline&&__props.primaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:0,uiEvent:`ok`,controller:``})):createCommentVNode(``,!0),__props.secondaryHintInline&&__props.secondaryAction?(openBlock(),createBlock(unref(bngBinding_default),{key:1,uiEvent:`action_2`,controller:``})):createCommentVNode(``,!0)]),_:1},512)],16)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngOnUiNav_default),__props.secondaryAction?__props.secondaryAction:void 0,`action_2`,{focusRequired:!0}],[unref(BngOnUiNav_default),!opts.static&&opts.navigable.enabled?opts.expandClick:void 0,`context`,{focusRequired:!0}],[unref(BngUiNavLabel_default),__props.primaryLabel||`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngUiNavLabel_default),__props.secondaryLabel,`action_2`],[unref(BngUiNavLabel_default),_ctx.$tt(`ui.common.expand`)+`/`+_ctx.$tt(`ui.common.collapse`),`context`]]),createVNode(Transition,{name:opts.animated?`bng-acc-trans`:null},{default:withCtx(()=>[!opts.static&&opts.expandedActual&&!opts.disabled?(openBlock(),createElementBlock(`div`,_hoisted_1$346,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[3]||=createTextVNode(`Empty`,-1)],!0)])):createCommentVNode(``,!0)]),_:3},8,[`name`])],2)),[[unref(BngDisabled_default),opts.disabled]])}},accordionItem_default=__plugin_vue_export_helper_default(_sfc_main$402,[[`__scopeId`,`data-v-dd6087ee`]]),_sfc_main$401={__name:`accordionTree`,props:{data:[Array,Object],dataField:{type:String,required:!0},propsField:String,contentField:String,selectable:{type:[Boolean,Object],default:!1},selectedField:String,isTreeElement:Boolean},emits:[`selected`],setup(__props,{emit:__emit}){let props=__props,dataView=computed(()=>props.data&&(props.data[props.dataField]||props.data)||[]),emit$1=__emit;props.isTreeElement||(watch(()=>dataView.value,refreshSelected),watch(()=>props.selectedField&&props.selectable&&props.selectable.multi,refreshSelected),refreshSelected());let prevState=[];function refreshSelected(){if(!props.selectedField||!props.selectable||!props.selectable.multi)return;let state=[];function deepScan(arr){for(let itm of arr){let data=itm.data||itm;data[props.selectedField]&&state.push({data,selected:!0}),data[props.dataField]&&deepScan(data[props.dataField])}}deepScan(dataView.value),selected(state)}function selected(state){if(!props.isTreeElement){if(!props.selectable.multi){prevState=prevState.filter(itm=>itm.selected);for(let itm of prevState)itm.selected&&(itm.item.selected=!1,props.selectedField&&(itm.item.data[props.selectedField]=!1),state.includes(itm.item)||state.push(itm.item));prevState=state.map(item=>({selected:!!item.selected,item}))}if(props.selectedField){function deepSet(arr,value=void 0){for(let itm of arr){let val=typeof value==`boolean`?value:itm.selected,data=itm.data||itm;data[props.selectedField]=val,data[props.dataField]&&deepSet(data[props.dataField])}}deepSet(state)}}emit$1(`selected`,state)}function branchSelected(state){props.isTreeElement?emit$1(`selected`,state):selected(state)}return(_ctx,_cache)=>dataView.value.length>0?(openBlock(),createBlock(unref(accordion_default),{key:0,class:`acctree`,selectable:__props.selectable,"provide-parent":__props.isTreeElement,onSelected:selected},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(dataView.value,entry=>(openBlock(),createBlock(unref(accordionItem_default),mergeProps({ref_for:!0},__props.propsField?entry[__props.propsField]:void 0,{selected:__props.selectedField?entry[__props.selectedField]:void 0,static:(!entry[__props.dataField]||entry[__props.dataField].length===0)&&(!__props.contentField||!entry[__props.contentField]),data:entry}),{caption:withCtx(()=>[renderSlot(_ctx.$slots,`caption`,{entry},void 0,!0)]),controls:withCtx(()=>[renderSlot(_ctx.$slots,`controls`,{entry},void 0,!0)]),default:withCtx(()=>[__props.contentField&&entry[__props.contentField]?renderSlot(_ctx.$slots,`default`,{key:0,entry},void 0,!0):createCommentVNode(``,!0),entry[__props.dataField]&&entry[__props.dataField].length>0?(openBlock(),createBlock(unref(accordionTree_default),mergeProps({key:1,ref_for:!0},props,{data:entry,"is-tree-element":!0,onSelected:branchSelected}),{caption:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`caption`,{entry:entry$1},void 0,!0)]),controls:withCtx(({entry:entry$1})=>[renderSlot(_ctx.$slots,`controls`,{entry:entry$1},void 0,!0)]),_:2},1040,[`data`])):createCommentVNode(``,!0)]),_:2},1040,[`selected`,`static`,`data`]))),256))]),_:3},8,[`selectable`,`provide-parent`])):createCommentVNode(``,!0)}},accordionTree_default=__plugin_vue_export_helper_default(_sfc_main$401,[[`__scopeId`,`data-v-2ad1085d`]]),_hoisted_1$345={class:`slotted`},_sfc_main$400={__name:`aspectRatio`,props:{ratio:{type:String,default:`16:9`},imageMode:{type:String,default:`cover`,validator:value=>[`cover`,`contain`].includes(value)},image:{type:String,default:null},externalImage:{type:String,default:null}},setup(__props){useCssVars(_ctx=>({v711986eb:__props.imageMode}));let placeholderImageURL=getAssetURL(`images/noimage.png`),slots=useSlots(),props=__props,padding=computed(()=>{if(!props.ratio)return`56.25%`;let[width$1,height$1]=props.ratio.split(`:`).map(Number);return`${height$1/width$1*100}%`}),backgroundStyle=computed(()=>!props.image&&!props.externalImage?{"--padding":padding.value,backgroundImage:`none`}:props.image||props.externalImage?{"--padding":padding.value,backgroundImage:`url("${props.externalImage?props.externalImage:getAssetURL(props.image)}")`}:slots.default?{"--padding":padding.value,backgroundImage:`url("${placeholderImageURL}")`}:{});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`aspect-ratio`,style:normalizeStyle(backgroundStyle.value)},[createBaseVNode(`div`,_hoisted_1$345,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])],4))}},aspectRatio_default=__plugin_vue_export_helper_default(_sfc_main$400,[[`__scopeId`,`data-v-83698898`]]),_hoisted_1$344=[`data-carousel-item`],_sfc_main$399={__name:`carouselItem`,props:{value:{type:[String,Number],required:!0}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:`bng-carousel-item`,"data-carousel-item":__props.value},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],8,_hoisted_1$344))}},carouselItem_default=__plugin_vue_export_helper_default(_sfc_main$399,[[`__scopeId`,`data-v-babc74fb`]]),_hoisted_1$343={key:0,class:`navigation`},_hoisted_2$271=[`onClick`],TRANSITION_TYPES=[`fade`],_sfc_main$398={__name:`carousel`,props:{items:{type:Array,required:!0},current:{type:[String,Number],default:0},vertical:Boolean,loop:{type:Boolean,default:!0},transition:Boolean,transitionType:{type:String,default:`fade`,validator:value=>TRANSITION_TYPES.includes(value)},transitionTime:{type:Number,default:3e3},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,transitionTimer,carouselRoot=ref(null),carousel=ref(null),currentIndex=ref(props.current);computed(()=>``);let navState=reactive({selected:null}),showSlide=value=>{let slideIndex=parseInt(value);currentIndex.value=slideIndex,navState.selected=slideIndex,setTransition()},navShown=computed(()=>props.showNav&&!props.parent),children=[],childIndex=child=>children.findIndex(itm=>itm.element===child.element),addChild=child=>{childIndex(child)===-1&&children.push(child)},remChild=child=>{let idx=childIndex(child);idx>-1&&children.splice(idx,1)},tryParent=(_retry=0)=>{if(props.parent.addChild)props.parent.addChild(exposed);else if(_retry<100){let unwatch=watch(()=>props.parent.addChild,()=>{unwatch(),tryParent(++_retry)})}};watch(()=>props.parent,tryParent),watch(()=>navState.selected,sel=>{for(let child of children)child.showSlide&&child.showSlide(sel)}),onMounted(()=>{setTransition(),props.parent&&tryParent()}),onBeforeUnmount(()=>{transitionTimer&&=(clearInterval(transitionTimer),null),props.parent&&props.parent.remChild&&props.parent.remChild(exposed)});function showPrevious(){if(props.parent)return;let prev;currentIndex.value===0&&props.loop?prev=props.items.length-1:currentIndex.value>0&&(prev=currentIndex.value-1),prev!==void 0&&(navState.selected=prev,currentIndex.value=prev,setTransition())}function showNext(){if(props.parent)return;let next=getNext();next>-1&&(navState.selected=next,currentIndex.value=next,setTransition())}function setTransition(){transitionTimer&&clearInterval(transitionTimer),transitionTimer=setInterval(()=>{let next=getNext();next>-1&&(currentIndex.value=next)},props.transitionTime)}function getNext(){return currentIndex.value===props.items.length-1&&props.loop?0:currentIndex.value(openBlock(),createElementBlock(`div`,{ref_key:`carouselRoot`,ref:carouselRoot,class:normalizeClass({"bng-carousel":!0,"carousel-vertical":__props.vertical,[`transition-${__props.transitionType}`]:!0})},[createBaseVNode(`div`,{ref_key:`carousel`,ref:carousel,class:`carousel-content`},[createVNode(Transition,{name:__props.transitionType},{default:withCtx(()=>[(openBlock(),createBlock(carouselItem_default,{key:currentIndex.value,class:`carousel-slide`,value:currentIndex.value},{default:withCtx(()=>[renderSlot(_ctx.$slots,`item`,{item:__props.items[currentIndex.value],index:currentIndex.value},()=>[createTextVNode(toDisplayString(__props.items[currentIndex.value]),1)],!0)]),_:3},8,[`value`]))]),_:3},8,[`name`])],512),renderSlot(_ctx.$slots,`navigation`,{},()=>[navShown.value&&__props.items&&__props.items.length>1?(openBlock(),createElementBlock(`div`,_hoisted_1$343,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.items,(item,index)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`navigation-item`,{active:index===currentIndex.value}]),key:item.value,onClick:$event=>showSlide(index)},null,10,_hoisted_2$271))),128))])):createCommentVNode(``,!0)],!0)],2))}},carousel_default=__plugin_vue_export_helper_default(_sfc_main$398,[[`__scopeId`,`data-v-f54192e0`]]),_hoisted_1$342={key:0,class:`drawer-header`},_hoisted_2$270={key:1,class:`drawer-content`},_hoisted_3$236={key:2,class:`drawer-header`};const DRAWER_POSITION={bottom:`bottom`,top:`top`,left:`left`,right:`right`};var _sfc_main$397={__name:`drawer`,props:mergeModels({blur:Boolean,position:{type:String,default:DRAWER_POSITION.bottom,validator:val=>Object.values(DRAWER_POSITION).includes(val)}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let emit$1=__emit,expanded=useModel(__props,`modelValue`);watch(()=>expanded.value,val=>emit$1(`change`,val));let slots=useSlots(),expandedContent=computed(()=>expanded.value&&`expanded-content`in slots),hasAnyContent=computed(()=>expandedContent.value||`content`in slots);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-drawer":!0,[`drawer-pos-${__props.position}`]:!0,"drawer-expanded":expanded.value})},[__props.position===`bottom`||__props.position===`right`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$342,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),hasAnyContent.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$270,[expandedContent.value?renderSlot(_ctx.$slots,`expanded-content`,{key:0},void 0,!0):renderSlot(_ctx.$slots,`content`,{key:1},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0),__props.position===`top`||__props.position===`left`?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_3$236,[renderSlot(_ctx.$slots,`header`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]):createCommentVNode(``,!0)],2))}},drawer_default=__plugin_vue_export_helper_default(_sfc_main$397,[[`__scopeId`,`data-v-8023232b`]]),_sfc_main$396={__name:`dynamicComponent`,props:{template:String,translateId:String,translateContext:Boolean,bbcode:Boolean,useComponents:{type:Boolean,default:!0},extraComponents:{type:Object,default:()=>({})}},setup(__props){let ALL_COMPONENTS=Object.fromEntries(Object.entries({...base_exports,...utility_exports}).filter(([name])=>name!==`DEMOS`)),attrs=useAttrs(),props=__props,template=computed(()=>{let res=props.template;return props.translateId&&(res=props.translateContext?$translate.contextTranslate(props.translateId,!0):$translate.instant(props.translateId)),res&&props.bbcode&&(res=parse$1(res)),res||``}),makeComponent=computed(()=>defineComponent({template:template.value,components:{...props.useComponents&&ALL_COMPONENTS,...props.extraComponents},data(){return attrs}}));return(_ctx,_cache)=>template.value&&makeComponent.value?(openBlock(),createBlock(resolveDynamicComponent(makeComponent.value),{key:0})):createCommentVNode(``,!0)}},dynamicComponent_default=_sfc_main$396,_hoisted_1$341={class:`shelf-wrapper`},_hoisted_2$269=[`disabled`],_hoisted_3$235=[`disabled`],storageKey=`bngshelf`,_sfc_main$395={__name:`shelf`,props:mergeModels({saveName:{type:String,default:null},limit:{type:Number,default:5,validator:val=>val>2&&val%2==1},fade:{type:Boolean,default:!1},showExtra:{type:Boolean,default:!0},neighborsFlatten:{type:Boolean,default:!1},neighborsScale:{type:Number,default:1},keepNeighborsAspectRatio:{type:Boolean,default:!1},noLoop:{type:Boolean,default:!1},navShown:{type:Boolean,default:!1},inward:{type:Number,default:0,validator:val=>val>=0&&val<=1}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:mergeModels([`change`,`click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let selectedIndex=useModel(__props,`modelValue`),props=__props,emit$1=__emit,ready=ref(!1),slots=useSlots(),containerRef=ref(null),shelfItems=ref([]),displayItems=ref([]),isAnimating=ref(!1),itemIdCounter=0,lastValidIndex=0,isReverting=!1,isPrevDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===0),isNextDisabled=computed(()=>isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1);watch(selectedIndex,index=>{if(!isReverting){if(index=parseInt(index,10),isNaN(index)||index<0||shelfItems.value.length>0&&index>=shelfItems.value.length){isReverting=!0,selectedIndex.value=lastValidIndex,isReverting=!1;return}lastValidIndex=index,ready.value&&buildDisplayItems()}},{immediate:!0});let timings={single:400,multiStart:200,multiMiddle:200,multiEnd:200};watch(()=>slots.default?.(),update$6,{immediate:!0});function update$6(vnodes){if(ready.value){if(vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]),shelfItems.value=vnodes.reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),props.saveName){let val=localStorage.getItem(`${storageKey}-${props.saveName}`);if(val!==null){let idx=parseInt(val,10);!isNaN(idx)&&idx>=0&&idxhalfLimit)continue;let itemIndex=selectedIndex.value+offset$2;if(props.noLoop){if(itemIndex<0||itemIndex>=shelfItems.value.length)continue}else itemIndex<0?itemIndex=shelfItems.value.length+itemIndex:itemIndex>=shelfItems.value.length&&(itemIndex-=shelfItems.value.length);items$2.push({vnode:shelfItems.value[itemIndex],originalIndex:itemIndex,position:offset$2,id:++itemIdCounter,style:getItemStyle(offset$2,`normal`)})}displayItems.value=items$2}function getItemStyle(position,state=`normal`){let absPosition=Math.abs(position),halfLimit=~~(props.limit/2),isExtraItem=absPosition>halfLimit,factor=halfLimit>0?absPosition/halfLimit:1,leftPercentage;if(leftPercentage=isExtraItem?(position<0?0:props.limit-1)/(props.limit-1)*100:(position+halfLimit)/(props.limit-1)*100,position!==0&&props.inward>0){let pullToCenter=(50-leftPercentage)*props.inward*factor;leftPercentage+=pullToCenter}let rotateY=factor*-30*Math.sign(position),translateZ=0,scaleX=1,scaleY=1,brightness=1;if(position!==0){if(translateZ=-100*factor,props.keepNeighborsAspectRatio){let scale=Math.max(.6,1-factor*.4)*props.neighborsScale;scaleX=scale,scaleY=scale}else scaleX=Math.max(.4,1-factor*.6)*props.neighborsScale,scaleY=Math.max(.6,1-factor*.4)*props.neighborsScale;brightness=Math.max(.5,1-factor*.5),props.neighborsFlatten&&(rotateY=0)}let opacity=1;return state===`entering`||state===`exiting`?(opacity=.1,translateZ=-100*(absPosition/halfLimit),leftPercentage+=2*Math.sign(position)):isExtraItem?opacity=.2:props.fade&&position!==0&&(opacity=Math.max(.4,1-absPosition*.3)),{left:`${leftPercentage}%`,transform:`translateX(-50%) translateY(-50%) translateZ(${translateZ}px) rotateY(${rotateY}deg) scale(${scaleX}, ${scaleY})`,filter:`brightness(${brightness})`,transition:`all 400ms cubic-bezier(0.25, 0.8, 0.25, 1)`,opacity,zIndex:isExtraItem?10-absPosition:100-absPosition}}let abortAnimation=!1;async function toIndex(targetIndex){if(!ready.value||selectedIndex.value===targetIndex||typeof targetIndex!=`number`||targetIndex<0||targetIndex>=shelfItems.value.length)return;if(isAnimating.value)for(abortAnimation=!0;abortAnimation;)await sleep(20);let prevIndex=selectedIndex.value,steps=calculateSteps(selectedIndex.value,targetIndex);if(steps.length!==0){isAnimating.value=!0;try{let stepTimings=calculateStepTimings(steps.length);for(let i=0;i{selectedIndex.value===targetIndex&&setFocusExternal(containerRef.value.querySelector(`[data-shelf-index="${targetIndex}"]`))})}finally{abortAnimation=!1,isAnimating.value=!1}props.saveName&&localStorage.setItem(`${storageKey}-${props.saveName}`,targetIndex.toString()),emit$1(`change`,targetIndex,prevIndex)}}let onFocus=index=>selectedIndex.value!==index&&toIndex(index);function onClick(index,event){selectedIndex.value===index?emit$1(`click`,event,index):toIndex(index)}function calculateStepTimings(stepCount){return stepCount===1?[timings.single]:Array.from({length:stepCount},(_,i)=>i===0?timings.multiStart:i===stepCount-1?timings.multiEnd:timings.multiMiddle)}function calculateSteps(fromIndex,toIndex$1){let targetItemIndex=displayItems.value.findIndex(item=>item.originalIndex===toIndex$1),steps=[];if(targetItemIndex===-1){let current=fromIndex;for(;current!==toIndex$1;){let totalItems=shelfItems.value.length;props.noLoop?toIndex$1>current?current+=1:--current:current=(toIndex$1-current+totalItems)%totalItems<=(current-toIndex$1+totalItems)%totalItems?(current+1)%totalItems:(current-1+totalItems)%totalItems,steps.push(current)}}else{let targetPosition=displayItems.value[targetItemIndex].position;if(targetPosition!==0){let direction$1=targetPosition>0?1:-1,stepsNeeded=Math.abs(targetPosition),current=fromIndex;for(let i=0;i0?current+=1:--current:current=direction$1>0?(current+1)%shelfItems.value.length:(current-1+shelfItems.value.length)%shelfItems.value.length,steps.push(current)}}return steps}async function animateToStep(stepIndex,stepTiming){let halfLimit=Math.floor(props.limit/2),currentIndex=selectedIndex.value,actualDirection=0;if(props.noLoop)actualDirection=stepIndex>currentIndex?1:-1;else{let totalItems=shelfItems.value.length;actualDirection=(stepIndex-currentIndex+totalItems)%totalItems<=(currentIndex-stepIndex+totalItems)%totalItems?1:-1}let newItems=[];if(actualDirection>0){for(let i=0;i=shelfItems.value.length?rightmostIndex-shelfItems.value.length:rightmostIndex),wrappedIndex>=0&&wrappedIndex=0&&wrappedIndexhalfLimit;newItems.push({...currentItem,position:newPosition,style:getItemStyle(newPosition,isExiting?`exiting`:`normal`)})}}displayItems.value=newItems;let delay=stepTiming/2;await sleep(delay),displayItems.value=displayItems.value.map(item=>item.style.opacity===.1&&(item.position===halfLimit||item.position===-halfLimit)?{...item,style:getItemStyle(item.position,`normal`)}:item),await new Promise(resolve$1=>setTimeout(resolve$1,delay))}function navigateNext$1(){isAnimating.value||props.noLoop&&selectedIndex.value===shelfItems.value.length-1||toIndex((selectedIndex.value+1)%shelfItems.value.length)}function navigatePrev(){isAnimating.value||props.noLoop&&selectedIndex.value===0||toIndex(selectedIndex.value===0?shelfItems.value.length-1:selectedIndex.value-1)}__expose({toIndex,next:navigateNext$1,prev:navigatePrev,isSelected:evt=>{let elm=evt.target.closest(`[data-shelf-index]`);if(!elm)return!1;let idx=parseInt(elm.getAttribute(`data-shelf-index`),10);return!isNaN(idx)&&selectedIndex.value===idx}}),onMounted(()=>{ready.value=!0,nextTick(update$6)});function getActiveItem(){let active=document.activeElement;return String(active.dataset.shelfIndex)===String(selectedIndex.value)?null:containerRef.value.querySelector(`[data-shelf-index="${selectedIndex.value}"]`)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$341,[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`containerRef`,ref:containerRef,class:`shelf-container`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(displayItems.value,item=>(openBlock(),createElementBlock(`div`,{key:`item-${item.originalIndex}-${item.id}`,class:`shelf-item`,style:normalizeStyle(item.style)},[(openBlock(),createBlock(resolveDynamicComponent(item.vnode),{"data-shelf-index":item.originalIndex,onClick:$event=>onClick(item.originalIndex,$event),onFocus:$event=>onFocus(item.originalIndex),onUinavFocus:$event=>onFocus(item.originalIndex)},null,40,[`data-shelf-index`,`onClick`,`onFocus`,`onUinavFocus`]))],4))),128))])),[[unref(BngFocusCapture_default),getActiveItem,`101`]]),__props.navShown?(openBlock(),createElementBlock(`button`,{key:0,class:`shelf-nav shelf-nav-prev`,onClick:navigatePrev,disabled:isPrevDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeLeft},null,8,[`type`])],8,_hoisted_2$269)):createCommentVNode(``,!0),__props.navShown?(openBlock(),createElementBlock(`button`,{key:1,class:`shelf-nav shelf-nav-next`,onClick:navigateNext$1,disabled:isNextDisabled.value},[createVNode(unref(bngIcon_default),{type:unref(icons).arrowLargeRight},null,8,[`type`])],8,_hoisted_3$235)):createCommentVNode(``,!0)],512)),[[vShow,displayItems.value.length>0]])}},shelf_default=__plugin_vue_export_helper_default(_sfc_main$395,[[`__scopeId`,`data-v-0109573f`]]),_sfc_main$394={__name:`slotSwitcher`,props:{slotId:{type:String,default:`default`}},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,__props.slotId,normalizeProps(guardReactiveProps(_ctx.$attrs)))}},slotSwitcher_default=_sfc_main$394,_sfc_main$393={__name:`tab`,props:{heading:String,selected:Boolean},setup(__props){return(_ctx,_cache)=>renderSlot(_ctx.$slots,`default`,{tabHeading:__props.heading,tabSelected:__props.selected})}},tab_default=_sfc_main$393,_hoisted_1$340={class:`tab-list`},_sfc_main$392={__name:`tabList`,setup(__props){let tabs=inject(`tabs`),selectTab=inject(`selectTab`),tabHeaderClasses=tab=>({"tab-item":!0,"tab-active-tab":tab.active,"no-hover":tab.active});function handleTabSelect(index,event){let buttonElement=event.currentTarget,hasFocusVisible=document.activeElement&&document.activeElement.classList.contains(`focus-visible`);selectTab(index),hasFocusVisible&&nextTick(()=>{setFocusExternal(buttonElement)})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$340,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(tabs),(tab,i)=>(openBlock(),createBlock(unref(bngButton_default),{key:i,accent:(tab.active,`ghost`),class:normalizeClass(tabHeaderClasses(tab)),tabindex:`0`,"bng-nav-item":``,onClick:$event=>handleTabSelect(tab.index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(tab.heading),1)]),_:2},1032,[`accent`,`class`,`onClick`]))),128))]))}},tabList_default=__plugin_vue_export_helper_default(_sfc_main$392,[[`__scopeId`,`data-v-5c322d77`]]),_hoisted_1$339={class:`tab-container`},_sfc_main$391={__name:`tabs`,props:{selectedIndex:{type:Number,default:-1}},emits:[`change`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,ready=ref(!1),slots=useSlots(),tabListStart=shallowRef(),tabListEnd=shallowRef(),tabsList=ref(),tabsContent=ref([]),selectedIndex=ref(-1),isTabList=vnode=>typeof vnode.type==`object`&&vnode.type.__name===tabList_default.__name;provide(`tabs`,tabsList),watch(()=>slots.default?.(),update$6,{immediate:!0}),watch(()=>props.selectedIndex,index=>selectTab(index));function update$6(vnodes){if(!ready.value)return;vnodes===void 0&&(vnodes=slots.default?.()),Array.isArray(vnodes)||(vnodes=[]);let tabListIndex=vnodes.findIndex(vn=>isTabList(vn));tabListStart.value=tabListIndex===0?vnodes[tabListIndex]:tabList_default,tabListEnd.value=tabListIndex===vnodes.length-1?vnodes[tabListIndex]:null,tabsContent.value=vnodes.filter(vn=>!isTabList(vn)).reduce((res,vnode)=>typeof vnode.type==`symbol`&&vnode.type.toString()===`Symbol(v-fgt)`?(res.push(...vnode.children),res):(res.push(vnode),res),[]),tabsList.value=tabsContent.value.map((tab,index)=>({index,heading:tab.props?.[`tab-heading`]||tab.props?.tabHeading||`Tab ${index+1}`,active:selectedIndex.value===-1?props.selectedIndex===index||!!tab.props?.[`tab-selected`]||!!tab.props?.tabSelected:selectedIndex.value===index}));let activeIndex=tabsList.value.findIndex(tab=>tab.active);selectTab(activeIndex>-1?activeIndex:0)}function selectTab(index){if(!ready.value||typeof index!=`number`||index<0||index>=tabsList.value.length||selectedIndex.value===index)return;let prevTab=tabsList.value[selectedIndex.value];tabsList.value.forEach(tab=>{tab.active=tab.index===index}),selectedIndex.value=index,emit$1(`change`,tabsList.value[index],prevTab)}return provide(`selectTab`,selectTab),__expose({goNext:()=>selectTab((selectedIndex.value+1)%tabsList.value.length),goPrev:()=>selectTab(Math.abs(selectedIndex.value-1)%tabsList.value.length),selectTab}),onMounted(()=>{ready.value=!0,nextTick(update$6)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$339,[tabListStart.value?(openBlock(),createBlock(resolveDynamicComponent(tabListStart.value),{key:0})):createCommentVNode(``,!0),tabsContent.value[selectedIndex.value]?(openBlock(),createBlock(resolveDynamicComponent(tabsContent.value[selectedIndex.value]),{key:1,class:`tab-content`})):createCommentVNode(``,!0),tabListEnd.value?(openBlock(),createBlock(resolveDynamicComponent(tabListEnd.value),{key:2})):createCommentVNode(``,!0)]))}},tabs_default=__plugin_vue_export_helper_default(_sfc_main$391,[[`__scopeId`,`data-v-2ff63a4f`]]),_sfc_main$390={__name:`textScroller`,props:{scrollSpeed:{type:Number,default:3},initialPause:{type:Number,default:1},endingPause:{type:Number,default:1},fadeDuration:{type:Number,default:.2},watchContent:{type:Boolean,default:!1}},setup(__props){let props=__props,slots=useSlots(),events$3={start:[`uinav-focus`,`focus`,`mouseenter`],stop:[`uinav-blur`,`blur`,`mouseleave`]},elContainer=ref(null),elText=ref(null),scrollDistance=ref(0),translateX=ref(0),opacity=ref(1),isActive=ref(!1),isScrolling$1=ref(!1),styleOverrides={"button-icon":`.bng-button.l-icon, .bng-button.r-icon`},overrideClasses=ref([]),parentElement=null,fontSize=ref(16),scrollSpeed=computed(()=>props.scrollSpeed*fontSize.value),animTimer=null,animTimeout=(func,ms)=>(animTimer&&=(clearTimeout(animTimer),null),typeof func==`function`?(animTimer=setTimeout(()=>{animTimer=null,isScrolling$1.value&&func()},ms),animTimer):null),scrollStyles=computed(()=>({transform:`translateX(${translateX.value}px)`,opacity:opacity.value,transition:`opacity ${props.fadeDuration}s linear`+(isScrolling$1.value&&opacity.value>0?`, transform ${scrollDistance.value/scrollSpeed.value}s linear`:``)}));function animLoop(){isScrollable()&&(scrollDistance.value=getSize(),!(scrollDistance.value<=0)&&(opacity.value=1,animTimeout(()=>{translateX.value=-scrollDistance.value,animTimeout(()=>{opacity.value=0,animTimeout(()=>{translateX.value=0,nextTick(animLoop)},props.fadeDuration*1e3)},scrollDistance.value/scrollSpeed.value*1e3+props.endingPause*1e3)},Math.max(props.initialPause,props.fadeDuration)*1e3)))}function isScrollable(){if(!elContainer.value||!elText.value)return!1;let containerWidth=elContainer.value.clientWidth;return elText.value.scrollWidth>containerWidth}function getSize(){if(!elContainer.value||!elText.value)return 0;let containerWidth=elContainer.value.clientWidth,textWidth=elText.value.scrollWidth;return Math.max(0,textWidth-containerWidth)}function animStart(){isActive.value=!0,isScrollable()&&(isScrolling$1.value=!0,translateX.value=0,opacity.value=1,animLoop())}function animStop(restartAnim=!1){isActive.value=!1,isScrolling$1.value=!1,animTimeout(),nextTick(()=>{translateX.value=0,opacity.value=1,typeof restartAnim==`boolean`&&restartAnim&&nextTick(animStart)})}return props.watchContent&&watch(()=>slots.default?.(),()=>animStop(isActive.value),{deep:!0}),watch([()=>scrollSpeed.value,()=>props.initialPause,()=>props.endingPause,()=>props.fadeDuration],()=>animStop(isActive.value)),watch(()=>elContainer.value,()=>{if(!elContainer.value)return;for(parentElement=elContainer.value.parentElement;parentElement&&!parentElement.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`);)if(parentElement=parentElement.parentElement,parentElement===document.body){parentElement=null;break}if(!parentElement)return;overrideClasses.value=[];for(let[key,selectors]of Object.entries(styleOverrides))parentElement.matches(selectors)&&overrideClasses.value.push(`bng-text-override--${key}`);let fSize=window.getComputedStyle(elContainer.value,null).fontSize;fontSize.value=+fSize.substring(0,fSize.length-2),events$3.start.forEach(event=>parentElement.addEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.addEventListener(event,animStop))},{immediate:!0}),onUnmounted(()=>{animTimeout(),parentElement&&(events$3.start.forEach(event=>parentElement.removeEventListener(event,animStart)),events$3.stop.forEach(event=>parentElement.removeEventListener(event,animStop)))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:normalizeClass([`bng-text-scroller`,[{"is-scrolling":isScrolling$1.value},...overrideClasses.value]])},[createBaseVNode(`div`,{ref_key:`elText`,ref:elText,class:`scroller-text`,style:normalizeStyle(scrollStyles.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)],2))}},textScroller_default=__plugin_vue_export_helper_default(_sfc_main$390,[[`__scopeId`,`data-v-4f311fae`]]),_hoisted_1$338=[`data-tree-node-key`,`data-tree-node-expanded`,`data-tree-node-selected`,`data-tree-node-parent-path`,`data-tree-node-path`],_hoisted_2$268={key:1,class:`node`},_hoisted_3$234=[`disabled`],_hoisted_4$199={key:2,"data-tree-node-children":``},_sfc_main$389={__name:`treeNode`,props:{node:{type:Object,required:!0},keyName:{type:String,required:!0},parentNode:Object,selectMode:String,expandMode:String,expandedKeys:Array,selectedKeys:Array,parentPath:Array},setup(__props){let props=__props,$templates=inject(`$templates`),_expandFn=inject(`expandFn`),_selectFn=inject(`selectFn`),expanded=computed(()=>props.expandMode===`prop`?props.node.expanded:props.expandedKeys&&props.expandedKeys.includes(props.node[props.keyName])),expandable=computed(()=>!props.node.disabled&&props.node.children&&props.node.children.length>0),selected=computed(()=>props.selectMode?props.selectMode===`prop`?props.node.selected:props.selectedKeys&&props.selectedKeys.includes(props.node[props.keyName]):!1),selectable=computed(()=>!props.node.disabled&&props.selectMode&&props.node.selectable!==!1),path=computed(()=>props.parentPath?props.parentPath.concat(props.node[props.keyName]):[props.node[props.keyName]]),parentPathString=computed(()=>props.parentPath?props.parentPath.join(`/`):null),pathString=computed(()=>path.value.join(`/`)),nodeProps=computed(()=>({path:path.value,parentPath:props.parentPath}));return(_ctx,_cache)=>{let _component_TreeNode=resolveComponent(`TreeNode`,!0);return openBlock(),createElementBlock(`li`,{"data-tree-node-key":__props.node[__props.keyName],"data-tree-node-expanded":expanded.value,"data-tree-node-selected":selected.value,"data-tree-node-parent-path":parentPathString.value,"data-tree-node-path":pathString.value,"data-tree-node":``},[unref($templates).node?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).node),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`div`,_hoisted_2$268,[__props.node.children&&unref($templates).toggle?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).toggle),{key:0,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`])):(openBlock(),createElementBlock(`span`,{key:1,class:`node-toggle`,onClick:_cache[0]||=()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},disabled:__props.node.disabled},[__props.node.children?(openBlock(),createBlock(unref(bngIcon_default),{key:0,"bng-nav-item":``,type:expanded.value?unref(icons).arrowSmallDown:unref(icons).arrowSmallRight},null,8,[`type`])):createCommentVNode(``,!0)],8,_hoisted_3$234)),unref($templates).content?(openBlock(),createBlock(resolveDynamicComponent(unref($templates).content),{key:2,node:__props.node,parentNode:__props.parentNode,expanded:expanded.value,selected:selected.value,expand:()=>expandable.value?unref(_expandFn)(__props.node,nodeProps.value):{},select:()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},null,8,[`node`,`parentNode`,`expanded`,`selected`,`expand`,`select`])):(openBlock(),createElementBlock(`span`,{key:3,"bng-nav-item":``,class:`node-content`,onClick:_cache[1]||=()=>selectable.value?unref(_selectFn)(__props.node,nodeProps.value):{}},toDisplayString(__props.node.label),1))])),expanded.value&&__props.node.children?(openBlock(),createElementBlock(`ul`,_hoisted_4$199,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.node.children,childNode=>(openBlock(),createBlock(_component_TreeNode,{key:childNode[__props.keyName],node:childNode,parentNode:__props.node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:__props.expandedKeys,selectedKeys:__props.selectedKeys,parentPath:path.value},null,8,[`node`,`parentNode`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`,`parentPath`]))),128))])):createCommentVNode(``,!0)],8,_hoisted_1$338)}}},treeNode_default=__plugin_vue_export_helper_default(_sfc_main$389,[[`__scopeId`,`data-v-aeb14cdb`]]),_hoisted_1$337={class:`tree`},SELECT_SINGLE=`single`,SELECT_MULTIPLE=`multi`,SELECT_PROP=`prop`,SELECT_MODES=[SELECT_SINGLE,SELECT_MULTIPLE,SELECT_PROP],EXPAND_MODEL=`model`,EXPAND_PROP=`prop`,EXPAND_MODES=[EXPAND_MODEL,EXPAND_PROP],_sfc_main$388={__name:`tree`,props:mergeModels({nodes:{type:Array,required:!0},keyName:{type:String,default:`key`},expandMode:{type:String,default:EXPAND_MODEL,validator(value){return EXPAND_MODES.includes(value)}},selectMode:{type:String,validator(value){return SELECT_MODES.includes(value)}}},{expandedKeys:{},expandedKeysModifiers:{},selectedKeys:{},selectedKeysModifiers:{}}),emits:mergeModels([`update:expandedKeys`,`node-expanded`,`node-collapsed`,`expanded-keys-changed`,`node-selected`,`node-unselected`,`selected-keys-changed`],[`update:expandedKeys`,`update:selectedKeys`]),setup(__props,{emit:__emit}){let props=__props,expandedKeys=useModel(__props,`expandedKeys`),selectedKeys=useModel(__props,`selectedKeys`),emit$1=__emit;onBeforeMount(()=>{provide(`$templates`,useSlots()),provide(`expandFn`,expand),provide(`selectFn`,select)});function expand(node,nodeProps){let nodeKey=node[props.keyName];if(props.expandMode===EXPAND_PROP)node.expanded?emit$1(`node-collapsed`,node,nodeProps):emit$1(`node-expanded`,node,nodeProps);else{if(!expandedKeys.value)throw Error(`v-model:expandedKeys must be set`);let expanded=expandedKeys.value.includes(nodeKey),updatedExpandedKeys;expanded?(updatedExpandedKeys=expandedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-collapsed`,node,nodeProps)):(updatedExpandedKeys=[...expandedKeys.value,nodeKey],emit$1(`node-expanded`,node,nodeProps)),expandedKeys.value=updatedExpandedKeys,emit$1(`expanded-keys-changed`,updatedExpandedKeys)}}function select(node,nodeProps){console.log(`select`,node);let nodeKey=node[props.keyName];if(props.selectMode===SELECT_PROP)node.selected?emit$1(`node-selected`,node,nodeProps):emit$1(`node-unselected`,node,nodeProps);else{if(!selectedKeys.value)throw Error(`v-model:selectedKeys must be set`);let selected=selectedKeys.value.includes(nodeKey),updatedSelectedKeys;selected?(updatedSelectedKeys=selectedKeys.value.filter(x=>x!==nodeKey),emit$1(`node-unselected`,node,nodeProps)):props.selectMode===`single`?(updatedSelectedKeys=[nodeKey],emit$1(`node-selected`,node,nodeProps)):props.selectMode===`multi`&&(updatedSelectedKeys=[...selectedKeys.value,nodeKey],emit$1(`node-selected`,node,nodeProps)),selectedKeys.value=updatedSelectedKeys,emit$1(`selected-keys-changed`,updatedSelectedKeys)}}return(_ctx,_cache)=>(openBlock(),createElementBlock(`ul`,_hoisted_1$337,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.nodes,node=>(openBlock(),createBlock(treeNode_default,{key:node[__props.keyName],node,keyName:__props.keyName,selectMode:__props.selectMode,expandMode:__props.expandMode,expandedKeys:expandedKeys.value,selectedKeys:selectedKeys.value},null,8,[`node`,`keyName`,`selectMode`,`expandMode`,`expandedKeys`,`selectedKeys`]))),128))]))}},tree_default=__plugin_vue_export_helper_default(_sfc_main$388,[[`__scopeId`,`data-v-7363528a`]]);const DEMOS$1={};var utility_exports=__export({Accordion:()=>accordion_default,AccordionItem:()=>accordionItem_default,AccordionTree:()=>accordionTree_default,AspectRatio:()=>aspectRatio_default,Carousel:()=>carousel_default,CarouselItem:()=>carouselItem_default,DEMOS:()=>DEMOS$1,DRAWER_POSITION:()=>DRAWER_POSITION,Drawer:()=>drawer_default,DynamicComponent:()=>dynamicComponent_default,Shelf:()=>shelf_default,SlotSwitcher:()=>slotSwitcher_default,Tab:()=>tab_default,TabList:()=>tabList_default,Tabs:()=>tabs_default,TextScroller:()=>textScroller_default,Tree:()=>tree_default,TreeNode:()=>treeNode_default}),_hoisted_1$336={class:`actions-drawer`},_sfc_main$387={__name:`bngActionsDrawer`,props:{header:{type:String,required:!0},headerActions:Array,showHeaderActions:{type:Boolean,default:!0},grouped:Boolean,actions:{type:[Array,Object],required:!0},selected:{type:[String,Number]},expanded:Boolean},emits:[`actionClick`,`headerActionClicked`,`categoryChanged`],setup(__props,{emit:__emit}){let emit$1=__emit,onActionClicked=action=>emit$1(`actionClick`,action);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$336,[createVNode(unref(bngDrawerOld_default),null,createSlots({header:withCtx(()=>[createTextVNode(toDisplayString(__props.header),1)]),content:withCtx(()=>[__props.grouped?(openBlock(),createBlock(unref(tabs_default),{key:0,class:`categories-tab bng-tabs`},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,category=>(openBlock(),createBlock(unref(tab_default),{key:category.category,heading:category.category},{default:withCtx(()=>[(openBlock(),createBlock(unref(bngActionsList_default),{key:category.category,actions:category.items,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[0]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},1032,[`heading`]))),128))]),_:1})):(openBlock(),createBlock(unref(bngActionsList_default),{key:1,actions:__props.actions,selected:__props.selected,class:normalizeClass({expanded:__props.expanded}),onActionClick:_cache[1]||=value=>onActionClicked(value)},null,8,[`actions`,`selected`,`class`]))]),_:2},[__props.showHeaderActions&&__props.headerActions?{name:`headerOptions`,fn:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.headerActions,action=>(openBlock(),createBlock(unref(bngButton_default),{key:action.value,tabindex:`1`,accent:action.accent,onClick:$event=>_ctx.$emit(`headerActionClicked`,action.value)},{default:withCtx(()=>[createTextVNode(toDisplayString(action.label),1)]),_:2},1032,[`accent`,`onClick`]))),128))]),key:`0`}:void 0]),1024)]))}},bngActionsDrawer_default=__plugin_vue_export_helper_default(_sfc_main$387,[[`__scopeId`,`data-v-b433a352`]]),_hoisted_1$335={class:`header-wrapper`},_hoisted_2$267={class:`drawer-content`},_hoisted_3$233={key:0,class:`filters-wrapper`},_hoisted_4$198={class:`drawer-actions-wrapper`},_hoisted_5$168={key:0,class:`action-divider`},_hoisted_6$143={key:1,class:`progress-indicator`},_sfc_main$386={__name:`bngActionsDrawerOne`,props:{value:{type:Object,required:!0},flattenChildren:Boolean,allowOpenDrawer:Boolean,openDrawerLabel:String,closeDrawerLabel:String,loading:Boolean,header:String,blur:Boolean},emits:[`update:currentActionPath`,`update:loading`,`actionClicked`,`actionItemChanged`,`drawerOpened`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,drawerState=reactive({isOpenCatalog:!1,currentPath:[],drawerFilters:[]}),currentActionPath=computed({get:()=>drawerState.currentPath,set:newValue=>{drawerState.currentPath=newValue}}),parentAction=computed(()=>{if(!currentActionPath.value||currentActionPath.value.length===0)return null;let currentAction$1=props.value;for(let key of currentActionPath.value.slice(0,-1))currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),currentAction=computed(()=>{let currentAction$1=props.value;for(let key of currentActionPath.value)currentAction$1=currentAction$1.items.find(x=>x.value===key);return currentAction$1}),isDrawerOpen=computed({get:()=>drawerState.isOpenCatalog,set:newValue=>{drawerState.isOpenCatalog=newValue,emit$1(`drawerOpened`,newValue)}}),loading=computed({get:()=>props.loading,set:newValue=>emit$1(`update:loading`,newValue)}),canViewCatalogDisplayMode=computed(()=>(console.log(`canViewCatalogDisplayMode`),loading.value===!0||currentAction.value.allowOpenDrawer===!1?!1:(console.log(`currentAction`,currentAction.value),currentAction.value.items.every(x=>x.lazyLoadItems===!0||x.items)))),drawerFilterValue=computed({get:()=>drawerState.drawerFilters&&drawerState.drawerFilters.length>0?drawerState.drawerFilters[0]:null,set:newValue=>{drawerState.drawerFilters=newValue?[newValue]:[]}}),catalogFilters=computed(()=>{let activeAction=isDrawerOpen.value?parentAction.value:currentAction.value;return activeAction.items.every(x=>x.items&&x.items.length>0||x.lazyLoadItems)?activeAction.items.map(x=>({label:x.label,value:x.value})):[]}),showBackButton=computed(()=>currentActionPath.value.length>0);watch(drawerFilterValue,(newValue,oldValue)=>{console.log(`drawerFilterValue`,newValue,oldValue),newValue&&!oldValue?currentActionPath.value=[...currentActionPath.value,newValue]:newValue&&oldValue?currentActionPath.value=[...currentActionPath.value.slice(0,-1),newValue]:!newValue&&oldValue&&(currentActionPath.value=[...currentActionPath.value].slice(0,-1))}),watch(currentActionPath,()=>{emit$1(`actionItemChanged`,currentAction.value,currentActionPath.value)});let selectAction=actionItem=>{(actionItem.items&&actionItem.items.length>0||actionItem.lazyLoadItems===!0)&&(isDrawerOpen.value&&=!1,currentActionPath.value=[...currentActionPath.value,actionItem.value]),emit$1(`actionClicked`,actionItem)},toggleOpenCatalog=()=>{isDrawerOpen.value?closeDrawer():openDrawer()},goBack=()=>{isDrawerOpen.value?closeDrawer():currentActionPath.value=[...currentActionPath.value].slice(0,-1)};function openDrawer(){drawerFilterValue.value=catalogFilters.value[0].value,isDrawerOpen.value=!0}function closeDrawer(){drawerFilterValue.value=null,isDrawerOpen.value=!1}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-actions-drawer`,{expanded:isDrawerOpen.value}])},[createVNode(unref(bngDrawerOld_default),{blur:__props.blur,class:`bng-drawer`},{header:withCtx(()=>[renderSlot(_ctx.$slots,`header`,{actionItem:currentAction.value,canGoBack:showBackButton.value,goBack},()=>[createBaseVNode(`div`,_hoisted_1$335,[showBackButton.value?(openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).arrowLargeLeft,accent:unref(ACCENTS).secondary,class:`back-btn`,onClick:goBack},{default:withCtx(()=>[..._cache[1]||=[createTextVNode(`Back`,-1)]]),_:1},8,[`icon`,`accent`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(currentAction.value.label),1)])],!0)]),content:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$267,[drawerState.isOpenCatalog&&catalogFilters.value.length>0?(openBlock(),createElementBlock(`div`,_hoisted_3$233,[createVNode(unref(bngPillFilters_default),{modelValue:drawerState.drawerFilters,"onUpdate:modelValue":_cache[0]||=$event=>drawerState.drawerFilters=$event,options:catalogFilters.value},null,8,[`modelValue`,`options`])])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$198,[createBaseVNode(`div`,{class:normalizeClass([`drawer-actions`,{expanded:drawerState.isOpenCatalog}])},[loading.value?(openBlock(),createElementBlock(`div`,_hoisted_6$143,[..._cache[2]||=[createBaseVNode(`div`,{class:`loader`},null,-1)]])):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(currentAction.value.items,action=>(openBlock(),createElementBlock(Fragment,{key:action.value},[action.type===`actionDivider`?(openBlock(),createElementBlock(`div`,_hoisted_5$168,toDisplayString(action.label),1)):renderSlot(_ctx.$slots,`item`,{key:1,actionItem:action,onClick:()=>selectAction(action)},()=>[createVNode(unref(bngImageTile_default),{label:action.label,icon:action.icon,onClick:$event=>selectAction(action)},null,8,[`label`,`icon`,`onClick`])],!0)],64))),128))],2)]),canViewCatalogDisplayMode.value?renderSlot(_ctx.$slots,`footer`,{key:1},()=>[createVNode(unref(bngButton_default),{class:`catalog-btn`,accent:unref(ACCENTS).outlined,onClick:toggleOpenCatalog},{default:withCtx(()=>[drawerState.isOpenCatalog?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.closeDrawerLabel?__props.closeDrawerLabel:`Collapse catalog`),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(__props.openDrawerLabel?__props.openDrawerLabel:`Open full catalog`),1)],64))]),_:1},8,[`accent`])],!0):createCommentVNode(``,!0)])]),_:3},8,[`blur`])],2))}},bngActionsDrawerOne_default=__plugin_vue_export_helper_default(_sfc_main$386,[[`__scopeId`,`data-v-529c2a59`]]),_hoisted_1$334={class:`actions`},_sfc_main$385={__name:`bngActionsList`,props:{actions:{type:Array,required:!0},selected:{type:[String,Number],required:!1}},emits:[`actionClick`],setup(__props,{emit:__emit}){let emit$1=__emit;return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$334,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.actions,action=>(openBlock(),createBlock(unref(bngImageTile_default),mergeProps({class:`action-tile`,tabindex:`0`,key:action.value},{ref_for:!0},action,{"bng-nav-item":``,onClick:$event=>emit$1(`actionClick`,action.value)}),null,16,[`onClick`]))),128))]))}},bngActionsList_default=__plugin_vue_export_helper_default(_sfc_main$385,[[`__scopeId`,`data-v-8790d45d`]]),_hoisted_1$333=[`ui-event`],_hoisted_2$266={key:0},_hoisted_3$232={key:3,class:`combo-separator`},MULTI_ID=`[PLUS]`,MULTI_LABEL=`+`,_sfc_main$384={__name:`bngBinding`,props:{action:String,showUnassigned:Boolean,device:[String,Array],deviceKey:String,dark:Boolean,deviceMask:[String,Function],controller:Boolean,uiEvent:String,trackIgnore:Boolean,unassignedText:{default:`[N/A]`,type:String},viewerObj:Object,imagePack:String,actionVariants:Boolean,useLastDevice:{type:Boolean,default:!0},vertical:Boolean},setup(__props,{expose:__expose}){let $simplemenu=inject(`$simplemenu`),Controls=controls_default(),{showIfController,lastControllersSignature}=storeToRefs(Controls),props=__props,iconColors={dark:`var(--bng-off-black)`,light:`var(--bng-off-white)`},iconColor=computed(()=>iconColors[props.dark?`dark`:`light`]);computed(()=>iconColors[props.dark?`light`:`dark`]);let controllerOnly=computed(()=>props.controller||$simplemenu.value),LABELS_BIG=[`enter`,`tab`,`capslock`,`backspace`,`lshift`,`rshift`,`left`,`right`,`up`,`down`,`space`,`grave`,`comma`,`period`].map(c=>CONTROL_LABELS[c]||c),LABELS_OFFSET=[`space`].map(c=>CONTROL_LABELS[c]||c),rgxSanitize$1=s=>s.replace(/[-.+*$^?:|[\](){}]/g,`\\$&`),LABELS_RGX=RegExp(`(`+[MULTI_ID,...LABELS_BIG,...LABELS_OFFSET].map(rgxSanitize$1).join(`|`)+`)`,`g`),viewerObj=computed(()=>{if(props.viewerObj)return props.viewerObj;if(controllerOnly.value&&showIfController.value){let opts={...props};return opts.controller=!0,opts._controllerSignature=lastControllersSignature.value,Controls.makeViewerObj(opts)}return Controls.makeViewerObj(props)}),viewerVariants=computed(()=>{if(!viewerObj.value)return[];let variants=viewerObj.value.variants||[viewerObj.value];variants=variants.map(obj=>obj.multiControls||[obj]);for(let objs of variants)for(let obj of objs)if(obj&&(!obj.special||obj.ownLabel)&&!obj.controlSegments){let control=obj.ownLabel||obj.control;control=control.replace(/ \+ /g,MULTI_ID),obj.controlSegments=String(control).split(LABELS_RGX).filter(Boolean).map(segment=>({value:segment===MULTI_ID?MULTI_LABEL:segment,class:(LABELS_BIG.includes(segment)?`label-bigger `:``)+(LABELS_OFFSET.includes(segment)?`label-offset `:``)+(segment===MULTI_ID?`label-multi `:``)}))}return variants}),display=computed(()=>{let res=!!viewerObj.value;if(viewerObj.value)if(props.deviceMask){let dev=viewerObj.value.devName;res=typeof props.deviceMask==`function`?props.deviceMask(dev):dev.startsWith(props.deviceMask)}else controllerOnly.value&&(res=showIfController.value);return res||props.showUnassigned});__expose({displayed:display});let eventName=computed(()=>props.action?props.action:props.uiEvent?props.uiEvent:null),uiNavTracker=useUINavTracker(),ownerId$1=uniqueId(`bngBinding`),trackedEvent=``,track$1=(eventName$1=null)=>{if(trackedEvent&&=(uiNavTracker.removeIgnore(trackedEvent,ownerId$1),``),!(props.trackIgnore||!display.value)&&eventName$1){if(trackedEvent===eventName$1)return;trackedEvent=eventName$1,uiNavTracker.addIgnore(trackedEvent,ownerId$1)}};return watch(()=>props.trackIgnore,val=>track$1(val?null:eventName.value)),watch(display,()=>track$1(eventName.value)),watch(eventName,(val,prev)=>{prev&&track$1(),val&&track$1(val)}),onMounted(()=>track$1(eventName.value)),onUnmounted(()=>track$1()),(_ctx,_cache)=>display.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`binding-wrapper`,{"binding-theme-dark":__props.dark,"binding-theme-light":!__props.dark,"with-variants":viewerVariants.value.length>1,vertical:__props.vertical}]),"ui-event":__props.uiEvent},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerVariants.value,(viewerObjs,index)=>(openBlock(),createElementBlock(`span`,{key:index,class:normalizeClass([`binding-container`,{"combo-binding":viewerObjs.length>1}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObjs,(viewerObj$1,index$1)=>(openBlock(),createElementBlock(Fragment,{key:index$1},[viewerObj$1&&viewerObj$1.controlSegments?(openBlock(),createElementBlock(`kbd`,_hoisted_2$266,[(openBlock(!0),createElementBlock(Fragment,null,renderList(viewerObj$1.controlSegments,(seg,i)=>(openBlock(),createElementBlock(`span`,{key:i,class:normalizeClass(seg.class)},toDisplayString(seg.value),3))),128))])):viewerObj$1&&viewerObj$1.special?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`bng-binding-icon`,type:unref(icons)[viewerObj$1.ownIcon],color:iconColor.value},null,8,[`type`,`color`])):!viewerObj$1&&__props.showUnassigned?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`bng-binding-icon n-a`,type:unref(icons).NA,color:iconColor.value},null,8,[`type`,`color`])):createCommentVNode(``,!0),index$1Number(val)>0},simple:Boolean,blur:Boolean,disableLastItem:Boolean,showBackButton:Boolean,showBackBinding:{type:Boolean,default:!0},navigable:{type:Boolean,default:!0}},emits:[`click`,`back`],setup(__props,{emit:__emit}){let bid=uniqueId(`bng-path`),emit$1=__emit,props=__props,pathView=computed(()=>{if(!Array.isArray(props.items))return[];let mapItem=itm=>({label:itm.label,items:itm.items,data:itm,dividerType:itm.dividerType}),items$2=props.items.map(mapItem),res=props.limit?items$2.slice(-props.limit):items$2;if(!props.simple){let looseCmp=(a$1,b)=>a$1.label===b.label&&a$1.value===b.value,len=res.length;for(let i=1;ilooseCmp(itm,res[idx])),items:items$3.map(mapItem)})}}return props.limit&&items$2.length>props.limit&&res.unshift({label:`…`,data:items$2[items$2.length-props.limit-1]}),res.length>0&&(res[0].first=!0,res.at(-1).last=!0),res});function onClick(item,index){(!props.disableLastItem||index(openBlock(),createElementBlock(`div`,{class:`bng-path`,"bng-no-child-nav":!__props.navigable},[__props.showBackButton?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`back-button`,accent:unref(ACCENTS).custom,onClick:_cache[0]||=$event=>emit$1(`back`),tabindex:`1`},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallLeft,class:`back-icon`},null,8,[`type`]),__props.showBackBinding?(openBlock(),createBlock(unref(bngBinding_default),{key:0,"ui-event":`back`,controller:``,"track-ignore":``})):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.back`)),1)]),_:1},8,[`accent`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(pathView.value,(item,index)=>(openBlock(),createElementBlock(Fragment,{key:index},[item.dropdown?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(bngButton_default),{class:`bng-path-item bng-path-has-dropdown`,accent:unref(ACCENTS).text,icon:unref(icons).arrowSmallRight},null,8,[`accent`,`icon`]),[[unref(BngBlur_default),__props.blur],[unref(BngPopover_default),item.dropdown,`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverMenu_default),{name:item.dropdown,focus:``},{default:withCtx(({hide:hide$2})=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(item.items,(subitem,idx)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:idx,class:normalizeClass({selected:idx===item.selected}),accent:unref(ACCENTS).menu,onClick:$event=>onMenuClick(subitem,hide$2)},{default:withCtx(()=>[createTextVNode(toDisplayString(subitem.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))]),_:2},1032,[`name`])],64)):(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:normalizeClass([`bng-path-item`,{"bng-path-simple":__props.simple,"bng-path-disabled":__props.disableLastItem&&item.last,"bng-path-first":item.first,"bng-path-last":item.last}]),accent:unref(ACCENTS).text,onClick:$event=>onClick(item,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(item.label),1)]),_:2},1032,[`class`,`accent`,`onClick`])),[[unref(BngBlur_default),__props.blur]]),__props.simple&&!item.last?(openBlock(),createElementBlock(`div`,_hoisted_2$265,[withDirectives(createVNode(unref(bngIcon_default),{type:item.dividerType||unref(icons).slashRight},null,8,[`type`]),[[unref(BngBlur_default),__props.blur]])])):createCommentVNode(``,!0)],64))],64))),128))],8,_hoisted_1$332))}},bngBreadcrumbs_default=__plugin_vue_export_helper_default(_sfc_main$383,[[`__scopeId`,`data-v-4a2e18d5`]]),_hoisted_1$331=[`accent`,`disabled`],_hoisted_2$264={key:0,class:`hold-arrow`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 12`,preserveAspectRatio:`xMidYMid`},_hoisted_3$231={key:3,class:`label`},_hoisted_4$197={key:5,class:`label`},_hoisted_5$167={key:6};const ACCENTS={main:`main`,secondary:`secondary`,outlined:`outlined`,text:`text`,attention:`attention`,attentionghost:`attentionghost`,attentionoutlined:`attentionoutlined`,ghost:`ghost`,menu:`menu`,custom:`custom`};var _sfc_main$382={__name:`bngButton`,props:{accent:{type:String,default:`main`,validator:v=>Object.values(ACCENTS).includes(v)||v===``},iconLeft:[Object,String],iconRight:[Object,String],label:String,icon:[Object,String],externalIcon:String,showHold:Boolean,holdVertical:Boolean,disabled:Boolean,noSound:Boolean},setup(__props,{expose:__expose}){let slots=useSlots(),uiNavEvent=ref(),btnDOMElRef=ref(),attrs=useAttrs(),useOldIcons=computed(()=>`oldIcons`in attrs);watchUINavEventChange(btnDOMElRef,({eventName,action})=>{}),__expose({getElement(){return btnDOMElRef.value}});let isPlainTextSlot=ref(!1);function checkIfPlainText(){let slotContent=slots.default?slots.default():[];isPlainTextSlot.value=slotContent.length===1&&typeof slotContent[0].type==`symbol`&&String(slotContent[0].type).indexOf(`v-txt`)>-1&&slotContent[0].children.trim().length>0}watch(()=>slots.default,checkIfPlainText),checkIfPlainText();let props=__props,needsFallbackHoldOffset=ref(!0);return watchEffect(()=>{btnDOMElRef.value&&props.accent===`custom`&&window.getComputedStyle(btnDOMElRef.value).getPropertyValue(`--bng-button-custom-hold-offset`).trim()&&(needsFallbackHoldOffset.value=!1)}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`button`,{ref_key:`btnDOMElRef`,ref:btnDOMElRef,accent:__props.accent,class:normalizeClass({"show-hold":__props.showHold,"hold-vertical":__props.holdVertical,"bng-button":!0,empty:!unref(slots).default&&!__props.label,"l-icon":__props.iconLeft||__props.icon,"r-icon":__props.iconRight,"external-icon":__props.externalIcon,"fallback-hold-offset":props.accent===`custom`&&needsFallbackHoldOffset.value}),disabled:__props.disabled},[__props.showHold?(openBlock(),createElementBlock(`svg`,_hoisted_2$264,[..._cache[0]||=[createBaseVNode(`path`,{d:`M1,1 L8,2 L16,1 L8,11 z`},null,-1)]])):createCommentVNode(``,!0),useOldIcons.value&&(__props.iconLeft||__props.icon)?(openBlock(),createBlock(unref(bngOldIcon_default),{key:1,type:__props.iconLeft||__props.icon},null,8,[`type`])):!useOldIcons.value&&(__props.iconLeft||__props.icon||__props.externalIcon)?(openBlock(),createBlock(unref(bngIcon_default),{key:2,class:`icon`,type:__props.iconLeft||__props.icon,externalImage:__props.externalIcon},null,8,[`type`,`externalImage`])):createCommentVNode(``,!0),isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_3$231,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):isPlainTextSlot.value?createCommentVNode(``,!0):renderSlot(_ctx.$slots,`default`,{key:4},void 0,!0),__props.label&&!isPlainTextSlot.value?(openBlock(),createElementBlock(`span`,_hoisted_4$197,toDisplayString(__props.label),1)):createCommentVNode(``,!0),uiNavEvent.value?(openBlock(),createElementBlock(`span`,_hoisted_5$167,toDisplayString(uiNavEvent.value),1)):createCommentVNode(``,!0),useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngOldIcon_default),{key:7,span:``,type:__props.iconRight},null,8,[`type`])):!useOldIcons.value&&__props.iconRight?(openBlock(),createBlock(unref(bngIcon_default),{key:8,class:`icon`,type:__props.iconRight},null,8,[`type`])):createCommentVNode(``,!0),_cache[1]||=createBaseVNode(`div`,{class:`background`},null,-1)],10,_hoisted_1$331)),[[unref(BngSoundClass_default),!__props.disabled&&!__props.noSound&&`bng_click_hover_generic`]])}},bngButton_default=__plugin_vue_export_helper_default(_sfc_main$382,[[`__scopeId`,`data-v-8b356414`]]),_hoisted_1$330={class:`card-cnt`},ANIMATION_TYPES=[`fade`,`slide`],_sfc_main$381={__name:`bngCard`,props:{backgroundImage:String,footerStyles:Object,hideFooter:Boolean,animateFooter:Boolean,animateFooterType:{type:String,default:`fade`,validator:value=>ANIMATION_TYPES.includes(value)}},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v3c03b7b2:backgroundImageStyle.value}));let props=__props,slots=useSlots(),hasFooter=computed(()=>(slots.footer||slots.buttons)&&!props.hideFooter),buttonsContainer=ref(),backgroundImageStyle=computed(()=>props.backgroundImage?`url('${props.backgroundImage}')`:``);return __expose({buttonsContainer}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-card bng-card-wrapper`,{"with-background-image":backgroundImageStyle.value}])},[createBaseVNode(`div`,_hoisted_1$330,[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card`,-1)],!0)]),createVNode(Transition,{name:__props.animateFooter?__props.animateFooterType:``},{default:withCtx(()=>[hasFooter.value?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`buttonsContainer`,ref:buttonsContainer,class:`footer-container`,style:normalizeStyle(__props.footerStyles)},[renderSlot(_ctx.$slots,`buttons`,{},void 0,!0),renderSlot(_ctx.$slots,`footer`,{},void 0,!0)],4)):createCommentVNode(``,!0)]),_:3},8,[`name`])],2))}},bngCard_default=__plugin_vue_export_helper_default(_sfc_main$381,[[`__scopeId`,`data-v-32edaae4`]]),_sfc_main$380={__name:`bngCardHeading`,props:{type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`,`none`].includes(v)||v===``},outline:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`h2`,{class:normalizeClass({"card-heading":!0,[`heading-style-${__props.type}`]:!0,outline:__props.outline})},[renderSlot(_ctx.$slots,`default`,{},()=>[_cache[0]||=createTextVNode(`BNG Card Heading`,-1)],!0)],2))}},bngCardHeading_default=__plugin_vue_export_helper_default(_sfc_main$380,[[`__scopeId`,`data-v-fc76db37`]]),_hoisted_1$329={key:0,class:`colour-picker-switch`};const VIEWS={simple:{slider:!0,picker:!1,saturation:!1,luminosity:!1},compact_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1,compact:!0},compact_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0,compact:!0},saturation:{slider:!1,picker:!0,saturation:!0,luminosity:!1},luminosity:{slider:!1,picker:!0,saturation:!1,luminosity:!0},full_saturation:{slider:!0,picker:!0,saturation:!0,luminosity:!1},full_luminosity:{slider:!0,picker:!0,saturation:!1,luminosity:!0}};var valuesDef={hue:.5,saturation:1,luminosity:.5},_sfc_main$379={__name:`bngColorPicker`,props:{modelValue:{type:Object,default:{...valuesDef}},view:{type:[String,Object],default:`full_luminosity`,validator:val=>typeof val==`string`||val in VIEWS},showText:{type:Boolean,default:!0},step:{type:Number,default:.001},disabled:Boolean},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let $simplemenu=inject(`$simplemenu`),props=__props,sliderIndicator=`popout`,pickerMode=ref(`luminosity`),opts=ref({}),values=reactive({...valuesDef}),colorDot=ref({x:0,y:0});watch([()=>props.view,$simplemenu],()=>{if(typeof props.view==`string`)for(let key in VIEWS[props.view])opts.value[key]=VIEWS[props.view][key];else opts.value={...VIEWS[props.view]};$simplemenu.value?(opts.value.picker=!1,opts.value.compact&&(opts.value.slider=!0)):opts.value.compact&&loadCompactMode(),opts.value.picker&&setColorDot()},{immediate:!0});function updColour(){for(let key in values)values[key]=props.modelValue[key];opts.value.picker&&setColorDot()}watch(()=>props.modelValue,updColour),watch(()=>props.modelValue.hue,updColour),watch(()=>props.modelValue.saturation,updColour),watch(()=>props.modelValue.luminosity,updColour);let current=computed(()=>({hue:~~(values.hue*360),saturation:~~(values.saturation*100),luminosity:~~(values.luminosity*100)})),emitter=__emit;function notify(){for(let key in values)props.modelValue[key]=values[key];emitter(`change`,props.modelValue),emitter(`update:modelValue`,props.modelValue)}let hueLoop=[...Array(7)].map((_,i)=>i/6*360),gradients=reactive({hueStatic:hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`),hue:computed(()=>hueLoop.map(hue=>`hsl(${hue}, 100%, 50%)`)),overlaySaturation:[`hsla(0, 0%,  0%, 0)`,`hsla(0, 0%, 50%, 1)`],overlayLuminosity:[`hsla(0, 0%, 100%, 1)`,`hsla(0, 0%, 100%, 0) 50%`,`hsla(0, 0%,   0%, 0) 50%`,`hsla(0, 0%,   0%, 1)`],pickerOverlay:computed(()=>opts.value.saturation?gradients.overlaySaturation:gradients.overlayLuminosity),saturation:computed(()=>[`hsl(${current.value.hue},   0%, ${current.value.luminosity}%)`,`hsl(${current.value.hue}, 100%, ${current.value.luminosity}%)`]),luminosity:computed(()=>[`hsl(${current.value.hue}, ${current.value.saturation}%,   0%)`,`hsl(${current.value.hue}, ${current.value.saturation}%,  50%)`,`hsl(${current.value.hue}, ${current.value.saturation}%, 100%)`])}),isMousedown=!1;function onMousedown(){isMousedown=!0}function onMousemove(evt){updateColor(evt)}function onMouseupLeave(evt){updateColor(evt,!0)}function getPosition(evt){let rect=evt.target.getBoundingClientRect();return rect.width<20?colorDot.value:{x:(evt.x-rect.left)/rect.width*100,y:(evt.y-rect.top)/rect.height*100}}function updateColor(evt,mouseLeave=!1){if(!isMousedown)return;mouseLeave&&(isMousedown=!1);let pos=getPosition(evt);values.hue=Math.max(0,Math.min(pos.x,100))/100;let secondary=1-Math.max(0,Math.min(pos.y,100))/100;opts.value.saturation?values.saturation=secondary:values.luminosity=secondary,setColorDot(),nextTick(notify)}function setColorDot(){colorDot.value={x:values.hue*100,y:(1-(opts.value.saturation?values.saturation:values.luminosity))*100}}function toggleCompactMode(){opts.value.slider=!opts.value.slider,opts.value.picker=!opts.value.picker,saveCompactMode()}function togglePickerMode(){pickerMode.value=pickerMode.value===`luminosity`?`saturation`:`luminosity`,opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,saveCompactMode()}function loadCompactMode(){let readOption=(name,val=null)=>JSON.parse(localStorage.getItem(name)||JSON.stringify(val));opts.value.picker=readOption(`bngColorPicker-picker`,!0),opts.value.slider=readOption(`bngColorPicker-slider`,!1),pickerMode.value=readOption(`bngColorPicker-picker-mode`,`luminosity`),opts.value.luminosity=pickerMode.value===`luminosity`,opts.value.saturation=pickerMode.value===`saturation`,!opts.value.luminosity&&!opts.value.saturation&&(opts.value.luminosity=!0)}function saveCompactMode(){let saveOption=(name,val)=>localStorage.setItem(name,JSON.stringify(val));saveOption(`bngColorPicker-picker`,opts.value.picker),saveOption(`bngColorPicker-slider`,opts.value.slider),saveOption(`bngColorPicker-picker-mode`,pickerMode.value)}return onMounted(()=>{updColour(),!$simplemenu.value&&opts.value.compact&&loadCompactMode()}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass({"colour-picker-container":!0,"colour-picker-mode-picker":opts.value.picker,"colour-picker-mode-slider":opts.value.slider,"colour-picker-mode-compact":opts.value.compact})},[opts.value.compact?(openBlock(),createElementBlock(`div`,_hoisted_1$329,[_cache[3]||=createBaseVNode(`span`,null,`Custom color`,-1),!unref($simplemenu)&&opts.value.picker?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,accent:unref(ACCENTS).text,icon:unref(icons).materialTransparency01,onClick:togglePickerMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle vertical axis mode to ${pickerMode.value===`luminosity`?`saturation`:`brightness`}`,`top`]]):createCommentVNode(``,!0),unref($simplemenu)?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:opts.value.picker?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:opts.value.picker?unref(icons).materialGlossy:unref(icons).listSmall,onClick:toggleCompactMode},null,8,[`accent`,`icon`])),[[unref(BngTooltip_default),`Toggle picker/slider mode`,`top`]])])):createCommentVNode(``,!0),opts.value.picker?withDirectives((openBlock(),createElementBlock(`div`,{key:1,class:`colour-picker`,onMousemove,onMousedown,onMouseup:onMouseupLeave,onMouseleave:onMouseupLeave,style:normalizeStyle({"--colour-picker-x":`linear-gradient(90deg, ${gradients.hueStatic.join(`, `)})`,"--colour-picker-y":`linear-gradient(180deg, ${gradients.pickerOverlay.join(`, `)})`})},[createBaseVNode(`div`,{class:`colour-picker-dot`,style:normalizeStyle({left:`${colorDot.value.x}%`,top:`${colorDot.value.y}%`,"--colour-picker-dot-fill":`hsl(${current.value.hue}, ${opts.value.saturation?current.value.saturation:100}%, ${opts.value.luminosity?current.value.luminosity:50}%)`})},null,4)],36)),[[unref(BngDisabled_default),__props.disabled]]):createCommentVNode(``,!0),opts.value.slider||opts.value.hue?(openBlock(),createBlock(unref(bngColorSlider_default),{key:2,modelValue:values.hue,"onUpdate:modelValue":_cache[0]||=$event=>values.hue=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.hue,current:`hsl(${current.value.hue}, 100%, 50%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?_ctx.$t(`ui.color.hue`):null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.luminosity?(openBlock(),createBlock(unref(bngColorSlider_default),{key:3,"X:vertical":`opts.picker`,modelValue:values.saturation,"onUpdate:modelValue":_cache[1]||=$event=>values.saturation=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.saturation,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.saturation`)} (${current.value.saturation}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0),opts.value.slider||opts.value.saturation?(openBlock(),createBlock(unref(bngColorSlider_default),{key:4,"X:vertical":`opts.picker`,modelValue:values.luminosity,"onUpdate:modelValue":_cache[2]||=$event=>values.luminosity=$event,modelModifiers:{number:!0},onChange:notify,fill:gradients.luminosity,current:`hsl(${current.value.hue}, ${current.value.saturation}%, ${current.value.luminosity}%)`,indicator:sliderIndicator,step:__props.step,disabled:__props.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(__props.showText?`${_ctx.$t(`ui.color.brightness`)} (${current.value.luminosity}%)`:null),1)]),_:1},8,[`modelValue`,`fill`,`current`,`step`,`disabled`])):createCommentVNode(``,!0)],2))}},bngColorPicker_default=__plugin_vue_export_helper_default(_sfc_main$379,[[`__scopeId`,`data-v-f4241405`]]),_hoisted_1$328={key:0},_hoisted_2$263=[`min`,`max`,`step`,`tabindex`,`orient`],_hoisted_3$230={key:0,class:`colour-slider-indicator-container`},_sfc_main$378={__name:`bngColorSlider`,props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:1},step:{type:Number,default:.001},fill:{type:Array,default:[`rgb(0,0,0)`,`rgb(255,255,255)`]},current:{type:String,default:null},vertical:Boolean,disabled:Boolean,indicator:{type:String,default:`inner`,validator:val=>[`inner`,`popout`].includes(val)},uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`update:modelValue`,`change`],setup(__props,{emit:__emit}){let props=__props,elSlider=ref(),elIndicator=ref(),tabIndex=computed(()=>props.disabled?-1:0),value=ref(props.modelValue);watch(()=>props.modelValue,val=>value.value=Number(val));let indicatorPos=computed(()=>props.indicator===`popout`?(value.value-props.min)/(props.max-props.min):0),indicatorRot=computed(()=>{if(props.indicator!==`popout`||!elSlider.value||!elIndicator.value||!elSlider.value.getBoundingClientRect||!elIndicator.value.firstChild||!elIndicator.value.firstChild.getBoundingClientRect)return 0;let tilt=40,rot=0,srect=elSlider.value.getBoundingClientRect(),irect=elIndicator.value.firstChild.getBoundingClientRect(),abspos=indicatorPos.value*srect.width,iwidth=irect.width/2;return absposwithDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elSlider`,ref:elSlider,class:`colour-slider`,style:normalizeStyle({"--colour-slider-track-fill":__props.fill&&__props.fill.length>0?`linear-gradient(90deg, ${__props.fill.join(`, `)})`:`transparent`,"--colour-slider-thumb-fill":__props.indicator===`inner`&&__props.current?__props.current:`#000`,"--colour-slider-thumb-size":__props.indicator===`inner`&&__props.current?`1em`:`0.25em`,"--colour-slider-indicator-x":`${indicatorPos.value*100}%`,"--colour-slider-indicator-r":`${indicatorRot.value}deg`})},[_ctx.$slots.default&&!__props.vertical?(openBlock(),createElementBlock(`span`,_hoisted_1$328,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])):createCommentVNode(``,!0),createBaseVNode(`div`,null,[withDirectives(createBaseVNode(`input`,{type:`range`,min:__props.min,max:__props.max,step:__props.step,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,onInput:notify,onChange:notify,tabindex:tabIndex.value,class:normalizeClass({"colour-slider-vertical":__props.vertical}),orient:__props.vertical?`vertical`:`horizontal`},null,42,_hoisted_2$263),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),__props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:__props.min,max:__props.max,step:()=>+__props.step,...__props.uiNavFocus}:!1,void 0,{repeat:!0}]]),__props.indicator===`popout`?(openBlock(),createElementBlock(`div`,_hoisted_3$230,[createBaseVNode(`div`,{ref_key:`elIndicator`,ref:elIndicator,class:`colour-slider-indicator`},[createVNode(unref(bngIconMarker_default),{marker:`circlePin`,color:[`#fff`,__props.current],class:`colour-slider-indicator-marker`},null,8,[`color`])],512)])):createCommentVNode(``,!0)])],4)),[[unref(BngDisabled_default),__props.disabled]])}},bngColorSlider_default=__plugin_vue_export_helper_default(_sfc_main$378,[[`__scopeId`,`data-v-346533a2`]]),_hoisted_1$327={class:`bng-color-tile`},_sfc_main$377={__name:`bngColorTile`,props:{red:{type:Number},blue:{type:Number},green:{type:Number},alpha:{type:Number,default:1}},setup(__props){useCssVars(_ctx=>({cef4bc4e:backgroundColor.value}));let props=__props,backgroundColor=computed(()=>`rgba(${props.red}, ${props.green}, ${props.blue}, ${props.alpha})`);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$327))}},bngColorTile_default=__plugin_vue_export_helper_default(_sfc_main$377,[[`__scopeId`,`data-v-32089404`]]),_sfc_main$376={__name:`bngCondition`,props:{integrity:{type:Number,default:1},integrityWarning:Boolean,color:{type:[String,Array],default:`#000`},showTooltip:Boolean},setup(__props){let props=__props,integrity=computed(()=>typeof props.integrity==`number`?Math.min(Math.max(props.integrity,0),1):1),tooltip=computed(()=>{if(!props.showTooltip)return;let tip=`${$translate.instant(`ui.condition.integrity`)}: ${~~(integrity.value*100)}%`;return props.integrityWarning&&(tip+=`\n${$translate.instant(`ui.condition.needsRepair`)}`),tip}),cssColour=computed(()=>{let clr=props.color;return Array.isArray(clr)?(clr=[...clr],clr.length>3&&(clr.splice(3),clr.some(c=>c>1)||(clr=clr.map(c=>c*255))),`rgb(${clr.join(`,`)})`):clr}),cssClipPoly=computed(()=>{let val=integrity.value,corners=[`100% 0%`,`100% 100%`,`0% 100%`,`0% 0%`],poly=`0% 0%`;if(val===1)poly=corners.join(`, `);else if(val>0){let deg=(1-val)*360,x=50+50*Math.sin(deg*Math.PI/180),y=50-50*Math.cos(deg*Math.PI/180);poly=`50% 0%, 50% 50%, ${~~x}% ${~~y}%, `+corners.slice(-Math.ceil((360-deg)/90)).join(`, `)}return poly});return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass({"bng-condition":!0,"cond-warn":__props.integrityWarning}),style:normalizeStyle({backgroundColor:cssColour.value,"--bng-condition-clip-path":`polygon(${cssClipPoly.value})`})},null,6)),[[unref(BngTooltip_default),tooltip.value]])}},bngCondition_default=__plugin_vue_export_helper_default(_sfc_main$376,[[`__scopeId`,`data-v-686a3067`]]),SCOPED_CHANGED_EVENT_NAME=`scopeChanged`,EVENT_CROSSFIRE_MAP={ok:`select`,back:`back`,tab_l:`tabLeft`,tab_r:`tabRight`};const CROSSFIRE_HINTS={select:{id:`select`,content:{type:`binding`,props:{uiEvent:`ok`},label:`Select`}},back:{id:`back`,content:{type:`binding`,props:{uiEvent:`back`},label:`Back`}},tabLeft:{id:`tabLeft`,content:{type:`binding`,props:{uiEvent:`tab_l`},label:`Tab left`}},tabRight:{id:`tabRight`,content:{type:`binding`,props:{uiEvent:`tab_r`},label:`Tab right`}}},CROSSFIRE_HINTS_ALL=Object.values(CROSSFIRE_HINTS),DEFAULT_LABELS={focus_u:`ui.inputActions.controllerui.focus_u.title`,focus_r:`ui.inputActions.controllerui.focus_r.title`,focus_d:`ui.inputActions.controllerui.focus_d.title`,focus_l:`ui.inputActions.controllerui.focus_l.title`,pause:`ui.inputActions.general.pause.title`,menu:`ui.inputActions.controllerui.menu.title`,back:`ui.inputActions.controllerui.back.title`,details:`ui.inputActions.controllerui.details.title`,advanced:`ui.inputActions.controllerui.advanced.title`,camera:`ui.inputActions.controllerui.camera.title`,logs:`ui.inputActions.controllerui.logs.title`,tab_l:`ui.inputActions.controllerui.tab_l.title`,tab_r:`ui.inputActions.controllerui.tab_r.title`,modifier:`ui.inputActions.controllerui.modifier.title`,zoom_out:`ui.inputActions.controllerui.zoom_out.title`,zoom_in:`ui.inputActions.controllerui.zoom_in.title`,subtab_l:`ui.inputActions.controllerui.subtab_l.title`,subtab_r:`ui.inputActions.controllerui.subtab_r.title`,center_cam:`ui.inputActions.controllerui.center_cam.title`,action_4:`ui.inputActions.controllerui.action_4.title`,move_ud:`ui.inputActions.controllerui.move_ud.title`,move_lr:`ui.inputActions.controllerui.move_lr.title`,focus_ud:`ui.inputActions.controllerui.focus_ud.title`,focus_lr:`ui.inputActions.controllerui.focus_lr.title`,rotate_h_cam:`ui.inputActions.controllerui.rotate_h_cam.title`,rotate_v_cam:`ui.inputActions.controllerui.rotate_v_cam.title`,ok:`ui.inputActions.controllerui.ok.title`,cancel:`ui.inputActions.controllerui.cancel.title`,action_2:`ui.inputActions.controllerui.action_2.title`,action_3:`ui.inputActions.controllerui.action_3.title`,context:`ui.inputActions.controllerui.context.title`};var HINT_GROUPS=()=>[{names:[`back`,`menu`],label:`ui.inputActions.controllerui.back.title`},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`,`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[`focus_u`,`focus_d`,`focus_r`,`focus_l`],label:`ui.mainmenu.navbar.navigate`},{names:[`focus_lr`,`focus_ud`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0},{names:[SCROLL_EVENT_H,SCROLL_EVENT_V],label:`ui.mainmenu.navbar.scroll_label`,controllerOnly:!0},{names:[`tab_r`,`tab_l`],label:`ui.mainmenu.navbar.navigate`,controllerOnly:!0}],AUTOID=`__auto`,AUTOIDS={binding:`${AUTOID}_binding`,group:`${AUTOID}_group`,labelGroup:`${AUTOID}_label_group`},DISPLAY_ACTION_VARIANTS=!1;const useInfoBar=defineStore(`infoBar`,()=>{let{events:events$3}=useBridge(),Controls=controls_default(),{isControllerUsed,lastDevice}=storeToRefs(Controls),hintGroups=HINT_GROUPS(),visible=ref(!1),showSysInfo=ref(!1),withAngular=ref(!1),hintsList=ref([]),hints=ref([]);watch([isControllerUsed,lastDevice],()=>_groupHints());let getControlGroup=(uiEvents,groupLabel)=>{try{let actions=uiEvents.map(event=>ACTIONS_BY_UI_EVENT[event]).filter(Boolean);if(actions.length!==uiEvents.length)return null;let viewerObjs=actions.map(action=>Controls.makeViewerObj({action,actionVariants:DISPLAY_ACTION_VARIANTS,useLastDevice:!0})).flatMap(vo=>vo?.variants?vo.variants:vo?[vo]:[]),matchingItems=[],devNames=viewerObjs.reduce((res,obj)=>obj&&!res.includes(obj.devName)?[...res,obj.devName]:res,[]);for(let devName of devNames){if(!devName)continue;let devViewerObjs=viewerObjs.filter(obj=>obj&&obj.devName===devName&&obj.ownGroups);if(devViewerObjs.length===0)continue;let groups=devViewerObjs[0].ownGroups,controls$1=devViewerObjs.map(obj=>obj.control);for(let group of groups){if(!group.controls.every(control=>controls$1.includes(control)))continue;controls$1=controls$1.filter(control=>!group.controls.includes(control));let item;item=group.label?{type:`binding`,props:{viewerObj:{icon:devViewerObjs[0].icon,ownLabel:group.label}},label:groupLabel}:{type:`icon`,props:{type:icons[group.icon]},label:groupLabel},matchingItems.push(item)}}return matchingItems.length===0?null:matchingItems.length===1?matchingItems[0]:matchingItems}catch(err){return logger_default.error(`Error in checkForControlGroup:`,err),null}},_groupHints=()=>{let res=[],groupCandidates={},labelGroups={},isCustomLabel=content=>content&&!content.autoLabel&&content?.props?.uiEvent&&content.label!==DEFAULT_LABELS[content?.props?.uiEvent];for(let hint of hintsList.value){let normalizedHint=hint.content?hint:{content:hint},{content}=normalizedHint;if(!content?.props?.uiEvent||!content.label){res.push(normalizedHint);continue}let labelKey=content.label;labelGroups[labelKey]?labelGroups[labelKey].hints.push(normalizedHint):labelGroups[labelKey]={hints:[normalizedHint],position:res.length}}let selectMatchingGroup=matchingGroups=>matchingGroups.length<1||isControllerUsed.value?matchingGroups[0]:matchingGroups.find(group=>!group.controllerOnly)||matchingGroups.at(-1);for(let[label,group]of Object.entries(labelGroups)){let action=group.hints[0].action;if(group.hints.length>1){let events$4=group.hints.map(h$1=>h$1.content.props.uiEvent),matchingGroup=selectMatchingGroup(hintGroups.filter(g=>g.content&&g.names.every(name=>events$4.includes(name))&&events$4.filter(e=>g.names.includes(e)).length===g.names.length));if(matchingGroup){if(matchingGroup.controllerOnly&&!isControllerUsed.value)continue;let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||group.hints[0]?.content?.label,groupEvents=group.hints.map(h$1=>h$1.content.props.uiEvent),labeledBindings=group.hints.map(h$1=>{let newContent={id:h$1.id,type:h$1.content.type,props:{...h$1.content.props}};return newContent.label=isCustomLabel(h$1.content)?h$1.content.label:groupLabel,newContent}),controlGroup=getControlGroup(groupEvents,groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(item=>({...item})):[{...controlGroup}],customLabelItem=group.hints.find(h$1=>isCustomLabel(h$1.content));customLabelItem&&content.forEach(item=>{item.label=customLabelItem.content.label}),res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:labeledBindings,action})}else res.splice(group.position,0,{id:`${AUTOIDS.labelGroup}_${label}`,content:group.hints.map(h$1=>h$1.content),action})}else{let hint=group.hints[0],uiEvent=hint.content?.props?.uiEvent,isNoGroup=uiEvent$1=>uiNavTracker.activeEvents.find(e=>e.name===uiEvent$1)?.nogroup;if(isNoGroup(uiEvent)){res.push(hint);continue}let matchingGroup=selectMatchingGroup(hintGroups.filter(group$1=>group$1.names.includes(uiEvent)));if(!matchingGroup){res.push(hint);continue}let groupId=matchingGroup.names.join(`,`);groupId in groupCandidates||(groupCandidates[groupId]={hints:[],content:[],position:res.length});let groupCandidate=groupCandidates[groupId];if(groupCandidate.hints.push(hint),groupCandidate.content.push(hint.content),groupCandidate.hints.length===matchingGroup.names.length){if(matchingGroup.controllerOnly&&!isControllerUsed.value){delete groupCandidates[groupId];continue}if(groupCandidate.hints.some(h$1=>isNoGroup(h$1.content?.props?.uiEvent)))res.splice(groupCandidate.position,0,...groupCandidate.hints);else{let groupContent=Array.isArray(matchingGroup.content)?matchingGroup.content[0]:matchingGroup.content,groupLabel=matchingGroup.label||groupContent?.label||groupCandidate.hints[0]?.content?.label,labeledContent=groupCandidate.content.map(item=>{let newContent={id:item.id,type:item.type,props:{...item.props}};return isCustomLabel(item)?newContent.label=item.label:newContent.label=groupLabel,newContent}),controlGroup=getControlGroup(groupCandidate.hints.map(h$1=>h$1.content.props.uiEvent),groupLabel);if(controlGroup){let content=Array.isArray(controlGroup)?controlGroup.map(icon=>({...icon})):[{...controlGroup}],customLabelItem=groupCandidate.content.find(item=>isCustomLabel(item));customLabelItem&&content.forEach(icon=>icon.label=customLabelItem.label),res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content,action})}else res.splice(groupCandidate.position,0,{id:`${AUTOIDS.group}_${groupId}`,content:labeledContent,action})}delete groupCandidates[groupId]}}}for(let group of Object.values(groupCandidates))res.splice(group.position,0,...group.hints);hints.value=res},uiNavTracker=useUINavTracker(),clearHints=()=>{hintsList.value=[],_addTrackedEvents()},addHints=(hintOrHints,idOrPos=void 0,before=!1)=>{if(hintOrHints===CROSSFIRE_HINTS_ALL){logger_default.warn(`Approach with CROSSFIRE_HINTS_ALL is deprecated and crossfire hints are added by default.`);return}let toAdd=[hintOrHints].flat().map(hint=>{if(typeof hint!=`object`)return hint;let content=hint.content||hint,uiEvent=content?.props?.uiEvent;return uiEvent&&(content.label||(content.autoLabel=!0,uiEvent in DEFAULT_LABELS?content.label=DEFAULT_LABELS[uiEvent]:content.label=uiEvent.replaceAll(`_`,` `).toUpperCase())),hint});if(idOrPos===void 0)hintsList.value=hintsList.value.concat(toAdd);else if(typeof idOrPos==`number`)hintsList.value.splice(idOrPos,0,...toAdd);else if(typeof idOrPos==`string`){let foundIndex=_findHintIndex(idOrPos);foundIndex>-1&&hintsList.value.splice(foundIndex+(before?0:1),0,...toAdd)}_groupHints()},updateHint=(idOrPos,updatedHint)=>{if(typeof idOrPos==`number`)hintsList.value[idOrPos]=updatedHint;else{let foundIndex=_findHintIndex(idOrPos);hintsList.value[foundIndex]=updatedHint}_groupHints()},removeHints=(...ids)=>{ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&hintsList.value.splice(foundIndex,1)}),_groupHints()},flashHints=(...ids)=>{_setFlash(!1,ids),setTimeout(()=>_setFlash(!0,ids),0)},_setFlash=(state,ids)=>ids.forEach(id=>{let foundIndex=_findHintIndex(id);foundIndex>-1&&(hintsList.value[foundIndex].flash=state)}),highlightHints=(state,...ids)=>{},_findHintIndex=id=>hintsList.value.findIndex(h$1=>h$1.id===id);events$3.on(SCOPED_CHANGED_EVENT_NAME,data=>{logger_default.debug(`[infoBar] received data`,data),data&&(clearHints(),data.forEach(ev=>{let content;content=ev.label?{content:{type:`binding`,props:{uiEvent:ev.event},label:ev.label}}:CROSSFIRE_HINTS[EVENT_CROSSFIRE_MAP[ev.event]],addHints(content)}))});function _addTrackedEvents(){let activeEvents=uiNavTracker.activeEvents;hintsList.value=hintsList.value.filter(hint=>!hint.id?.startsWith(AUTOID)&&activeEvents.some(e=>e.name===hint.content.props.uiEvent));let currentBindings=hintsList.value.filter(hint=>hint.content?.type===`binding`).map(hint=>hint.content.props.uiEvent);addHints(activeEvents.filter(({name})=>!currentBindings.includes(name)).map(({name,label,nogroup,action})=>({id:`${AUTOIDS.binding}_${name}`,content:{type:`binding`,props:{uiEvent:name},label,autoLabel:!label||label===DEFAULT_LABELS[name]},nogroup,action})))}return watch(()=>uiNavTracker.activeEvents,_addTrackedEvents,{deep:!0}),{visible,hintsList,hints,showSysInfo,withAngular,clearHints,addHints,updateHint,removeHints,flashHints,highlightHints}});var _hoisted_1$326={key:0,xmlns:`http://www.w3.org/2000/svg`,viewBox:`20 140 460 220`},_hoisted_2$262={class:`bng-controller-hint-labels`},_hoisted_3$229={x:`120`,y:`165`,"text-anchor":`middle`},_hoisted_4$196={x:`120`,y:`335`,"text-anchor":`middle`},_hoisted_5$166={x:`45`,y:`255`,"text-anchor":`end`},_hoisted_6$142={x:`175`,y:`255`,"text-anchor":`start`},_hoisted_7$124={x:`219`,y:`315`,"text-anchor":`middle`},_hoisted_8$102={x:`249`,y:`315`,"text-anchor":`middle`},_hoisted_9$92={x:`340`,y:`175`,"text-anchor":`middle`},_hoisted_10$80={x:`380`,y:`335`,"text-anchor":`middle`},_sfc_main$375={__name:`bngControllerHint`,props:{device:String,actions:[Array,String],dark:Boolean},setup(__props,{expose:__expose}){let Controls=controls_default(),props=__props,available=[`xbox`],devName=computed(()=>{if(!props.device)return Controls.lastDevice;let devName$1=props.device;return/\d$/.test(devName$1)||(devName$1=Controls.lastDevices.find(dev=>dev.startsWith(devName$1)),devName$1||=props.device+`0`),devName$1}),devFamily=computed(()=>{let family=Controls.makeViewerObj({device:devName.value,uiEvent:`back`})?.family;return!family||!available.includes(family)?null:family});__expose({displayed:computed(()=>!!devFamily.value)});let actions=computed(()=>{let actions$1=props.actions;if(!actions$1||!devFamily.value)return{};if(typeof actions$1==`string`)actions$1=[actions$1];else if(!Array.isArray(actions$1)||actions$1.length===0)return{};let bindings={},allEvents=Object.keys(ACTIONS_BY_UI_EVENT),allActions=Object.values(ACTIONS_BY_UI_EVENT);for(let action of actions$1){if(!action)continue;let item=action;if(typeof item==`string`)item={action:item};else if(!item.action&&!item.event)continue;else item={...item};let actIdx=allEvents.indexOf(item.event||item.action);if(actIdx>-1&&(item.event=allEvents[actIdx],item.action=allActions[actIdx]),!allActions.includes(item.action))continue;let binding=Controls.findBindingForAction(item.action,devName.value);if(binding){if(!item.event||item.event===item.action){let idx=allActions.indexOf(item.action);idx>-1&&(item.event=allEvents[idx])}item.label||=DEFAULT_LABELS[item.event]||item.event||item.action,item.shown=!0,item.class={flash:item.flash},bindings[binding.control.toLowerCase()]=item}}logger_default.debug(`resolved actions:`,bindings);for(let keyName of DEVICE_CONTROLS[devFamily.value]){let key=keyName.toLowerCase();key in bindings||(bindings[key]={class:{inactive:!0}})}return bindings});return(_ctx,_cache)=>devFamily.value?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-controller-hint`,{"bng-controller-hint-dark":__props.dark}])},[devFamily.value===`xbox`?(openBlock(),createElementBlock(`svg`,_hoisted_1$326,[_cache[8]||=createBaseVNode(`rect`,{x:`60`,y:`180`,width:`380`,height:`140`,rx:`20`,fill:`#bcbcbc`,stroke:`#333`,"stroke-width":`8`},null,-1),_cache[9]||=createBaseVNode(`circle`,{cx:`120`,cy:`250`,r:`28`,fill:`#222`},null,-1),createBaseVNode(`rect`,{class:normalizeClass(actions.value.upov.class),x:`114`,y:`222`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.dpov.class),x:`114`,y:`258`,width:`12`,height:`20`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.lpov.class),x:`98`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.rpov.class),x:`122`,y:`242`,width:`20`,height:`12`,rx:`3`,fill:`#444`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_start.class),x:`210`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`rect`,{class:normalizeClass(actions.value.btn_back.class),x:`240`,y:`240`,width:`18`,height:`10`,rx:`3`,fill:`#888`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_a.class),cx:`340`,cy:`230`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`circle`,{class:normalizeClass(actions.value.btn_b.class),cx:`380`,cy:`270`,r:`18`,fill:`#22a`},null,2),createBaseVNode(`g`,_hoisted_2$262,[actions.value.upov?.shown?(openBlock(),createElementBlock(Fragment,{key:0},[_cache[0]||=createBaseVNode(`line`,{x1:`120`,y1:`202`,x2:`120`,y2:`170`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_3$229,toDisplayString(_ctx.$tt(actions.value.upov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.dpov?.shown?(openBlock(),createElementBlock(Fragment,{key:1},[_cache[1]||=createBaseVNode(`line`,{x1:`120`,y1:`298`,x2:`120`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_4$196,toDisplayString(_ctx.$tt(actions.value.dpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.lpov?.shown?(openBlock(),createElementBlock(Fragment,{key:2},[_cache[2]||=createBaseVNode(`line`,{x1:`78`,y1:`250`,x2:`50`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_5$166,toDisplayString(_ctx.$tt(actions.value.lpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.rpov?.shown?(openBlock(),createElementBlock(Fragment,{key:3},[_cache[3]||=createBaseVNode(`line`,{x1:`142`,y1:`250`,x2:`170`,y2:`250`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_6$142,toDisplayString(_ctx.$tt(actions.value.rpov?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_start?.shown?(openBlock(),createElementBlock(Fragment,{key:4},[_cache[4]||=createBaseVNode(`line`,{x1:`219`,y1:`270`,x2:`219`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_7$124,toDisplayString(_ctx.$tt(actions.value.btn_start?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_back?.shown?(openBlock(),createElementBlock(Fragment,{key:5},[_cache[5]||=createBaseVNode(`line`,{x1:`249`,y1:`270`,x2:`249`,y2:`300`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_8$102,toDisplayString(_ctx.$tt(actions.value.btn_back?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_a?.shown?(openBlock(),createElementBlock(Fragment,{key:6},[_cache[6]||=createBaseVNode(`line`,{x1:`340`,y1:`212`,x2:`340`,y2:`180`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_9$92,toDisplayString(_ctx.$tt(actions.value.btn_a?.label)),1)],64)):createCommentVNode(``,!0),actions.value.btn_b?.shown?(openBlock(),createElementBlock(Fragment,{key:7},[_cache[7]||=createBaseVNode(`line`,{x1:`380`,y1:`288`,x2:`380`,y2:`320`,stroke:`#666`,"stroke-width":`2`},null,-1),createBaseVNode(`text`,_hoisted_10$80,toDisplayString(_ctx.$tt(actions.value.btn_b?.label)),1)],64)):createCommentVNode(``,!0)])])):createCommentVNode(``,!0)],2)):createCommentVNode(``,!0)}},bngControllerHint_default=__plugin_vue_export_helper_default(_sfc_main$375,[[`__scopeId`,`data-v-bb01f791`]]),_sfc_main$374={},_hoisted_1$325={class:`divider vertical-divider`};function _sfc_render$6(_ctx,_cache){return openBlock(),createElementBlock(`div`,_hoisted_1$325)}var bngDivider_default=__plugin_vue_export_helper_default(_sfc_main$374,[[`render`,_sfc_render$6],[`__scopeId`,`data-v-c3fbf7df`]]),_sfc_main$373={__name:`bngDrawer`,props:mergeModels({header:String,blur:Boolean,expandable:{type:Boolean,default:!0},position:String},{modelValue:{type:Boolean},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),arrows=computed(()=>{switch(props.position){default:case DRAWER_POSITION.bottom:case DRAWER_POSITION.right:return{expand:icons.arrowLargeUp,collapse:icons.arrowLargeDown};case DRAWER_POSITION.top:case DRAWER_POSITION.left:return{expand:icons.arrowLargeDown,collapse:icons.arrowLargeUp}}}),expanded=useModel(__props,`modelValue`);return watch(()=>expanded.value,val=>emit$1(`change`,val)),watch([()=>props.expandable,()=>expanded.value],()=>!props.expandable&&expanded.value&&(expanded.value=!1),{immediate:!0}),(_ctx,_cache)=>(openBlock(),createBlock(unref(drawer_default),{modelValue:expanded.value,"onUpdate:modelValue":_cache[1]||=$event=>expanded.value=$event,blur:__props.blur,position:__props.position},createSlots({header:withCtx(()=>[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`,style:normalizeStyle({marginRight:!__props.header&&!unref(slots).header?`0`:void 0})},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},()=>[_cache[2]||=createBaseVNode(`span`,null,null,-1)],!0)]),_:3},8,[`style`]),renderSlot(_ctx.$slots,`header-controls`,{},void 0,!0),__props.expandable?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`text`,icon:expanded.value?arrows.value.collapse:arrows.value.expand,onClick:_cache[0]||=$event=>expanded.value=!expanded.value},null,8,[`icon`])):createCommentVNode(``,!0)]),_:2},[`content`in unref(slots)?{name:`content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`content`,{},void 0,!0)]),key:`0`}:void 0,`expanded-content`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`expanded-content`,{},void 0,!0)]),key:`1`}:`default`in unref(slots)?{name:`expanded-content`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`2`}:void 0]),1032,[`modelValue`,`blur`,`position`]))}},bngDrawer_default=__plugin_vue_export_helper_default(_sfc_main$373,[[`__scopeId`,`data-v-30948d98`]]),_hoisted_1$324={class:`bng-drawer`},_hoisted_2$261={class:`header-wrapper`},_hoisted_3$228={class:`content`},_sfc_main$372={__name:`bngDrawerOld`,props:{header:{type:String},blur:{type:Boolean,default:!1}},setup(__props){return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$324,[withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$261,[createVNode(unref(bngCardHeading_default),{class:`header`,type:`ribbon`},{default:withCtx(()=>[__props.header?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(__props.header),1)],64)):renderSlot(_ctx.$slots,`header`,{key:1},void 0,!0)]),_:3}),renderSlot(_ctx.$slots,`headerOptions`,{},void 0,!0)])),[[unref(BngBlur_default),__props.blur]]),withDirectives((openBlock(),createBlock(unref(bngCard_default),null,{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$228,[renderSlot(_ctx.$slots,`content`,{},void 0,!0)])]),_:3})),[[unref(BngBlur_default),__props.blur]])]))}},bngDrawerOld_default=__plugin_vue_export_helper_default(_sfc_main$372,[[`__scopeId`,`data-v-9e5c32b1`]]),_hoisted_1$323={class:`dropdown-display`},_hoisted_2$260={key:0,class:`dropdown-search`},_hoisted_3$227={key:1},_hoisted_4$195={key:0,class:`dropdown-group-header`},_hoisted_5$165=[`bng-nav-item`,`tabindex`,`bng-scoped-nav-autofocus`,`onClick`,`onKeyup`],_sfc_main$371={__name:`bngDropdown`,props:{modelValue:{type:[Number,String,Boolean,Object]},items:{type:Array,required:!0},showSearch:Boolean,highlight:{type:[String,Array,RegExp]},disabled:Boolean,longNames:{type:String,default:`oneline`,validator:val=>[`oneline`,`wrap`,`cut`].includes(val)},searchGroupName:Boolean,headless:Boolean,focusTarget:Object,popoverTarget:Object},emits:[`update:modelValue`,`valueChanged`,`open`,`close`],setup(__props,{expose:__expose,emit:__emit}){let attrs=useAttrs(),binds=computed(()=>props.headless?void 0:attrs),props=__props,emit$1=__emit,elContainer=ref(null),opened=ref(!1),searching=ref(!1),search$1=ref(``),searchTerm=computed(()=>search$1.value.toLowerCase());watch(opened,val=>!val&&(search$1.value=``)),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,get popoverName(){return elContainer.value?.popoverName}});let groupedItems=computed(()=>{let hasGrouping=props.items.some(item=>item.group||item.grouped),searchActive=!!searchTerm.value;if(!hasGrouping)return[{header:null,items:searchActive?props.items.filter(item=>item.label.toLowerCase().includes(searchTerm.value)):props.items}];let groups=[],currentGroup=null;return props.items.forEach(item=>{item.group?(currentGroup={header:item,allItems:[],_headerMatches:item.label.toLowerCase().includes(searchTerm.value)},groups.push(currentGroup)):item.grouped?currentGroup?currentGroup.allItems.push(item):groups.push({header:null,allItems:[item]}):(groups.push({header:null,allItems:[item]}),currentGroup=null)}),groups.map(group=>{if(searchActive)if(group.header){if(props.searchGroupName&&group._headerMatches)return{header:group.header,items:group.allItems,headerMatches:!0};{let filteredItems=group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value));return{header:group.header,items:filteredItems,headerMatches:!1}}}else return{header:null,items:group.allItems.filter(item=>item.label.toLowerCase().includes(searchTerm.value))};else return{header:group.header||null,items:group.allItems}}).filter(group=>group.header&&props.searchGroupName&&group.headerMatches||group.items.length>0)}),highlighter$1=computed(()=>search$1.value||props.highlight),selectedValue=computed({get:()=>props.modelValue,set:newValue=>{emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)}}),selectedItem=computed(()=>props.items.find(x=>x.value===selectedValue.value)),headerText=computed(()=>selectedItem.value&&selectedItem.value.value!==null&&selectedItem.value.value!==void 0?selectedItem.value.label:`Select`),tabIndexValue=computed(()=>props.disabled?-1:0),select=item=>{item.disabled||(opened.value=!1,selectedValue.value!==item.value&&(selectedValue.value=item.value),elContainer.value?.focusContainer())};return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngDropdownContainer_default),mergeProps({ref_key:`elContainer`,ref:elContainer},binds.value,{opened:opened.value,"onUpdate:opened":_cache[3]||=$event=>opened.value=$event,disabled:__props.disabled,headless:__props.headless,"focus-target":__props.focusTarget,"popover-target":__props.popoverTarget,class:{"with-search":__props.showSearch,[`dropdown-longnames-${__props.longNames}`]:!0},onShow:_cache[4]||=$event=>emit$1(`open`),onHide:_cache[5]||=$event=>emit$1(`close`)}),createSlots({default:withCtx(()=>[__props.showSearch?(openBlock(),createElementBlock(`div`,_hoisted_2$260,[createVNode(unref(bngInput_default),{modelValue:search$1.value,"onUpdate:modelValue":_cache[0]||=$event=>search$1.value=$event,modelModifiers:{trim:!0},"floating-label":`Search`,onFocus:_cache[1]||=$event=>searching.value=!0,onBlur:_cache[2]||=$event=>searching.value=!1},null,8,[`modelValue`])])):createCommentVNode(``,!0),search$1.value&&groupedItems.value.every(group=>group.items.length===0)?(openBlock(),createElementBlock(`div`,_hoisted_3$227,toDisplayString(_ctx.$t(`ui.common.search.noResults`)),1)):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(groupedItems.value,(group,groupIndex)=>(openBlock(),createElementBlock(Fragment,{key:groupIndex},[group.header?(openBlock(),createElementBlock(`div`,_hoisted_4$195,toDisplayString(group.header.label),1)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(group.items,(item,idx)=>withDirectives((openBlock(),createElementBlock(`div`,{key:item.value,class:normalizeClass([`dropdown-option`,{selected:selectedItem.value&&selectedItem.value.value===item.value,"grouped-item":group.header,disabled:item.disabled}]),"bng-nav-item":!item.disabled||item.focusable,tabindex:item.disabled?-1:tabIndexValue.value,"bng-scoped-nav-autofocus":!item.disabled&&!searching.value&&(selectedItem.value&&selectedItem.value.value===item.value||!selectedItem.value&&groupIndex===0&&idx===0),onClick:$event=>select(item),onKeyup:withKeys($event=>select(item),[`enter`])},[createTextVNode(toDisplayString(item.label),1)],42,_hoisted_5$165)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngUiNavLabel_default),`ui.inputActions.menu.menu_item_select.title`,`ok`],[unref(BngTooltip_default),item.tooltip??void 0],[unref(BngHighlighter_default),highlighter$1.value]])),128))],64))),128))]),_:2},[__props.headless?void 0:{name:`display`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`display`,{},()=>[withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$323,[createTextVNode(toDisplayString(headerText.value),1)])),[[unref(BngHighlighter_default),highlighter$1.value]])],!0)]),key:`0`}]),1040,[`opened`,`disabled`,`headless`,`focus-target`,`popover-target`,`class`]))}},bngDropdown_default=__plugin_vue_export_helper_default(_sfc_main$371,[[`__scopeId`,`data-v-96e56708`]]),popoverBaseName=`bng-dropdown-content`,_sfc_main$370=Object.assign({inheritAttrs:!1},{__name:`bngDropdownContainer`,props:mergeModels({disabled:Boolean,class:[String,Array,Object],headless:Boolean,focusTarget:Object,popoverTarget:Object},{opened:{},openedModifiers:{}}),emits:mergeModels([`provideFocus`,`show`,`hide`],[`update:opened`]),setup(__props,{expose:__expose,emit:__emit}){let navBlocker=useUINavBlocker(),props=__props,attrs=useAttrs(),binds=computed(()=>({...attrs,tabindex:props.headless?-1:0,"bng-nav-item":props.headless?void 0:``})),opened=useModel(__props,`opened`);function open$1(val){opened.value=val,val?(navBlocker.allowOnly([`focus_u`,`focus_d`,`focus_ud`,`back`,`menu`,`ok`]),emit$1(`show`)):(navBlocker.clear(),emit$1(`hide`),focusTarget.value&&setFocusExternal(focusTarget.value,!0,!1))}let emit$1=__emit,popover=usePopover(),popoverName=uniqueId(popoverBaseName),container=ref(null),content=ref(null),focusTarget=computed(()=>props.focusTarget||container.value),popoverTarget=computed(()=>props.popoverTarget||container.value),placement=ref(`bottom-start`),openedTop=computed(()=>placement.value.startsWith(`top`));return watch(()=>opened.value,value=>{value?(Object.keys(popover.popovers).filter(name=>popover.popovers[name].show&&name!==popoverName&&!popover.popovers[name].element.contains(popover.popovers[popoverName].target)).forEach(name=>popover.hide(name)),!popover.popovers[popoverName].show&&popoverTarget.value&&popover.show(popoverName,popoverTarget.value)):popover.hide(popoverName)}),__expose({opened,open:()=>opened.value=!0,close:()=>opened.value=!1,toggle:()=>opened.value=!opened.value,focusContainer:()=>focusTarget.value&&setFocusExternal(focusTarget.value),popoverName}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[__props.headless?createCommentVNode(``,!0):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,ref_key:`container`,ref:container},binds.value,{class:[`bng-dropdown`,props.class]}),[createVNode(unref(bngIcon_default),{type:unref(icons).arrowSmallRight,class:normalizeClass({"dropdown-arrow":!0,"dropdown-arrow-top":openedTop.value,opened:opened.value})},null,8,[`type`,`class`]),renderSlot(_ctx.$slots,`display`,{},()=>[_cache[8]||=createTextVNode(`Select`,-1)],!0)],16)),[[unref(BngDisabled_default),__props.disabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngPopover_default),unref(popoverName),`bottom-start`,{click:!0}]]),createVNode(unref(bngPopoverContent_default),{name:unref(popoverName),onShow:_cache[5]||=$event=>open$1(!0),onHide:_cache[6]||=$event=>open$1(!1),"hide-arrow":``,onPlacementChanged:_cache[7]||=value=>placement.value=value},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`content`,ref:content,class:normalizeClass([`bng-dropdown-content`,__props.class]),"bng-nav-scroll":``,onClick:_cache[0]||=withModifiers(()=>{},[`stop`]),onMouseover:_cache[1]||=withModifiers(()=>{},[`stop`]),onMouseenter:_cache[2]||=withModifiers(()=>{},[`stop`]),onMousedown:_cache[3]||=withModifiers(()=>{},[`stop`]),onMouseup:_cache[4]||=withModifiers(()=>{},[`stop`])},[opened.value?renderSlot(_ctx.$slots,`default`,{key:0},void 0,!0):createCommentVNode(``,!0)],34)),[[unref(BngAutoScroll_default),void 0,`top`],[unref(BngUiNavLabel_default),`ui.common.close`,`back,menu`],[unref(BngUiNavLabel_default),`ui.mainmenu.navbar.navigate`,`focus_u,focus_d`],[unref(BngUiNavScroll_default)],[unref(BngOnUiNav_default),()=>open$1(!1),`menu`]])]),_:3},8,[`name`])],64))}}),bngDropdownContainer_default=__plugin_vue_export_helper_default(_sfc_main$370,[[`__scopeId`,`data-v-840dc960`]]),icons$2=Object.freeze({"4WD":{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/4WD.svg`},"9dividedby10":{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/9dividedby10.svg`},abandon:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/abandon.svg`},ABSIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/ABSIndicator.svg`},addItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addItemPolygon.svg`},addListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addListItem.svg`},addPolygonVertex:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/addPolygonVertex.svg`},adjust:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/adjust.svg`},AIMicrochip:{glyph:``,size:24,tags:[`generic`,`ai`,`microchip`],fileSvg:`svg/AIMicrochip.svg`},AIRace:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/AIRace.svg`},aperture:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/aperture.svg`},arrowLargeDown:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeDown.svg`},arrowLargeLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeLeft.svg`},arrowLargeRight:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeRight.svg`},arrowLargeUp:{glyph:``,size:24,tags:[`arrow`,`large`,`simple`,`outlined`],fileSvg:`svg/arrowLargeUp.svg`},arrowSmallDown:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallDown.svg`},arrowSmallLeft:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallLeft.svg`},arrowSmallRight:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallRight.svg`},arrowSmallUp:{glyph:``,size:24,tags:[`arrow`,`small`,`simple`,`outlined`],fileSvg:`svg/arrowSmallUp.svg`},arrowSolidLeft:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidLeft.svg`},arrowSolidRight:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`detailed`],fileSvg:`svg/arrowSolidRight.svg`},autobahn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/autobahn.svg`},AWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/AWD.svg`},axleLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleLift.svg`},axleCenter:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleCenter.svg`},axleFront:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleFront.svg`},axleRear:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/axleRear.svg`},bSpline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bSpline.svg`},banknotes:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/banknotes.svg`},barrelKnocker01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker01.svg`},barrelKnocker02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/barrelKnocker02.svg`},beamCrashBarrier1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier1.svg`},beamCrashBarrier2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier2.svg`},beamCrashBarrier3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/beamCrashBarrier3.svg`},beamCurrency:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrency.svg`},beamNG:{glyph:``,size:24,tags:[`brand`,`beamng`,`generic`],fileSvg:`svg/beamNG.svg`},beamXPFull:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPFull.svg`},beamXPLo:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamXPLo.svg`},bezierPath1:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath1.svg`},bezierPath2:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bezierPath2.svg`},bicycle1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle1.svg`},bicycle2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bicycle2.svg`},BNGFolder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGFolder.svg`},BNGMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGMicrochip.svg`},bollard:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/bollard.svg`},bookmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bookmark.svg`},booleanIntersect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/booleanIntersect.svg`},boxDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff01.svg`},boxDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff02.svg`},boxDropOff03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxDropOff03.svg`},boxPickUp01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp01.svg`},boxPickUp02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp02.svg`},boxPickUp03:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUp03.svg`},boxPickUpDropOff01:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff01.svg`},boxPickUpDropOff02:{glyph:``,size:24,tags:[`poi`,`delivery`],fileSvg:`svg/boxPickUpDropOff02.svg`},boxTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruck.svg`},broom:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/broom.svg`},bucketAdd:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketAdd.svg`},bucketSubtract:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bucketSubtract.svg`},bug:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/bug.svg`},bulldozer:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bulldozer.svg`},bus:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/bus.svg`},camera3Fourth1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/camera3Fourth1.svg`},cameraBack1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraBack1.svg`},cameraFocusOnPath:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnPath.svg`},cameraFocusOnVehicle1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusOnVehicle1.svg`},cameraFocusOnVehicle2:{glyph:``,size:24,tags:[`camera`,`decals`],fileSvg:`svg/cameraFocusOnVehicle2.svg`},cameraFocusTopDown:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFocusTopDown.svg`},cameraFront1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraFront1.svg`},cameraSideLeft:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft.svg`},cameraSideLeft2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideLeft2.svg`},cameraSideRight:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight.svg`},cameraSideRight2:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraSideRight2.svg`},cameraTop1:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/cameraTop1.svg`},cannon:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/cannon.svg`},carChase01:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carChase01.svg`},carCoin:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoin.svg`},carCoins:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carCoins.svg`},carCrash:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carCrash.svg`},carDealer:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/carDealer.svg`},carOffroadOutlineRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineRear.svg`},carOffroadOutlineSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadOutlineSide.svg`},carOffroadRear:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadRear.svg`},carOffroadSide:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carOffroadSide.svg`},carSensors:{glyph:``,size:24,tags:[`generic`,`vehicle`,`sensors`],fileSvg:`svg/carSensors.svg`},carStarred:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carStarred.svg`},carToWheels:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carToWheels.svg`},carUp:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carUp.svg`},carWithLidar:{glyph:``,size:24,tags:[`generic`,`vehicle`,`tech`,`sensors`],fileSvg:`svg/carWithLidar.svg`},car:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/car.svg`},cardboardBox:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBox.svg`},carsChase02:{glyph:``,size:24,tags:[`generic`,`police`,`vehicle`],fileSvg:`svg/carsChase02.svg`},cars:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/cars.svg`},catalog01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog01.svg`},catalog02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog02.svg`},catalog03:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/catalog03.svg`},centrifugalClutchLocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchLocked03.svg`},centrifugalClutchUnlocked03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/centrifugalClutchUnlocked03.svg`},charge:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charge.svg`},charging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/charging.svg`},chartBars:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chartBars.svg`},checkboxOff:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOff.svg`},checkboxOn:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/checkboxOn.svg`},checkmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmarkBold.svg`},checkmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/checkmark.svg`},circuitMicrochip:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/circuitMicrochip.svg`},circuit:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/circuit.svg`},clapperboard:{glyph:``,size:24,tags:[`generic`,`movie`,`scenery`],fileSvg:`svg/clapperboard.svg`},code:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/code.svg`},cogDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogDamaged.svg`},cogsDamaged:{glyph:``,size:24,tags:[`vehicle`,`features`,`powertrain`,`drivetrain`],fileSvg:`svg/cogsDamaged.svg`},cogs:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cogs.svg`},concreteRoadBlock:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/concreteRoadBlock.svg`},coolantTemp:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/coolantTemp.svg`},copy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/copy.svg`},crossroads1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads1.svg`},crossroads2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/crossroads2.svg`},cruiseDisable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseDisable.svg`},cruiseEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/cruiseEnable.svg`},cup:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/cup.svg`},dataExchange:{glyph:``,size:24,tags:[`generic`,`data`,`signal`],fileSvg:`svg/dataExchange.svg`},day:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/day.svg`},DCBattery:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/DCBattery.svg`},decalRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/decalRoad.svg`},decal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/decal.svg`},deform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/deform.svg`},deliveryTruckArrows:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruckArrows.svg`},deliveryTruck:{glyph:``,size:24,tags:[`poi`,`delivery`,`vehicle`],fileSvg:`svg/deliveryTruck.svg`},differentialFrontDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontDefault.svg`},differentialFrontLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialFrontLocked.svg`},differentialMiddleDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleDefault.svg`},differentialMiddleLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialMiddleLocked.svg`},differentialRearDefault:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearDefault.svg`},differentialRearLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/differentialRearLocked.svg`},doorHandle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/doorHandle.svg`},doorIn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/doorIn.svg`},drag01:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag01.svg`},drag02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/drag02.svg`},drift01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift01.svg`},drift02:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/drift02.svg`},drivetrainGeneric:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainGeneric.svg`},drivetrainSpecial:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/drivetrainSpecial.svg`},editCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/editCheckmark.svg`},edit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/edit.svg`},engine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engine.svg`},ESCOff:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOff.svg`},ESCOn:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESCOn.svg`},ESC:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/ESC.svg`},evade:{glyph:``,size:24,tags:[`poi`,`mission`,`police`],fileSvg:`svg/evade.svg`},exhaustValve:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/exhaustValve.svg`},exit:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/exit.svg`},export:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/export.svg`},eyeOutlineClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineClosed.svg`},eyeOutlineOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeOutlineOpened.svg`},eyeSolidClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidClosed.svg`},eyeSolidOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/eyeSolidOpened.svg`},eyeWaves:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/eyeWaves.svg`},facility02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/facility02.svg`},fastBackward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastBackward.svg`},fastForward:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/fastForward.svg`},fastTravel:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/fastTravel.svg`},filter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/filter.svg`},flagNew:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flagNew.svg`},flag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/flag.svg`},flatBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/flatBulbBeam.svg`},flatbedTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/flatbedTruck.svg`},floppyDisk:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDisk.svg`},fogLight:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/fogLight.svg`},folder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/folder.svg`},forklift:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`,`vehicle`],fileSvg:`svg/forklift.svg`},FPS:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/FPS.svg`},fragile:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/fragile.svg`},frontAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontAxleMidpoint.svg`},frontBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/frontBumperMidpoint.svg`},fuelPumpFilling:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPumpFilling.svg`},fuelPump:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/fuelPump.svg`},FWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/FWD.svg`},gamepadOld:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepadOld.svg`},gamepad:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/gamepad.svg`},garage01:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage01.svg`},garage02:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage02.svg`},garage03:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/garage03.svg`},gaugeEmpty:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeEmpty.svg`},globe:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/globe.svg`},GPSMark:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSMark.svg`},GPSSolid:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/GPSSolid.svg`},group:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/group.svg`},gyroscopeMicrochip:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscopeMicrochip.svg`},gyroscope:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/gyroscope.svg`},hazardLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hazardLights.svg`},helmets:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/helmets.svg`},help:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/help.svg`},highBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/highBeam.svg`},HUD:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/HUD.svg`},hydroPump1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump1.svg`},hydroPump2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump2.svg`},hydroPump3:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump3.svg`},hydroPump4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump4.svg`},hydroPump5:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump5.svg`},hydroPump6:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump6.svg`},hydroPump7:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hydroPump7.svg`},hypermiling:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/hypermiling.svg`},import:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/import.svg`},infinity:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/infinity.svg`},info:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/info.svg`},jointLocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLocked.svg`},jointUnlocked:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlocked.svg`},jump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/jump.svg`},keyboard:{glyph:``,size:24,tags:[`keyboard`,`input`],fileSvg:`svg/keyboard.svg`},keys1:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys1.svg`},keys2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/keys2.svg`},lampPost1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost1.svg`},lampPost2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost2.svg`},lampPost3:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/lampPost3.svg`},laneProperties:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/laneProperties.svg`},language:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/language.svg`},laptop:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/laptop.svg`},lidarPatternFullArcHighFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcHighFreq.svg`},lidarPatternFullArcMidFreq:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternFullArcMidFreq.svg`},lidarPatternNarrowArc:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/lidarPatternNarrowArc.svg`},lidar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/lidar.svg`},lightGarageG11:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG11.svg`},lightGarageG12:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG12.svg`},lightGarageG13:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG13.svg`},lightGarageG14:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG14.svg`},lightGarageG21:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG21.svg`},lightGarageG22:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG22.svg`},lightGarageG23:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG23.svg`},lightGarageG24:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG24.svg`},lightGarageG31:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG31.svg`},lightGarageG32:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG32.svg`},lightGarageG33:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG33.svg`},lightGarageG34:{glyph:``,size:24,tags:[`career`,`garage`,`lights`],fileSvg:`svg/lightGarageG34.svg`},lightrunner:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lightrunner.svg`},limiterEnable:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/limiterEnable.svg`},lineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/lineToTerrain.svg`},link2:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link2.svg`},link:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/link.svg`},listBig:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listBig.svg`},listIndented:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/listIndented.svg`},listSmall:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/listSmall.svg`},location1:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location1.svg`},location2:{glyph:``,size:24,tags:[`generic`,`gps`,`position`,`map`,`sensor`],fileSvg:`svg/location2.svg`},lockClosed:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockClosed.svg`},lockOpened:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/lockOpened.svg`},longRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam1.svg`},longRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/longRangeBeam2.svg`},lowBeam:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/lowBeam.svg`},magnetOnSurface:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/magnetOnSurface.svg`},mapWithEmitter:{glyph:``,size:24,tags:[`generic`,`tech`,`sensors`],fileSvg:`svg/mapWithEmitter.svg`},mapPoint:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/mapPoint.svg`},material:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/material.svg`},mathDivide:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathDivide.svg`},mathGreaterOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterOrEqualThan.svg`},mathGreaterThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathGreaterThan.svg`},mathLessOrEqualThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessOrEqualThan.svg`},mathLessThan:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathLessThan.svg`},mathMinus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMinus.svg`},mathMultiply:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathMultiply.svg`},mathPlus:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/mathPlus.svg`},medal:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medal.svg`},mesh4Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh4Cells.svg`},mesh9Cells:{glyph:``,size:24,tags:[`tech`,`mesh`,`beams`,`nodes`,`surface`],fileSvg:`svg/mesh9Cells.svg`},meshFence:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshFence.svg`},meshRoad:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/meshRoad.svg`},midRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam1.svg`},midRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/midRangeBeam2.svg`},minusRes:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/minusRes.svg`},minus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/minus.svg`},mirrorInteriorMiddle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorInteriorMiddle.svg`},mirrorLeftBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigBottomWideAngle.svg`},mirrorLeftBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBigTop.svg`},mirrorLeftBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBig.svg`},mirrorLeftBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftBonnet.svg`},mirrorLeftDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorLeftDefault.svg`},mirrorRightBigBottomWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigBottomWideAngle.svg`},mirrorRightBigTop:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBigTop.svg`},mirrorRightBig:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBig.svg`},mirrorRightBonnet:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightBonnet.svg`},mirrorRightDefault:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRightDefault.svg`},mirrorRoundWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorRoundWideAngle.svg`},mirrorTopWideAngle:{glyph:``,size:24,tags:[`vehicle`,`features`,`mirror`,`rearview`],fileSvg:`svg/mirrorTopWideAngle.svg`},missionCheckboxCross:{glyph:``,size:24,tags:[`checkbox`,`selection`,`box`],fileSvg:`svg/missionCheckboxCross.svg`},mouseLMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseLMB.svg`},mouseMMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseMMB.svg`},mouseRMB:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseRMB.svg`},mouseWheel:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseWheel.svg`},mouseXAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXAxis.svg`},mouseXYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseXYAxis.svg`},mouseYAxis:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouseYAxis.svg`},mouse:{glyph:``,size:24,tags:[`mouse`,`input`],fileSvg:`svg/mouse.svg`},move02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/move02.svg`},move:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/move.svg`},movieCamera:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/movieCamera.svg`},music:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/music.svg`},N2OButton:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OButton.svg`},N2OHoriz:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OHoriz.svg`},N2OVert:{glyph:``,size:24,tags:[`fuel`],fileSvg:`svg/N2OVert.svg`},nextTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/nextTrack.svg`},night:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/night.svg`},noNameControllerButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/noNameControllerButton.svg`},nodeAddFirst01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst01.svg`},nodeAddFirst02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddFirst02.svg`},nodeAddLast02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddLast02.svg`},nodeAddMiddle01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle01.svg`},nodeAddMiddle02:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAddMiddle02.svg`},nodeAdd:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeAdd.svg`},nodeLast01:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeLast01.svg`},nodeRemove:{glyph:``,size:24,tags:[`generic`,`path`,`node`],fileSvg:`svg/nodeRemove.svg`},odometerKM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerKM.svg`},odometerMI:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometerMI.svg`},odometer:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/odometer.svg`},oilPressureIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/oilPressureIndicator.svg`},order:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/order.svg`},organization:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/organization.svg`},palmCrossed:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/palmCrossed.svg`},paperKnife:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/paperKnife.svg`},parkingIndicator:{glyph:``,size:24,tags:[`vehicle`,`features`,`warning`,`internals`],fileSvg:`svg/parkingIndicator.svg`},parking:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/parking.svg`},pathArc:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathArc.svg`},pathAroundObstacle:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathAroundObstacle.svg`},pathLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathLine.svg`},pathSpiral:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pathSpiral.svg`},pauseRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pauseRound.svg`},pause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/pause.svg`},personSolid:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/personSolid.svg`},person:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/person.svg`},photo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/photo.svg`},placeholder:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/placeholder.svg`},playRound:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playRound.svg`},play:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/play.svg`},playlist:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playlist.svg`},plusGarage1:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage1.svg`},plusGarage2:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage2.svg`},plusGarage3:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage3.svg`},plusGarage4:{glyph:``,size:24,tags:[`career`,`garage`,`features`],fileSvg:`svg/plusGarage4.svg`},plusSet:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/plusSet.svg`},plus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/plus.svg`},positionLights:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/positionLights.svg`},powerGauge01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge01.svg`},powerGauge02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge02.svg`},powerGauge03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge03.svg`},powerGauge04:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge04.svg`},powerGauge05:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/powerGauge05.svg`},powerOnOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/powerOnOff.svg`},prevTrack:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/prevTrack.svg`},publisher:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/publisher.svg`},puzzleModule:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/puzzleModule.svg`},raceFlag:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/raceFlag.svg`},radarIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarIdeal.svg`},radarRoundIdeal:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRoundIdeal.svg`},radarRound:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radarRound.svg`},radar:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/radar.svg`},rangeboxHi2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi2.svg`},rangeboxHi4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi4.svg`},rangeboxHiA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHiA.svg`},rangeboxLo2:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo2.svg`},rangeboxLo4:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo4.svg`},rangeboxLoA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLoA.svg`},rearAxleMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearAxleMidpoint.svg`},rearBumperMidpoint:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/rearBumperMidpoint.svg`},reconfigure:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/reconfigure.svg`},redo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/redo.svg`},reflectNot:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflectNot.svg`},reflect:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/reflect.svg`},rename:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/rename.svg`},replay:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/replay.svg`},restart:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/restart.svg`},roadDividerLinesDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadDividerLinesDecal.svg`},roadEdgeLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEdgeLineDecal.svg`},roadEndLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEndLineDecal.svg`},roadFace:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFace.svg`},roadInfo:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/roadInfo.svg`},roadMarkingOutline:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`outlined`],fileSvg:`svg/roadMarkingOutline.svg`},roadMarkingSolid:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/roadMarkingSolid.svg`},roadOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutline.svg`},roadRefPathDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPathDecal.svg`},roadRefPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRefPath.svg`},roadStartLineDecal:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStartLineDecal.svg`},road:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/road.svg`},rockCrawling01:{glyph:``,size:24,tags:[`poi`,`vehicle`],fileSvg:`svg/rockCrawling01.svg`},rockCrawling02:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/rockCrawling02.svg`},routeAdd:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeAdd.svg`},routeComplex:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeComplex.svg`},routeSimple:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimple.svg`},runScript:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/runScript.svg`},RWD:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/RWD.svg`},saveAs1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveAs1.svg`},scan:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/scan.svg`},search:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/search.svg`},semiTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/semiTrailer.svg`},semiTruckCabover:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckCabover.svg`},semiTruckUS:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`,`truck`],fileSvg:`svg/semiTruckUS.svg`},semiTruck:{glyph:``,size:24,tags:[`cargo`,`delivery`,`truck`,`trailer`,`vehicle`],fileSvg:`svg/semiTruck.svg`},shortRangeBeam1:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam1.svg`},shortRangeBeam2:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/shortRangeBeam2.svg`},signal01a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal01a.svg`},signal02a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal02a.svg`},signal03a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal03a.svg`},signal04a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal04a.svg`},signal05a:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/signal05a.svg`},slashLeft:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashLeft.svg`},slashRight:{glyph:``,size:24,tags:[`generic`,`math`,`operands`,`small`],fileSvg:`svg/slashRight.svg`},smallTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`trailer`,`vehicle`],fileSvg:`svg/smallTrailer.svg`},smartphone1:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone1.svg`},smartphone2:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/smartphone2.svg`},snowflake:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/snowflake.svg`},soundFadeOut:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundFadeOut.svg`},soundLimit:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLimit.svg`},soundLoud:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundLoud.svg`},soundMonoL:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoL.svg`},soundMonoR:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundMonoR.svg`},soundOff:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundOff.svg`},soundQuiet:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundQuiet.svg`},soundStereo:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundStereo.svg`},soundWave01:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave01.svg`},soundWave02:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/soundWave02.svg`},sphereOnPathNumber:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPathNumber.svg`},sphereOnPath:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnPath.svg`},sphericalBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/sphericalBeam.svg`},spoilerLift:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/spoilerLift.svg`},sprayCan:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/sprayCan.svg`},stack3:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/stack3.svg`},star:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/star.svg`},starSecondary:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/starSecondary.svg`},steeringWheelCommon:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelCommon.svg`},steeringWheelSporty:{glyph:``,size:24,tags:[`steering`,`controller`,`input`],fileSvg:`svg/steeringWheelSporty.svg`},stopwatchArrows01:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows01.svg`},stopwatchArrows02:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchArrows02.svg`},stopwatchSectionOutlinedEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedEnd.svg`},stopwatchSectionOutlinedStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionOutlinedStart.svg`},stopwatchSectionSolidEnd:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidEnd.svg`},stopwatchSectionSolidStart:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/stopwatchSectionSolidStart.svg`},strobeLights:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/strobeLights.svg`},sunRise:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunRise.svg`},survellianceCamera:{glyph:``,size:24,tags:[`generic`,`camera`,`optical`,`sensor`],fileSvg:`svg/survellianceCamera.svg`},suspension01:{glyph:``,size:24,tags:[`vehicle`,`features`,`part`],fileSvg:`svg/suspension01.svg`},suspension02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/suspension02.svg`},switchBlock:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchBlock.svg`},switchOutline:{glyph:``,size:24,tags:[`generic`,`circuit`,`electronics`,`switch`],fileSvg:`svg/switchOutline.svg`},sync:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sync.svg`},synchro01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro01.svg`},synchro02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/synchro02.svg`},tankerTrailer:{glyph:``,size:24,tags:[`cargo`,`delivery`,`tank`,`tanker`,`trailer`,`vehicle`],fileSvg:`svg/tankerTrailer.svg`},targetJump:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/targetJump.svg`},taxiCar1:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar1.svg`},taxiCar3:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCar3.svg`},taxiCarT:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCarT.svg`},taxiCheckerLamp:{glyph:``,size:24,tags:[`taxi`,`generic`,`vehicle`],fileSvg:`svg/taxiCheckerLamp.svg`},terrainToLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToLine.svg`},terrain:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/terrain.svg`},thinBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinBulbBeam.svg`},thinnerBulbBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/thinnerBulbBeam.svg`},thisSideUp:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/thisSideUp.svg`},tiles:{glyph:``,size:24,tags:[`generic`,`catalog`,`selector`,`view`],fileSvg:`svg/tiles.svg`},timer:{glyph:``,size:24,tags:[`generic`,`time`,`fast`],fileSvg:`svg/timer.svg`},tireDirection3Fourth2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth2.svg`},tireDirection3Fourth3:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirection3Fourth3.svg`},tireDirectionFront2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionFront2.svg`},tireDirectionSide2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionSide2.svg`},tireDirectionTop2:{glyph:``,size:24,tags:[`tire`],fileSvg:`svg/tireDirectionTop2.svg`},tirePressureDecrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease01.svg`},tirePressureDecrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureDecrease02.svg`},tirePressureGaugeAlt01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt01.svg`},tirePressureGaugeAlt02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt02.svg`},tirePressureGaugeAlt03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeAlt03.svg`},tirePressureGaugeOutlined01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined01.svg`},tirePressureGaugeOutlined02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined02.svg`},tirePressureGaugeOutlined03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeOutlined03.svg`},tirePressureGaugeSolid01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid01.svg`},tirePressureGaugeSolid02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid02.svg`},tirePressureGaugeSolid03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureGaugeSolid03.svg`},tirePressureIncrease01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease01.svg`},tirePressureIncrease02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureIncrease02.svg`},tirePressureStopLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopLine.svg`},tirePressureStopOctoLine:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoLine.svg`},tirePressureStopOctoSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopOctoSolid.svg`},tirePressureStopSolid:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tirePressureStopSolid.svg`},toCOMWithWheels:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOMWithWheels.svg`},toCOM:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`placement`,`sensor`],fileSvg:`svg/toCOM.svg`},toGarage:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/toGarage.svg`},touch:{glyph:``,size:24,tags:[`touch`,`input`],fileSvg:`svg/touch.svg`},tow:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/tow.svg`},tractionControl:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/tractionControl.svg`},trafficCone:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/trafficCone.svg`},transform:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transform.svg`},transmissionA:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionA.svg`},transmissionM:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionM.svg`},transparencyMask:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/transparencyMask.svg`},trashBin1:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/trashBin1.svg`},trashBin2:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/trashBin2.svg`},triangleBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/triangleBeam.svg`},trim:{glyph:``,size:24,tags:[`generic`,`sound`],fileSvg:`svg/trim.svg`},tulipBeam:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`sensor`],fileSvg:`svg/tulipBeam.svg`},tunnel:{glyph:``,size:24,tags:[`generic`,`world editor`,`we`,`road tools`],fileSvg:`svg/tunnel.svg`},turbine:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbine.svg`},twoRoadsAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsAdd.svg`},twoRoadsCrossAdd:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsCrossAdd.svg`},twoRoadsLink:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoRoadsLink.svg`},twoUnicyclesOnly:{glyph:``,size:24,tags:[`delivery`,`stencil`,`cargo`],fileSvg:`svg/twoUnicyclesOnly.svg`},undo:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/undo.svg`},ungroup:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/ungroup.svg`},unlink:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/unlink.svg`},vehicleDoorsClose:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsClose.svg`},vehicleDoorsOpen:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoorsOpen.svg`},vehicleDoors:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleDoors.svg`},vehicleFeatures01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures01.svg`},vehicleFeatures02:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures02.svg`},vehicleFeatures03:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleFeatures03.svg`},vehicleHood:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleHood.svg`},vehicleTrunk:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/vehicleTrunk.svg`},view:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/view.svg`},voucherDiagonal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal1.svg`},voucherDiagonal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal2.svg`},voucherDiagonal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherDiagonal3.svg`},voucherHorizontal1:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal1.svg`},voucherHorizontal2:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal2.svg`},voucherHorizontal3:{glyph:``,size:24,tags:[`generic`,`currency`,`reward`,`career`],fileSvg:`svg/voucherHorizontal3.svg`},wavesSignalReceived:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalReceived.svg`},wavesSignalSentLeft:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentLeft.svg`},wavesSignalSentRight:{glyph:``,size:24,tags:[`generic`,`data`,`signal`,`sensor`],fileSvg:`svg/wavesSignalSentRight.svg`},weather:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/weather.svg`},weight:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/weight.svg`},wheelHubLocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubLocked01.svg`},wheelHubUnlocked01:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/wheelHubUnlocked01.svg`},wigwags:{glyph:``,size:24,tags:[`vehicle`,`features`,`police`,`emergency`],fileSvg:`svg/wigwags.svg`},wrench:{glyph:``,size:24,tags:[`generic`,`vehicle`,`features`],fileSvg:`svg/wrench.svg`},xboxA:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxA.svg`},xboxB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxB.svg`},xboxDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultOutline.svg`},xboxDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDefaultSolid.svg`},xboxDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDDown.svg`},xboxDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeft.svg`},xboxDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDRight.svg`},xboxDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUp.svg`},xboxLB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLB.svg`},xboxLSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButton.svg`},xboxLT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLT.svg`},xboxMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxMenu.svg`},xboxRB:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRB.svg`},xboxRSButton:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButton.svg`},xboxRT:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRT.svg`},xboxThumbL:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbL.svg`},xboxThumbR:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxThumbR.svg`},xboxView:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxView.svg`},xboxXAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxis.svg`},xboxXRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRot.svg`},xboxX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxX.svg`},xboxYAxis:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxis.svg`},xboxYRot:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRot.svg`},xboxY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxY.svg`},AIL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/AIL.svg`},arrowLeftOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowLeftOutline.svg`},arrowRightOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/arrowRightOutline.svg`},automaticTransmissionL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/automaticTransmissionL.svg`},beamsNodesMessageOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesMessageOutline.svg`},beamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesOutline.svg`},beamsNodesPlugOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/beamsNodesPlugOutline.svg`},BNGEcosystemOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/BNGEcosystemOutline.svg`},carFrontRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carFrontRouteOutline.svg`},carSensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSensorsOutline.svg`},carSideRouteOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/carSideRouteOutline.svg`},chargeLL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/chargeLL.svg`},cityOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/cityOutline.svg`},clutchL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/clutchL.svg`},couplerL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/couplerL.svg`},dialogOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/dialogOutline.svg`},documentSmileOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/documentSmileOutline.svg`},drivetrainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/drivetrainOutline.svg`},electronicSchemeOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/electronicSchemeOutline.svg`},engineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/engineL.svg`},engineOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/engineOutline.svg`},gearTuningOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/gearTuningOutline.svg`},giftBoxOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/giftBoxOutline.svg`},lidarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/lidarOutline.svg`},medalStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/medalStarOutline.svg`},megaphoneOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/megaphoneOutline.svg`},multiseatL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/multiseatL.svg`},peopleOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/peopleOutline.svg`},personOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/personOutline.svg`},physicsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/physicsOutline.svg`},playChainOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/playChainOutline.svg`},POITimeL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/POITimeL.svg`},proximitySensorsOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/proximitySensorsOutline.svg`},qualityBadgeStarOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeStarOutline.svg`},qualityBadgeVOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/qualityBadgeVOutline.svg`},replayL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/replayL.svg`},roadblockL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/roadblockL.svg`},rotationL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/rotationL.svg`},sensorsL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/sensorsL.svg`},simRigOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/simRigOutline.svg`},suspensionOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/suspensionOutline.svg`},teamOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/teamOutline.svg`},techLightBulbOutline01:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline01.svg`},techLightBulbOutline02:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/techLightBulbOutline02.svg`},temperatureL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/temperatureL.svg`},timeUnlockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timeUnlockOutline.svg`},timedLockOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/timedLockOutline.svg`},trafficOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/trafficOutline.svg`},tuningL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/tuningL.svg`},turbineL:{glyph:``,size:48,tags:[`extra`],fileSvg:`svg/turbineL.svg`},voucherOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/voucherOutline.svg`},wheelBeamsNodesOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelBeamsNodesOutline.svg`},wheelOutline:{glyph:``,size:48,tags:[`web`,`outlined`,`large`,`secondary`],fileSvg:`svg/wheelOutline.svg`},circlePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinBack.svg`},circlePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/circlePinFront.svg`},markerRectanglePinBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinBack.svg`},markerRectanglePinFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerRectanglePinFront.svg`},markerTriangleBack:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleBack.svg`},markerTriangleFront:{glyph:``,size:56,tags:[`poi`],fileSvg:`svg/markerTriangleFront.svg`},danger:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/danger.svg`},droplet:{glyph:``,size:24,tags:[`generic`,`drop`,`liquid`],fileSvg:`svg/droplet.svg`},envelope:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/envelope.svg`},fireDiamond:{glyph:``,size:24,tags:[`generic`,`hazard`,`nfpa704`],fileSvg:`svg/fireDiamond.svg`},rocks:{glyph:``,size:24,tags:[`dry cargo`,`dry`],fileSvg:`svg/rocks.svg`},xmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmark.svg`},scale:{glyph:``,size:24,tags:[`decals`,`editor`,`generic`],fileSvg:`svg/scale.svg`},arrowsUp:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/arrowsUp.svg`},bigDot:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/bigDot.svg`},connectorBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/connectorBold.svg`},cornerTopRight:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/cornerTopRight.svg`},plusBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/plusBold.svg`},puzzlePieceBold:{glyph:``,size:16,tags:[`marker`,`ribbon`,`content-props`],fileSvg:`svg/puzzlePieceBold.svg`},locationDestination:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationDestination.svg`},locationSource:{glyph:``,size:24,tags:[`generic`,`location`,`route`,`path`,`node`],fileSvg:`svg/locationSource.svg`},accelerationKPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationKPH.svg`},accelerationMPH:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/accelerationMPH.svg`},boxTruckFast:{glyph:``,size:24,tags:[`cargo`,`delivery`,`vehicle`],fileSvg:`svg/boxTruckFast.svg`},colorBrightnessSun:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorBrightnessSun.svg`},colorCirclePalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorCirclePalette.svg`},colorPalette:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorPalette.svg`},colorSaturation:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/colorSaturation.svg`},sortAscDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown02.svg`},sortAscDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscDown.svg`},sortAscUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp02.svg`},sortAscUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAscUp.svg`},sortDescDown02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown02.svg`},sortDescDown:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescDown.svg`},sortDescUp02:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp02.svg`},sortDescUp:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDescUp.svg`},cardboardBoxCoins:{glyph:``,size:24,tags:[`generic`,`delivery`],fileSvg:`svg/cardboardBoxCoins.svg`},lasso:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`],fileSvg:`svg/lasso.svg`},materialGlossy:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialGlossy.svg`},materialMetal:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialMetal.svg`},materialRoughness:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialRoughness.svg`},materialTransparency01:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency01.svg`},materialTransparency02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/materialTransparency02.svg`},metal01:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/metal01.svg`},removeItemPolygon:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeItemPolygon.svg`},removeListItem:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/removeListItem.svg`},sortAsc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortAsc.svg`},sortDesc:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/sortDesc.svg`},surfaceRoughness02:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/surfaceRoughness02.svg`},shieldCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmark.svg`},shieldHandCheckmark:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandCheckmark.svg`},shieldHandPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldHandPlus.svg`},doorFrontCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontCoins.svg`},doorFront:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFront.svg`},engineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/engineCoins.svg`},exhaustMufflerCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMufflerCoins.svg`},exhaustMuffler:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/exhaustMuffler.svg`},headlightCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlightCoins.svg`},headlight:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/headlight.svg`},tire3FourthCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3FourthCoins.svg`},tire3Fourth:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`,`tire`],fileSvg:`svg/tire3Fourth.svg`},turbineCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/turbineCoins.svg`},wheelDiscCoins:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDiscCoins.svg`},wheelDisc:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/wheelDisc.svg`},bridgeWithRiver:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/bridgeWithRiver.svg`},gizmosOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosOutline.svg`},gizmosSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/gizmosSolid.svg`},highwayRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge01.svg`},highwayRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayRoad3To2Merge02.svg`},highwayToUrbanRoadTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition01.svg`},highwayToUrbanRoadTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayToUrbanRoadTransition02.svg`},pedestrianCrossing01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/pedestrianCrossing01.svg`},polygonalCube:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/polygonalCube.svg`},roadEditOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditOutline.svg`},roadEditSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadEditSolid.svg`},roadFolderPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolderPlus.svg`},roadFolder:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadFolder.svg`},roadGuideArrowOutline:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowOutline.svg`},roadGuideArrowSolid:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadGuideArrowSolid.svg`},roadOutlineMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadOutlineMesh.svg`},roadPedestrianCrossing02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadPedestrianCrossing02.svg`},roadProfileWithCheckmark:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfileWithCheckmark.svg`},roadProfile:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadProfile.svg`},roadRoundaboutJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadRoundaboutJunction.svg`},roadSidewalkTransition:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadSidewalkTransition.svg`},roadStackPlus:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStackPlus.svg`},roadStack:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadStack.svg`},roadTJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadTJunction.svg`},roadXJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadXJunction.svg`},roadYJunction:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/roadYJunction.svg`},shoppingCart:{glyph:``,size:24,tags:[`generic`,`shop`,`purchase`],fileSvg:`svg/shoppingCart.svg`},singleLineToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/singleLineToTerrain.svg`},sphereOnMesh:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/sphereOnMesh.svg`},twoLinesToTerrain:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/twoLinesToTerrain.svg`},urbanRoad3To2Merge01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge01.svg`},urbanRoad3To2Merge02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoad3To2Merge02.svg`},urbanRoadToHighwayTransition01:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition01.svg`},urbanRoadToHighwayTransition02:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadToHighwayTransition02.svg`},floppyDiskPlus:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/floppyDiskPlus.svg`},highwayMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayMerge.svg`},highwaySeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwaySeparate.svg`},highwayShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/highwayShoulderMerge.svg`},terrainToSingleLine:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToSingleLine.svg`},terrainToTwoLines:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/terrainToTwoLines.svg`},urbanRoadMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadMerge.svg`},urbanRoadSeparate:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanRoadSeparate.svg`},urbanShoulderMerge:{glyph:``,size:24,tags:[`generic`,`we`,`world editor`,`road tools`],fileSvg:`svg/urbanShoulderMerge.svg`},discharging:{glyph:``,size:24,tags:[`fuel`,`electricity`,`ev`],fileSvg:`svg/discharging.svg`},BNGChat:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/BNGChat.svg`},chatBubble:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/chatBubble.svg`},busTilted:{glyph:``,size:24,tags:[`poi`,`vehicle`,`bus`],fileSvg:`svg/busTilted.svg`},cameraFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraFarClip.svg`},cameraNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/cameraNearClip.svg`},explosion:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/explosion.svg`},fireExtinguisher:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fireExtinguisher.svg`},fire:{glyph:``,size:24,tags:[`generic`,`destruction`],fileSvg:`svg/fire.svg`},jointLockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointLockedMultiple.svg`},jointUnlockedMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointUnlockedMultiple.svg`},toggleOff:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOff.svg`},toggleOn:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/toggleOn.svg`},viewFarClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewFarClip.svg`},viewNearClip:{glyph:``,size:24,tags:[`decals`,`generic`],fileSvg:`svg/viewNearClip.svg`},twoArrowsHorizontal:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsHorizontal.svg`},twoArrowsVertical:{glyph:``,size:24,tags:[`arrow`,`large`,`solid`,`turn signals`],fileSvg:`svg/twoArrowsVertical.svg`},bridge:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bridge.svg`},bump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bump.svg`},bumps:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/bumps.svg`},caution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/caution.svg`},crest:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/crest.svg`},doubleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/doubleCaution.svg`},finish:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/finish.svg`},jumpOverBump:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/jumpOverBump.svg`},narrows:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/narrows.svg`},pothole:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/pothole.svg`},turn1:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn1.svg`},turn2:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn2.svg`},turn3:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn3.svg`},turn4:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn4.svg`},turn5:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn5.svg`},turn6:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turn6.svg`},turnHp:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnHp.svg`},turnSq:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/turnSq.svg`},water:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/water.svg`},circleSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`,`no entry`],fileSvg:`svg/circleSlashed.svg`},scissorsSlashed:{glyph:``,size:24,tags:[`generic`,`do not cut`],fileSvg:`svg/scissorsSlashed.svg`},scissors:{glyph:``,size:24,tags:[`generic`,`cut`],fileSvg:`svg/scissors.svg`},airPuffRight1:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/airPuffRight1.svg`},airPuffUp1:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/airPuffUp1.svg`},arrowsReplace:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsReplace.svg`},arrowsShuffle:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsShuffle.svg`},arrowsSwitch:{glyph:``,size:24,tags:[`generic`,`arrow`],fileSvg:`svg/arrowsSwitch.svg`},carClock:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carClock.svg`},carFast:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFast.svg`},carNumber1:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber1.svg`},carNumber2:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber2.svg`},carNumber3:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber3.svg`},carNumber4:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber4.svg`},carNumber5:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber5.svg`},carNumber6:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber6.svg`},carNumber7:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber7.svg`},carNumber8:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber8.svg`},carNumber9:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carNumber9.svg`},carPlus:{glyph:``,size:24,tags:[`generic`,`vehicle`],fileSvg:`svg/carPlus.svg`},carsChange:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsChange.svg`},carsFollow:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFollow.svg`},doorFrontDetached:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/doorFrontDetached.svg`},forceFieldPull1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull1.svg`},forceFieldPull2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull2.svg`},forceFieldPull3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPull3.svg`},forceFieldPush1:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush1.svg`},forceFieldPush2:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush2.svg`},forceFieldPush3:{glyph:``,size:24,tags:[`physics`,`field`,`force`],fileSvg:`svg/forceFieldPush3.svg`},garageNumber1:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber1.svg`},garageNumber2:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber2.svg`},garageNumber3:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber3.svg`},garageNumber4:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber4.svg`},garageNumber5:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber5.svg`},garageNumber6:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber6.svg`},garageNumber7:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber7.svg`},garageNumber8:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber8.svg`},garageNumber9:{glyph:``,size:24,tags:[`career`,`garage number`,`features`],fileSvg:`svg/garageNumber9.svg`},hingeBroken:{glyph:``,size:24,tags:[`vehicle`,`part`,`features`],fileSvg:`svg/hingeBroken.svg`},loadMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/loadMesh.svg`},octagonBrick:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagonBrick.svg`},octagon:{glyph:``,size:24,tags:[`generic`,`vehicle`,`car`],fileSvg:`svg/octagon.svg`},pushUp:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushUp.svg`},saveMesh:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/saveMesh.svg`},square:{glyph:``,size:24,tags:[`playback`,`stop`],fileSvg:`svg/square.svg`},tireAirPuff:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireAirPuff.svg`},tireDeflated:{glyph:``,size:24,tags:[`vehicle`,`car`],fileSvg:`svg/tireDeflated.svg`},trafficLight:{glyph:``,size:24,tags:[`generic`,`traffic`,`roads`],fileSvg:`svg/trafficLight.svg`},enter:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/enter.svg`},pedestrianRunning:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianRunning.svg`},pedestrianStanding:{glyph:``,size:24,tags:[`generic`,`sign`,`pedestrian`,`traffic`],fileSvg:`svg/pedestrianStanding.svg`},seatArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowIn.svg`},seatArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOut.svg`},seatVArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowIn.svg`},seatVArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOut.svg`},vehicleArrowIn:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowIn.svg`},vehicleArrowOut:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/vehicleArrowOut.svg`},leverFrontOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverFrontOperate.svg`},leverSideDown:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideDown.svg`},leverSideOperate:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideOperate.svg`},leverSideUp:{glyph:``,size:24,tags:[`generic`,`actions`],fileSvg:`svg/leverSideUp.svg`},medalEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalEmpty.svg`},medalStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/medalStar.svg`},seatArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowInLeft.svg`},seatArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatArrowOutLeft.svg`},seatVArrowInLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowInLeft.svg`},seatVArrowOutLeft:{glyph:``,size:24,tags:[`generic`,`arrow`,`actions`],fileSvg:`svg/seatVArrowOutLeft.svg`},badgeRoundEmpty:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundEmpty.svg`},badgeRoundStar:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRoundStar.svg`},badgeRound:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badgeRound.svg`},badge:{glyph:``,size:24,tags:[`generic`,`reward`,`achievment`],fileSvg:`svg/badge.svg`},beamCurrencyOutlineLarge:{glyph:``,size:48,tags:[`outline`,`generic`,`currency`],fileSvg:`svg/beamCurrencyOutlineLarge.svg`},carSideOutlineLarge:{glyph:``,size:48,tags:[`generic`,`vehicle`],fileSvg:`svg/carSideOutlineLarge.svg`},flagOutlineLarge:{glyph:``,size:48,tags:[`generic`,`mission`,`scenario`],fileSvg:`svg/flagOutlineLarge.svg`},terrainOutlineLarge:{glyph:``,size:48,tags:[`generic`],fileSvg:`svg/terrainOutlineLarge.svg`},houseWrenchRoof:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrenchRoof.svg`},houseWrench:{glyph:``,size:24,tags:[`career`,`garage`,`features`,`house`],fileSvg:`svg/houseWrench.svg`},eject:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/eject.svg`},rallyHelmet3To4:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet3To4.svg`},rallyHelmet:{glyph:``,size:24,tags:[`helmet`,`rally`,`generic`,`racing`,`game mode`],fileSvg:`svg/rallyHelmet.svg`},test:{glyph:``,size:24,tags:[`generic`,`hazard`],fileSvg:`svg/test.svg`},tripleCaution:{glyph:``,size:48,tags:[`rally`,`pace notes`,`directions`,`surface`,`features`],fileSvg:`svg/tripleCaution.svg`},globeSimpleNotSign:{glyph:``,size:24,tags:[`generic`,`offline`],fileSvg:`svg/globeSimpleNotSign.svg`},globeSimplified:{glyph:``,size:24,tags:[`generic`,`online`],fileSvg:`svg/globeSimplified.svg`},radialMenu:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/radialMenu.svg`},branch:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/branch.svg`},NA:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/NA.svg`},psCircleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircleOutline.svg`},psCircle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCircle.svg`},psCreate2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate2.svg`},psCreate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCreate.svg`},psCrossOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCrossOutline.svg`},psCross:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psCross.svg`},psDDefaultOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultOutline.svg`},psDDefaultSolid:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDefaultSolid.svg`},psDDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDDown.svg`},psDLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeft.svg`},psDRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDRight.svg`},psDUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUp.svg`},psL1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL1.svg`},psL2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL2.svg`},psL3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3ButtonArrowDown.svg`},psL3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psL3Button.svg`},psLSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXLeft.svg`},psLSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSXRight.svg`},psLSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSX.svg`},psLSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYDown.svg`},psLSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSYUp.svg`},psLSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLSY.svg`},psLS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psLS.svg`},psMenu2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu2.svg`},psMenu:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psMenu.svg`},psR1:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR1.svg`},psR2:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR2.svg`},psR3ButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3ButtonArrowDown.svg`},psR3Button:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psR3Button.svg`},psRSXLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXLeft.svg`},psRSXRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSXRight.svg`},psRSX:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSX.svg`},psRSYDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYDown.svg`},psRSYUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSYUp.svg`},psRSY:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRSY.svg`},psRS:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psRS.svg`},psSquareOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquareOutline.svg`},psSquare:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psSquare.svg`},psTrackpadNavigate:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadNavigate.svg`},psTrackpadPressCenter:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressCenter.svg`},psTrackpadPressLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressLeft.svg`},psTrackpadPressRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadPressRight.svg`},psTrackpadSwipeDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeDown.svg`},psTrackpadSwipeLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeLeft.svg`},psTrackpadSwipeRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeRight.svg`},psTrackpadSwipeUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTrackpadSwipeUp.svg`},psTriangleOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangleOutline.svg`},psTriangle:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psTriangle.svg`},xboxAOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxAOutline.svg`},xboxBOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxBOutline.svg`},xboxLSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxLSButtonArrowDown.svg`},xboxRSButtonArrowDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxRSButtonArrowDown.svg`},xboxXAxisLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisLeft.svg`},xboxXAxisRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXAxisRight.svg`},xboxXOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXOutline.svg`},xboxXRotLeft:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotLeft.svg`},xboxXRotRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxXRotRight.svg`},xboxYAxisDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisDown.svg`},xboxYAxisUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYAxisUp.svg`},xboxYOutline:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYOutline.svg`},xboxYRotDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotDown.svg`},xboxYRotUp:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxYRotUp.svg`},cableSection:{glyph:``,size:24,tags:[`material`,`beam`,`strap`],fileSvg:`svg/cableSection.svg`},strapHook:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapHook.svg`},strapRatchet:{glyph:``,size:24,tags:[`material`,`strap`],fileSvg:`svg/strapRatchet.svg`},carFastReverse:{glyph:``,size:24,tags:[`vehicle`],fileSvg:`svg/carFastReverse.svg`},carsChase:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsChase.svg`},carsFlee:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/carsFlee.svg`},gaugeFull:{glyph:``,size:24,tags:[`poi`],fileSvg:`svg/gaugeFull.svg`},hammerParticles:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/hammerParticles.svg`},kbArrowsDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsDown.svg`},kbArrowsLeftRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeftRight.svg`},kbArrowsLeft:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsLeft.svg`},kbArrowsOutline:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsOutline.svg`},kbArrowsRight:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsRight.svg`},kbArrowsSolid:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsSolid.svg`},kbArrowsUpDown:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUpDown.svg`},kbArrowsUp:{glyph:``,size:24,tags:[`keyboard`,`controls`],fileSvg:`svg/kbArrowsUp.svg`},magicWand:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/magicWand.svg`},psDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDLeftRight.svg`},psDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/psDUpDown.svg`},pushBackward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushBackward.svg`},pushDown:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushDown.svg`},pushForward:{glyph:``,size:24,tags:[`physics`,`force`],fileSvg:`svg/pushForward.svg`},rangeboxHi:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxHi.svg`},rangeboxLo:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/rangeboxLo.svg`},routeSimpleFlag:{glyph:``,size:24,tags:[`route`,`traffic`],fileSvg:`svg/routeSimpleFlag.svg`},xboxDLeftRight:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDLeftRight.svg`},xboxDUpDown:{glyph:``,size:24,tags:[`gamepad`,`controller`,`input`],fileSvg:`svg/xboxDUpDown.svg`},carsWrench:{glyph:``,size:24,tags:[`vehicle`,`select`],fileSvg:`svg/carsWrench.svg`},jointCycleMultiple:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycleMultiple.svg`},jointCycle:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/jointCycle.svg`},dice24:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/dice24.svg`},diceD6:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/diceD6.svg`},pathDice:{glyph:``,size:24,tags:[`camera`],fileSvg:`svg/pathDice.svg`},sunDown:{glyph:``,size:24,tags:[`environment`],fileSvg:`svg/sunDown.svg`},xmarkBold:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/xmarkBold.svg`},intakeTrumpets:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/intakeTrumpets.svg`},transmissionCvt:{glyph:``,size:24,tags:[`vehicle`,`features`],fileSvg:`svg/transmissionCvt.svg`},house:{glyph:``,size:24,tags:[`career`,`generic`,`garage`,`features`,`house`],fileSvg:`svg/house.svg`},playPause:{glyph:``,size:24,tags:[`playback`],fileSvg:`svg/playPause.svg`},picture:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/picture.svg`},auxUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/auxUpDown.svg`},bucketArmUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUpDown.svg`},bucketTilt:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTilt.svg`},bucketArmDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmDown.svg`},bucketArmLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmLevel.svg`},bucketArmUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketArmUp.svg`},bucketTiltDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltDown.svg`},bucketTiltLevel:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltLevel.svg`},bucketTiltUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/bucketTiltUp.svg`},dumpBedDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedDown.svg`},dumpBedUpDown:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUpDown.svg`},dumpBedUp:{glyph:``,size:24,tags:[`vehicle`,`features`,`equipment`],fileSvg:`svg/dumpBedUp.svg`},beamCurrencyThin:{glyph:``,size:24,tags:[`career`,`currencies`],fileSvg:`svg/beamCurrencyThin.svg`},shieldCheckmarkProgressbar:{glyph:``,size:24,tags:[`generic`],fileSvg:`svg/shieldCheckmarkProgressbar.svg`}}),iconsBySize=Object.freeze({16:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},24:{"4WD":icons$2[`4WD`],"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,ABSIndicator:icons$2.ABSIndicator,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,AIRace:icons$2.AIRace,aperture:icons$2.aperture,arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,autobahn:icons$2.autobahn,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,bSpline:icons$2.bSpline,banknotes:icons$2.banknotes,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamCurrency:icons$2.beamCurrency,beamNG:icons$2.beamNG,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,bus:icons$2.bus,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,cannon:icons$2.cannon,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carDealer:icons$2.carDealer,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,charge:icons$2.charge,charging:icons$2.charging,chartBars:icons$2.chartBars,checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,circuit:icons$2.circuit,clapperboard:icons$2.clapperboard,code:icons$2.code,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,concreteRoadBlock:icons$2.concreteRoadBlock,coolantTemp:icons$2.coolantTemp,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,cup:icons$2.cup,dataExchange:icons$2.dataExchange,day:icons$2.day,DCBattery:icons$2.DCBattery,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,doorIn:icons$2.doorIn,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,evade:icons$2.evade,exhaustValve:icons$2.exhaustValve,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,fastTravel:icons$2.fastTravel,filter:icons$2.filter,flagNew:icons$2.flagNew,flag:icons$2.flag,flatBulbBeam:icons$2.flatBulbBeam,flatbedTruck:icons$2.flatbedTruck,floppyDisk:icons$2.floppyDisk,fogLight:icons$2.fogLight,folder:icons$2.folder,forklift:icons$2.forklift,FPS:icons$2.FPS,fragile:icons$2.fragile,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,FWD:icons$2.FWD,gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,gaugeEmpty:icons$2.gaugeEmpty,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,hazardLights:icons$2.hazardLights,helmets:icons$2.helmets,help:icons$2.help,highBeam:icons$2.highBeam,HUD:icons$2.HUD,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,hypermiling:icons$2.hypermiling,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,jump:icons$2.jump,keyboard:icons$2.keyboard,keys1:icons$2.keys1,keys2:icons$2.keys2,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,lightrunner:icons$2.lightrunner,limiterEnable:icons$2.limiterEnable,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,lowBeam:icons$2.lowBeam,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minusRes:icons$2.minusRes,minus:icons$2.minus,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,missionCheckboxCross:icons$2.missionCheckboxCross,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,move02:icons$2.move02,move:icons$2.move,movieCamera:icons$2.movieCamera,music:icons$2.music,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,nextTrack:icons$2.nextTrack,night:icons$2.night,noNameControllerButton:icons$2.noNameControllerButton,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,order:icons$2.order,organization:icons$2.organization,palmCrossed:icons$2.palmCrossed,paperKnife:icons$2.paperKnife,parkingIndicator:icons$2.parkingIndicator,parking:icons$2.parking,pathArc:icons$2.pathArc,pathAroundObstacle:icons$2.pathAroundObstacle,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,pauseRound:icons$2.pauseRound,pause:icons$2.pause,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,plus:icons$2.plus,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,powerOnOff:icons$2.powerOnOff,prevTrack:icons$2.prevTrack,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,raceFlag:icons$2.raceFlag,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,runScript:icons$2.runScript,RWD:icons$2.RWD,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,smallTrailer:icons$2.smallTrailer,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,spoilerLift:icons$2.spoilerLift,sprayCan:icons$2.sprayCan,stack3:icons$2.stack3,star:icons$2.star,starSecondary:icons$2.starSecondary,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,strobeLights:icons$2.strobeLights,sunRise:icons$2.sunRise,survellianceCamera:icons$2.survellianceCamera,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,targetJump:icons$2.targetJump,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,thisSideUp:icons$2.thisSideUp,tiles:icons$2.tiles,timer:icons$2.timer,tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,toGarage:icons$2.toGarage,touch:icons$2.touch,tow:icons$2.tow,tractionControl:icons$2.tractionControl,trafficCone:icons$2.trafficCone,transform:icons$2.transform,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,transparencyMask:icons$2.transparencyMask,trashBin1:icons$2.trashBin1,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,turbine:icons$2.turbine,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weather:icons$2.weather,weight:icons$2.weight,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,rocks:icons$2.rocks,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,discharging:icons$2.discharging,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,busTilted:icons$2.busTilted,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,pushUp:icons$2.pushUp,saveMesh:icons$2.saveMesh,square:icons$2.square,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,eject:icons$2.eject,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,gaugeFull:icons$2.gaugeFull,hammerParticles:icons$2.hammerParticles,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp,magicWand:icons$2.magicWand,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,routeSimpleFlag:icons$2.routeSimpleFlag,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,dice24:icons$2.dice24,diceD6:icons$2.diceD6,pathDice:icons$2.pathDice,sunDown:icons$2.sunDown,xmarkBold:icons$2.xmarkBold,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,playPause:icons$2.playPause,picture:icons$2.picture,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp,beamCurrencyThin:icons$2.beamCurrencyThin,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},48:{AIL:icons$2.AIL,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,automaticTransmissionL:icons$2.automaticTransmissionL,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,chargeLL:icons$2.chargeLL,cityOutline:icons$2.cityOutline,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineL:icons$2.engineL,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,multiseatL:icons$2.multiseatL,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,POITimeL:icons$2.POITimeL,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,temperatureL:icons$2.temperatureL,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,tripleCaution:icons$2.tripleCaution},56:{circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront}}),iconsByTag=Object.freeze({vehicle:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,boxTruck:icons$2.boxTruck,bus:icons$2.bus,carChase01:icons$2.carChase01,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carStarred:icons$2.carStarred,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,carsChase02:icons$2.carsChase02,cars:icons$2.cars,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drift01:icons$2.drift01,drift02:icons$2.drift02,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,flatbedTruck:icons$2.flatbedTruck,fogLight:icons$2.fogLight,forklift:icons$2.forklift,FWD:icons$2.FWD,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,rockCrawling01:icons$2.rockCrawling01,RWD:icons$2.RWD,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tankerTrailer:icons$2.tankerTrailer,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tow:icons$2.tow,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,boxTruckFast:icons$2.boxTruckFast,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,busTilted:icons$2.busTilted,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,airPuffRight1:icons$2.airPuffRight1,carClock:icons$2.carClock,carFast:icons$2.carFast,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,carsChange:icons$2.carsChange,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated,carSideOutlineLarge:icons$2.carSideOutlineLarge,carFastReverse:icons$2.carFastReverse,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,carsWrench:icons$2.carsWrench,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},features:{"4WD":icons$2[`4WD`],ABSIndicator:icons$2.ABSIndicator,AWD:icons$2.AWD,axleLift:icons$2.axleLift,axleCenter:icons$2.axleCenter,axleFront:icons$2.axleFront,axleRear:icons$2.axleRear,carCoin:icons$2.carCoin,carCoins:icons$2.carCoins,carDealer:icons$2.carDealer,carStarred:icons$2.carStarred,centrifugalClutchLocked03:icons$2.centrifugalClutchLocked03,centrifugalClutchUnlocked03:icons$2.centrifugalClutchUnlocked03,cogDamaged:icons$2.cogDamaged,cogsDamaged:icons$2.cogsDamaged,cogs:icons$2.cogs,coolantTemp:icons$2.coolantTemp,cruiseDisable:icons$2.cruiseDisable,cruiseEnable:icons$2.cruiseEnable,DCBattery:icons$2.DCBattery,differentialFrontDefault:icons$2.differentialFrontDefault,differentialFrontLocked:icons$2.differentialFrontLocked,differentialMiddleDefault:icons$2.differentialMiddleDefault,differentialMiddleLocked:icons$2.differentialMiddleLocked,differentialRearDefault:icons$2.differentialRearDefault,differentialRearLocked:icons$2.differentialRearLocked,doorHandle:icons$2.doorHandle,drivetrainGeneric:icons$2.drivetrainGeneric,drivetrainSpecial:icons$2.drivetrainSpecial,engine:icons$2.engine,ESCOff:icons$2.ESCOff,ESCOn:icons$2.ESCOn,ESC:icons$2.ESC,exhaustValve:icons$2.exhaustValve,fogLight:icons$2.fogLight,FWD:icons$2.FWD,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,hazardLights:icons$2.hazardLights,highBeam:icons$2.highBeam,hydroPump1:icons$2.hydroPump1,hydroPump2:icons$2.hydroPump2,hydroPump3:icons$2.hydroPump3,hydroPump4:icons$2.hydroPump4,hydroPump5:icons$2.hydroPump5,hydroPump6:icons$2.hydroPump6,hydroPump7:icons$2.hydroPump7,jointLocked:icons$2.jointLocked,jointUnlocked:icons$2.jointUnlocked,keys1:icons$2.keys1,keys2:icons$2.keys2,limiterEnable:icons$2.limiterEnable,lowBeam:icons$2.lowBeam,minusRes:icons$2.minusRes,mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle,odometerKM:icons$2.odometerKM,odometerMI:icons$2.odometerMI,odometer:icons$2.odometer,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,plusSet:icons$2.plusSet,positionLights:icons$2.positionLights,powerGauge01:icons$2.powerGauge01,powerGauge02:icons$2.powerGauge02,powerGauge03:icons$2.powerGauge03,powerGauge04:icons$2.powerGauge04,powerGauge05:icons$2.powerGauge05,rangeboxHi2:icons$2.rangeboxHi2,rangeboxHi4:icons$2.rangeboxHi4,rangeboxHiA:icons$2.rangeboxHiA,rangeboxLo2:icons$2.rangeboxLo2,rangeboxLo4:icons$2.rangeboxLo4,rangeboxLoA:icons$2.rangeboxLoA,RWD:icons$2.RWD,spoilerLift:icons$2.spoilerLift,strobeLights:icons$2.strobeLights,suspension01:icons$2.suspension01,suspension02:icons$2.suspension02,synchro01:icons$2.synchro01,synchro02:icons$2.synchro02,tirePressureDecrease01:icons$2.tirePressureDecrease01,tirePressureDecrease02:icons$2.tirePressureDecrease02,tirePressureGaugeAlt01:icons$2.tirePressureGaugeAlt01,tirePressureGaugeAlt02:icons$2.tirePressureGaugeAlt02,tirePressureGaugeAlt03:icons$2.tirePressureGaugeAlt03,tirePressureGaugeOutlined01:icons$2.tirePressureGaugeOutlined01,tirePressureGaugeOutlined02:icons$2.tirePressureGaugeOutlined02,tirePressureGaugeOutlined03:icons$2.tirePressureGaugeOutlined03,tirePressureGaugeSolid01:icons$2.tirePressureGaugeSolid01,tirePressureGaugeSolid02:icons$2.tirePressureGaugeSolid02,tirePressureGaugeSolid03:icons$2.tirePressureGaugeSolid03,tirePressureIncrease01:icons$2.tirePressureIncrease01,tirePressureIncrease02:icons$2.tirePressureIncrease02,tirePressureStopLine:icons$2.tirePressureStopLine,tirePressureStopOctoLine:icons$2.tirePressureStopOctoLine,tirePressureStopOctoSolid:icons$2.tirePressureStopOctoSolid,tirePressureStopSolid:icons$2.tirePressureStopSolid,tractionControl:icons$2.tractionControl,transmissionA:icons$2.transmissionA,transmissionM:icons$2.transmissionM,turbine:icons$2.turbine,vehicleDoorsClose:icons$2.vehicleDoorsClose,vehicleDoorsOpen:icons$2.vehicleDoorsOpen,vehicleDoors:icons$2.vehicleDoors,vehicleFeatures01:icons$2.vehicleFeatures01,vehicleFeatures02:icons$2.vehicleFeatures02,vehicleFeatures03:icons$2.vehicleFeatures03,vehicleHood:icons$2.vehicleHood,vehicleTrunk:icons$2.vehicleTrunk,wheelHubLocked01:icons$2.wheelHubLocked01,wheelHubUnlocked01:icons$2.wheelHubUnlocked01,wigwags:icons$2.wigwags,wrench:icons$2.wrench,accelerationKPH:icons$2.accelerationKPH,accelerationMPH:icons$2.accelerationMPH,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,jointLockedMultiple:icons$2.jointLockedMultiple,jointUnlockedMultiple:icons$2.jointUnlockedMultiple,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,carsFollow:icons$2.carsFollow,doorFrontDetached:icons$2.doorFrontDetached,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,hingeBroken:icons$2.hingeBroken,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,tripleCaution:icons$2.tripleCaution,carsChase:icons$2.carsChase,carsFlee:icons$2.carsFlee,hammerParticles:icons$2.hammerParticles,rangeboxHi:icons$2.rangeboxHi,rangeboxLo:icons$2.rangeboxLo,jointCycleMultiple:icons$2.jointCycleMultiple,jointCycle:icons$2.jointCycle,intakeTrumpets:icons$2.intakeTrumpets,transmissionCvt:icons$2.transmissionCvt,house:icons$2.house,auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp},generic:{"9dividedby10":icons$2[`9dividedby10`],abandon:icons$2.abandon,addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,adjust:icons$2.adjust,AIMicrochip:icons$2.AIMicrochip,aperture:icons$2.aperture,autobahn:icons$2.autobahn,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,beamNG:icons$2.beamNG,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,BNGFolder:icons$2.BNGFolder,BNGMicrochip:icons$2.BNGMicrochip,bollard:icons$2.bollard,bookmark:icons$2.bookmark,booleanIntersect:icons$2.booleanIntersect,broom:icons$2.broom,bucketAdd:icons$2.bucketAdd,bucketSubtract:icons$2.bucketSubtract,bug:icons$2.bug,bulldozer:icons$2.bulldozer,carChase01:icons$2.carChase01,carCrash:icons$2.carCrash,carOffroadOutlineRear:icons$2.carOffroadOutlineRear,carOffroadOutlineSide:icons$2.carOffroadOutlineSide,carOffroadRear:icons$2.carOffroadRear,carOffroadSide:icons$2.carOffroadSide,carSensors:icons$2.carSensors,carToWheels:icons$2.carToWheels,carUp:icons$2.carUp,carWithLidar:icons$2.carWithLidar,car:icons$2.car,cardboardBox:icons$2.cardboardBox,carsChase02:icons$2.carsChase02,cars:icons$2.cars,catalog01:icons$2.catalog01,catalog02:icons$2.catalog02,catalog03:icons$2.catalog03,chartBars:icons$2.chartBars,checkmarkBold:icons$2.checkmarkBold,checkmark:icons$2.checkmark,circuitMicrochip:icons$2.circuitMicrochip,clapperboard:icons$2.clapperboard,code:icons$2.code,concreteRoadBlock:icons$2.concreteRoadBlock,copy:icons$2.copy,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,cup:icons$2.cup,dataExchange:icons$2.dataExchange,decalRoad:icons$2.decalRoad,decal:icons$2.decal,deform:icons$2.deform,doorIn:icons$2.doorIn,editCheckmark:icons$2.editCheckmark,edit:icons$2.edit,exit:icons$2.exit,export:icons$2.export,eyeOutlineClosed:icons$2.eyeOutlineClosed,eyeOutlineOpened:icons$2.eyeOutlineOpened,eyeSolidClosed:icons$2.eyeSolidClosed,eyeSolidOpened:icons$2.eyeSolidOpened,eyeWaves:icons$2.eyeWaves,facility02:icons$2.facility02,filter:icons$2.filter,flatBulbBeam:icons$2.flatBulbBeam,floppyDisk:icons$2.floppyDisk,folder:icons$2.folder,FPS:icons$2.FPS,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,globe:icons$2.globe,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,group:icons$2.group,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,helmets:icons$2.helmets,help:icons$2.help,HUD:icons$2.HUD,import:icons$2.import,infinity:icons$2.infinity,info:icons$2.info,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,language:icons$2.language,laptop:icons$2.laptop,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,lightrunner:icons$2.lightrunner,lineToTerrain:icons$2.lineToTerrain,link2:icons$2.link2,link:icons$2.link,listBig:icons$2.listBig,listIndented:icons$2.listIndented,listSmall:icons$2.listSmall,location1:icons$2.location1,location2:icons$2.location2,lockClosed:icons$2.lockClosed,lockOpened:icons$2.lockOpened,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,mapWithEmitter:icons$2.mapWithEmitter,mapPoint:icons$2.mapPoint,material:icons$2.material,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,medal:icons$2.medal,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,minus:icons$2.minus,move02:icons$2.move02,move:icons$2.move,nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,order:icons$2.order,organization:icons$2.organization,paperKnife:icons$2.paperKnife,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,personSolid:icons$2.personSolid,person:icons$2.person,photo:icons$2.photo,placeholder:icons$2.placeholder,plus:icons$2.plus,powerOnOff:icons$2.powerOnOff,publisher:icons$2.publisher,puzzleModule:icons$2.puzzleModule,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,reconfigure:icons$2.reconfigure,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,replay:icons$2.replay,restart:icons$2.restart,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadInfo:icons$2.roadInfo,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,road:icons$2.road,runScript:icons$2.runScript,saveAs1:icons$2.saveAs1,scan:icons$2.scan,search:icons$2.search,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,signal01a:icons$2.signal01a,signal02a:icons$2.signal02a,signal03a:icons$2.signal03a,signal04a:icons$2.signal04a,signal05a:icons$2.signal05a,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight,snowflake:icons$2.snowflake,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,sprayCan:icons$2.sprayCan,star:icons$2.star,starSecondary:icons$2.starSecondary,stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,survellianceCamera:icons$2.survellianceCamera,switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline,sync:icons$2.sync,taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp,terrainToLine:icons$2.terrainToLine,terrain:icons$2.terrain,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,tiles:icons$2.tiles,timer:icons$2.timer,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,tow:icons$2.tow,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,triangleBeam:icons$2.triangleBeam,trim:icons$2.trim,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,undo:icons$2.undo,ungroup:icons$2.ungroup,unlink:icons$2.unlink,view:icons$2.view,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight,weight:icons$2.weight,wrench:icons$2.wrench,danger:icons$2.danger,droplet:icons$2.droplet,envelope:icons$2.envelope,fireDiamond:icons$2.fireDiamond,xmark:icons$2.xmark,scale:icons$2.scale,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,colorBrightnessSun:icons$2.colorBrightnessSun,colorCirclePalette:icons$2.colorCirclePalette,colorPalette:icons$2.colorPalette,colorSaturation:icons$2.colorSaturation,sortAscDown02:icons$2.sortAscDown02,sortAscDown:icons$2.sortAscDown,sortAscUp02:icons$2.sortAscUp02,sortAscUp:icons$2.sortAscUp,sortDescDown02:icons$2.sortDescDown02,sortDescDown:icons$2.sortDescDown,sortDescUp02:icons$2.sortDescUp02,sortDescUp:icons$2.sortDescUp,cardboardBoxCoins:icons$2.cardboardBoxCoins,lasso:icons$2.lasso,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,metal01:icons$2.metal01,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,sortAsc:icons$2.sortAsc,sortDesc:icons$2.sortDesc,surfaceRoughness02:icons$2.surfaceRoughness02,shieldCheckmark:icons$2.shieldCheckmark,shieldHandCheckmark:icons$2.shieldHandCheckmark,shieldHandPlus:icons$2.shieldHandPlus,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,shoppingCart:icons$2.shoppingCart,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,floppyDiskPlus:icons$2.floppyDiskPlus,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge,BNGChat:icons$2.BNGChat,chatBubble:icons$2.chatBubble,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire,toggleOff:icons$2.toggleOff,toggleOn:icons$2.toggleOn,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip,circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed,scissors:icons$2.scissors,airPuffRight1:icons$2.airPuffRight1,airPuffUp1:icons$2.airPuffUp1,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,carClock:icons$2.carClock,carNumber1:icons$2.carNumber1,carNumber2:icons$2.carNumber2,carNumber3:icons$2.carNumber3,carNumber4:icons$2.carNumber4,carNumber5:icons$2.carNumber5,carNumber6:icons$2.carNumber6,carNumber7:icons$2.carNumber7,carNumber8:icons$2.carNumber8,carNumber9:icons$2.carNumber9,carPlus:icons$2.carPlus,loadMesh:icons$2.loadMesh,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,saveMesh:icons$2.saveMesh,trafficLight:icons$2.trafficLight,enter:icons$2.enter,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge,carSideOutlineLarge:icons$2.carSideOutlineLarge,flagOutlineLarge:icons$2.flagOutlineLarge,terrainOutlineLarge:icons$2.terrainOutlineLarge,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,test:icons$2.test,globeSimpleNotSign:icons$2.globeSimpleNotSign,globeSimplified:icons$2.globeSimplified,radialMenu:icons$2.radialMenu,branch:icons$2.branch,NA:icons$2.NA,magicWand:icons$2.magicWand,dice24:icons$2.dice24,diceD6:icons$2.diceD6,xmarkBold:icons$2.xmarkBold,house:icons$2.house,picture:icons$2.picture,shieldCheckmarkProgressbar:icons$2.shieldCheckmarkProgressbar},warning:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},internals:{ABSIndicator:icons$2.ABSIndicator,DCBattery:icons$2.DCBattery,oilPressureIndicator:icons$2.oilPressureIndicator,parkingIndicator:icons$2.parkingIndicator},we:{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"world editor":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lineToTerrain:icons$2.lineToTerrain,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingOutline:icons$2.roadMarkingOutline,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,sphericalBeam:icons$2.sphericalBeam,terrainToLine:icons$2.terrainToLine,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,lasso:icons$2.lasso,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},"road tools":{addItemPolygon:icons$2.addItemPolygon,addListItem:icons$2.addListItem,addPolygonVertex:icons$2.addPolygonVertex,bSpline:icons$2.bSpline,beamCrashBarrier1:icons$2.beamCrashBarrier1,beamCrashBarrier2:icons$2.beamCrashBarrier2,beamCrashBarrier3:icons$2.beamCrashBarrier3,bezierPath1:icons$2.bezierPath1,bezierPath2:icons$2.bezierPath2,bicycle1:icons$2.bicycle1,bicycle2:icons$2.bicycle2,bollard:icons$2.bollard,bulldozer:icons$2.bulldozer,concreteRoadBlock:icons$2.concreteRoadBlock,crossroads1:icons$2.crossroads1,crossroads2:icons$2.crossroads2,decalRoad:icons$2.decalRoad,lampPost1:icons$2.lampPost1,lampPost2:icons$2.lampPost2,lampPost3:icons$2.lampPost3,laneProperties:icons$2.laneProperties,lineToTerrain:icons$2.lineToTerrain,magnetOnSurface:icons$2.magnetOnSurface,meshFence:icons$2.meshFence,meshRoad:icons$2.meshRoad,pathArc:icons$2.pathArc,pathLine:icons$2.pathLine,pathSpiral:icons$2.pathSpiral,roadDividerLinesDecal:icons$2.roadDividerLinesDecal,roadEdgeLineDecal:icons$2.roadEdgeLineDecal,roadEndLineDecal:icons$2.roadEndLineDecal,roadFace:icons$2.roadFace,roadMarkingSolid:icons$2.roadMarkingSolid,roadOutline:icons$2.roadOutline,roadRefPathDecal:icons$2.roadRefPathDecal,roadRefPath:icons$2.roadRefPath,roadStartLineDecal:icons$2.roadStartLineDecal,sphereOnPathNumber:icons$2.sphereOnPathNumber,sphereOnPath:icons$2.sphereOnPath,terrainToLine:icons$2.terrainToLine,tunnel:icons$2.tunnel,twoRoadsAdd:icons$2.twoRoadsAdd,twoRoadsCrossAdd:icons$2.twoRoadsCrossAdd,twoRoadsLink:icons$2.twoRoadsLink,removeItemPolygon:icons$2.removeItemPolygon,removeListItem:icons$2.removeListItem,bridgeWithRiver:icons$2.bridgeWithRiver,gizmosOutline:icons$2.gizmosOutline,gizmosSolid:icons$2.gizmosSolid,highwayRoad3To2Merge01:icons$2.highwayRoad3To2Merge01,highwayRoad3To2Merge02:icons$2.highwayRoad3To2Merge02,highwayToUrbanRoadTransition01:icons$2.highwayToUrbanRoadTransition01,highwayToUrbanRoadTransition02:icons$2.highwayToUrbanRoadTransition02,pedestrianCrossing01:icons$2.pedestrianCrossing01,polygonalCube:icons$2.polygonalCube,roadEditOutline:icons$2.roadEditOutline,roadEditSolid:icons$2.roadEditSolid,roadFolderPlus:icons$2.roadFolderPlus,roadFolder:icons$2.roadFolder,roadGuideArrowOutline:icons$2.roadGuideArrowOutline,roadGuideArrowSolid:icons$2.roadGuideArrowSolid,roadOutlineMesh:icons$2.roadOutlineMesh,roadPedestrianCrossing02:icons$2.roadPedestrianCrossing02,roadProfileWithCheckmark:icons$2.roadProfileWithCheckmark,roadProfile:icons$2.roadProfile,roadRoundaboutJunction:icons$2.roadRoundaboutJunction,roadSidewalkTransition:icons$2.roadSidewalkTransition,roadStackPlus:icons$2.roadStackPlus,roadStack:icons$2.roadStack,roadTJunction:icons$2.roadTJunction,roadXJunction:icons$2.roadXJunction,roadYJunction:icons$2.roadYJunction,singleLineToTerrain:icons$2.singleLineToTerrain,sphereOnMesh:icons$2.sphereOnMesh,twoLinesToTerrain:icons$2.twoLinesToTerrain,urbanRoad3To2Merge01:icons$2.urbanRoad3To2Merge01,urbanRoad3To2Merge02:icons$2.urbanRoad3To2Merge02,urbanRoadToHighwayTransition01:icons$2.urbanRoadToHighwayTransition01,urbanRoadToHighwayTransition02:icons$2.urbanRoadToHighwayTransition02,highwayMerge:icons$2.highwayMerge,highwaySeparate:icons$2.highwaySeparate,highwayShoulderMerge:icons$2.highwayShoulderMerge,terrainToSingleLine:icons$2.terrainToSingleLine,terrainToTwoLines:icons$2.terrainToTwoLines,urbanRoadMerge:icons$2.urbanRoadMerge,urbanRoadSeparate:icons$2.urbanRoadSeparate,urbanShoulderMerge:icons$2.urbanShoulderMerge},ai:{AIMicrochip:icons$2.AIMicrochip},microchip:{AIMicrochip:icons$2.AIMicrochip},poi:{AIRace:icons$2.AIRace,barrelKnocker01:icons$2.barrelKnocker01,barrelKnocker02:icons$2.barrelKnocker02,boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,bus:icons$2.bus,cannon:icons$2.cannon,circuit:icons$2.circuit,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,drag01:icons$2.drag01,drag02:icons$2.drag02,drift01:icons$2.drift01,drift02:icons$2.drift02,evade:icons$2.evade,fastTravel:icons$2.fastTravel,flagNew:icons$2.flagNew,flag:icons$2.flag,gaugeEmpty:icons$2.gaugeEmpty,hypermiling:icons$2.hypermiling,jump:icons$2.jump,parking:icons$2.parking,raceFlag:icons$2.raceFlag,rockCrawling01:icons$2.rockCrawling01,rockCrawling02:icons$2.rockCrawling02,targetJump:icons$2.targetJump,toGarage:icons$2.toGarage,trashBin1:icons$2.trashBin1,circlePinBack:icons$2.circlePinBack,circlePinFront:icons$2.circlePinFront,markerRectanglePinBack:icons$2.markerRectanglePinBack,markerRectanglePinFront:icons$2.markerRectanglePinFront,markerTriangleBack:icons$2.markerTriangleBack,markerTriangleFront:icons$2.markerTriangleFront,busTilted:icons$2.busTilted,gaugeFull:icons$2.gaugeFull},camera:{aperture:icons$2.aperture,camera3Fourth1:icons$2.camera3Fourth1,cameraBack1:icons$2.cameraBack1,cameraFocusOnPath:icons$2.cameraFocusOnPath,cameraFocusOnVehicle1:icons$2.cameraFocusOnVehicle1,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,cameraFocusTopDown:icons$2.cameraFocusTopDown,cameraFront1:icons$2.cameraFront1,cameraSideLeft:icons$2.cameraSideLeft,cameraSideLeft2:icons$2.cameraSideLeft2,cameraSideRight:icons$2.cameraSideRight,cameraSideRight2:icons$2.cameraSideRight2,cameraTop1:icons$2.cameraTop1,movieCamera:icons$2.movieCamera,pathAroundObstacle:icons$2.pathAroundObstacle,survellianceCamera:icons$2.survellianceCamera,pathDice:icons$2.pathDice},optical:{aperture:icons$2.aperture,survellianceCamera:icons$2.survellianceCamera},sensor:{aperture:icons$2.aperture,eyeWaves:icons$2.eyeWaves,flatBulbBeam:icons$2.flatBulbBeam,frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidarPatternFullArcHighFreq:icons$2.lidarPatternFullArcHighFreq,lidarPatternFullArcMidFreq:icons$2.lidarPatternFullArcMidFreq,lidarPatternNarrowArc:icons$2.lidarPatternNarrowArc,lidar:icons$2.lidar,location1:icons$2.location1,location2:icons$2.location2,longRangeBeam1:icons$2.longRangeBeam1,longRangeBeam2:icons$2.longRangeBeam2,midRangeBeam1:icons$2.midRangeBeam1,midRangeBeam2:icons$2.midRangeBeam2,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,shortRangeBeam1:icons$2.shortRangeBeam1,shortRangeBeam2:icons$2.shortRangeBeam2,sphericalBeam:icons$2.sphericalBeam,survellianceCamera:icons$2.survellianceCamera,thinBulbBeam:icons$2.thinBulbBeam,thinnerBulbBeam:icons$2.thinnerBulbBeam,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM,triangleBeam:icons$2.triangleBeam,tulipBeam:icons$2.tulipBeam,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},arrow:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical,arrowsReplace:icons$2.arrowsReplace,arrowsShuffle:icons$2.arrowsShuffle,arrowsSwitch:icons$2.arrowsSwitch,seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},large:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},simple:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp},outlined:{arrowLargeDown:icons$2.arrowLargeDown,arrowLargeLeft:icons$2.arrowLargeLeft,arrowLargeRight:icons$2.arrowLargeRight,arrowLargeUp:icons$2.arrowLargeUp,arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,roadMarkingOutline:icons$2.roadMarkingOutline,arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},small:{arrowSmallDown:icons$2.arrowSmallDown,arrowSmallLeft:icons$2.arrowSmallLeft,arrowSmallRight:icons$2.arrowSmallRight,arrowSmallUp:icons$2.arrowSmallUp,mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},solid:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight,twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},detailed:{arrowSolidLeft:icons$2.arrowSolidLeft,arrowSolidRight:icons$2.arrowSolidRight},career:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house,beamCurrencyThin:icons$2.beamCurrencyThin},currencies:{banknotes:icons$2.banknotes,beamCurrency:icons$2.beamCurrency,beamXPFull:icons$2.beamXPFull,beamXPLo:icons$2.beamXPLo,beamCurrencyThin:icons$2.beamCurrencyThin},brand:{beamNG:icons$2.beamNG},beamng:{beamNG:icons$2.beamNG},decals:{booleanIntersect:icons$2.booleanIntersect,cameraFocusOnVehicle2:icons$2.cameraFocusOnVehicle2,copy:icons$2.copy,decal:icons$2.decal,deform:icons$2.deform,group:icons$2.group,material:icons$2.material,move:icons$2.move,order:icons$2.order,paperKnife:icons$2.paperKnife,redo:icons$2.redo,reflectNot:icons$2.reflectNot,reflect:icons$2.reflect,rename:icons$2.rename,sprayCan:icons$2.sprayCan,transform:icons$2.transform,transparencyMask:icons$2.transparencyMask,trashBin2:icons$2.trashBin2,undo:icons$2.undo,ungroup:icons$2.ungroup,view:icons$2.view,weight:icons$2.weight,scale:icons$2.scale,materialGlossy:icons$2.materialGlossy,materialMetal:icons$2.materialMetal,materialRoughness:icons$2.materialRoughness,materialTransparency01:icons$2.materialTransparency01,materialTransparency02:icons$2.materialTransparency02,surfaceRoughness02:icons$2.surfaceRoughness02,cameraFarClip:icons$2.cameraFarClip,cameraNearClip:icons$2.cameraNearClip,viewFarClip:icons$2.viewFarClip,viewNearClip:icons$2.viewNearClip},delivery:{boxDropOff01:icons$2.boxDropOff01,boxDropOff02:icons$2.boxDropOff02,boxDropOff03:icons$2.boxDropOff03,boxPickUp01:icons$2.boxPickUp01,boxPickUp02:icons$2.boxPickUp02,boxPickUp03:icons$2.boxPickUp03,boxPickUpDropOff01:icons$2.boxPickUpDropOff01,boxPickUpDropOff02:icons$2.boxPickUpDropOff02,boxTruck:icons$2.boxTruck,cardboardBox:icons$2.cardboardBox,deliveryTruckArrows:icons$2.deliveryTruckArrows,deliveryTruck:icons$2.deliveryTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast,cardboardBoxCoins:icons$2.cardboardBoxCoins},cargo:{boxTruck:icons$2.boxTruck,flatbedTruck:icons$2.flatbedTruck,forklift:icons$2.forklift,fragile:icons$2.fragile,semiTrailer:icons$2.semiTrailer,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,stack3:icons$2.stack3,tankerTrailer:icons$2.tankerTrailer,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly,boxTruckFast:icons$2.boxTruckFast},sound:{broom:icons$2.broom,soundFadeOut:icons$2.soundFadeOut,soundLimit:icons$2.soundLimit,soundLoud:icons$2.soundLoud,soundMonoL:icons$2.soundMonoL,soundMonoR:icons$2.soundMonoR,soundOff:icons$2.soundOff,soundQuiet:icons$2.soundQuiet,soundStereo:icons$2.soundStereo,soundWave01:icons$2.soundWave01,soundWave02:icons$2.soundWave02,trim:icons$2.trim},police:{carChase01:icons$2.carChase01,carsChase02:icons$2.carsChase02,evade:icons$2.evade,strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},garage:{carDealer:icons$2.carDealer,garage01:icons$2.garage01,garage02:icons$2.garage02,garage03:icons$2.garage03,lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34,plusGarage1:icons$2.plusGarage1,plusGarage2:icons$2.plusGarage2,plusGarage3:icons$2.plusGarage3,plusGarage4:icons$2.plusGarage4,houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},sensors:{carSensors:icons$2.carSensors,carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter},tech:{carWithLidar:icons$2.carWithLidar,mapWithEmitter:icons$2.mapWithEmitter,mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},fuel:{charge:icons$2.charge,charging:icons$2.charging,fuelPumpFilling:icons$2.fuelPumpFilling,fuelPump:icons$2.fuelPump,N2OButton:icons$2.N2OButton,N2OHoriz:icons$2.N2OHoriz,N2OVert:icons$2.N2OVert,discharging:icons$2.discharging},electricity:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},ev:{charge:icons$2.charge,charging:icons$2.charging,discharging:icons$2.discharging},checkbox:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},selection:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},box:{checkboxOff:icons$2.checkboxOff,checkboxOn:icons$2.checkboxOn,missionCheckboxCross:icons$2.missionCheckboxCross},movie:{clapperboard:icons$2.clapperboard},scenery:{clapperboard:icons$2.clapperboard},powertrain:{cogsDamaged:icons$2.cogsDamaged},drivetrain:{cogsDamaged:icons$2.cogsDamaged},data:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},signal:{dataExchange:icons$2.dataExchange,eyeWaves:icons$2.eyeWaves,gyroscopeMicrochip:icons$2.gyroscopeMicrochip,gyroscope:icons$2.gyroscope,lidar:icons$2.lidar,radarIdeal:icons$2.radarIdeal,radarRoundIdeal:icons$2.radarRoundIdeal,radarRound:icons$2.radarRound,radar:icons$2.radar,wavesSignalReceived:icons$2.wavesSignalReceived,wavesSignalSentLeft:icons$2.wavesSignalSentLeft,wavesSignalSentRight:icons$2.wavesSignalSentRight},environment:{day:icons$2.day,night:icons$2.night,sunRise:icons$2.sunRise,weather:icons$2.weather,sunDown:icons$2.sunDown},part:{engine:icons$2.engine,suspension01:icons$2.suspension01,turbine:icons$2.turbine,doorFrontCoins:icons$2.doorFrontCoins,doorFront:icons$2.doorFront,engineCoins:icons$2.engineCoins,exhaustMufflerCoins:icons$2.exhaustMufflerCoins,exhaustMuffler:icons$2.exhaustMuffler,headlightCoins:icons$2.headlightCoins,headlight:icons$2.headlight,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth,turbineCoins:icons$2.turbineCoins,wheelDiscCoins:icons$2.wheelDiscCoins,wheelDisc:icons$2.wheelDisc,doorFrontDetached:icons$2.doorFrontDetached,hingeBroken:icons$2.hingeBroken},mission:{evade:icons$2.evade,flagOutlineLarge:icons$2.flagOutlineLarge},playback:{fastBackward:icons$2.fastBackward,fastForward:icons$2.fastForward,music:icons$2.music,nextTrack:icons$2.nextTrack,pauseRound:icons$2.pauseRound,pause:icons$2.pause,playRound:icons$2.playRound,play:icons$2.play,playlist:icons$2.playlist,prevTrack:icons$2.prevTrack,square:icons$2.square,eject:icons$2.eject,playPause:icons$2.playPause},truck:{flatbedTruck:icons$2.flatbedTruck,semiTruckCabover:icons$2.semiTruckCabover,semiTruckUS:icons$2.semiTruckUS,semiTruck:icons$2.semiTruck},stencil:{forklift:icons$2.forklift,fragile:icons$2.fragile,stack3:icons$2.stack3,thisSideUp:icons$2.thisSideUp,twoUnicyclesOnly:icons$2.twoUnicyclesOnly},placement:{frontAxleMidpoint:icons$2.frontAxleMidpoint,frontBumperMidpoint:icons$2.frontBumperMidpoint,rearAxleMidpoint:icons$2.rearAxleMidpoint,rearBumperMidpoint:icons$2.rearBumperMidpoint,toCOMWithWheels:icons$2.toCOMWithWheels,toCOM:icons$2.toCOM},gamepad:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},controller:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,noNameControllerButton:icons$2.noNameControllerButton,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},input:{gamepadOld:icons$2.gamepadOld,gamepad:icons$2.gamepad,keyboard:icons$2.keyboard,mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse,noNameControllerButton:icons$2.noNameControllerButton,palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty,touch:icons$2.touch,xboxA:icons$2.xboxA,xboxB:icons$2.xboxB,xboxDDefaultOutline:icons$2.xboxDDefaultOutline,xboxDDefaultSolid:icons$2.xboxDDefaultSolid,xboxDDown:icons$2.xboxDDown,xboxDLeft:icons$2.xboxDLeft,xboxDRight:icons$2.xboxDRight,xboxDUp:icons$2.xboxDUp,xboxLB:icons$2.xboxLB,xboxLSButton:icons$2.xboxLSButton,xboxLT:icons$2.xboxLT,xboxMenu:icons$2.xboxMenu,xboxRB:icons$2.xboxRB,xboxRSButton:icons$2.xboxRSButton,xboxRT:icons$2.xboxRT,xboxThumbL:icons$2.xboxThumbL,xboxThumbR:icons$2.xboxThumbR,xboxView:icons$2.xboxView,xboxXAxis:icons$2.xboxXAxis,xboxXRot:icons$2.xboxXRot,xboxX:icons$2.xboxX,xboxYAxis:icons$2.xboxYAxis,xboxYRot:icons$2.xboxYRot,xboxY:icons$2.xboxY,psCircleOutline:icons$2.psCircleOutline,psCircle:icons$2.psCircle,psCreate2:icons$2.psCreate2,psCreate:icons$2.psCreate,psCrossOutline:icons$2.psCrossOutline,psCross:icons$2.psCross,psDDefaultOutline:icons$2.psDDefaultOutline,psDDefaultSolid:icons$2.psDDefaultSolid,psDDown:icons$2.psDDown,psDLeft:icons$2.psDLeft,psDRight:icons$2.psDRight,psDUp:icons$2.psDUp,psL1:icons$2.psL1,psL2:icons$2.psL2,psL3ButtonArrowDown:icons$2.psL3ButtonArrowDown,psL3Button:icons$2.psL3Button,psLSXLeft:icons$2.psLSXLeft,psLSXRight:icons$2.psLSXRight,psLSX:icons$2.psLSX,psLSYDown:icons$2.psLSYDown,psLSYUp:icons$2.psLSYUp,psLSY:icons$2.psLSY,psLS:icons$2.psLS,psMenu2:icons$2.psMenu2,psMenu:icons$2.psMenu,psR1:icons$2.psR1,psR2:icons$2.psR2,psR3ButtonArrowDown:icons$2.psR3ButtonArrowDown,psR3Button:icons$2.psR3Button,psRSXLeft:icons$2.psRSXLeft,psRSXRight:icons$2.psRSXRight,psRSX:icons$2.psRSX,psRSYDown:icons$2.psRSYDown,psRSYUp:icons$2.psRSYUp,psRSY:icons$2.psRSY,psRS:icons$2.psRS,psSquareOutline:icons$2.psSquareOutline,psSquare:icons$2.psSquare,psTrackpadNavigate:icons$2.psTrackpadNavigate,psTrackpadPressCenter:icons$2.psTrackpadPressCenter,psTrackpadPressLeft:icons$2.psTrackpadPressLeft,psTrackpadPressRight:icons$2.psTrackpadPressRight,psTrackpadSwipeDown:icons$2.psTrackpadSwipeDown,psTrackpadSwipeLeft:icons$2.psTrackpadSwipeLeft,psTrackpadSwipeRight:icons$2.psTrackpadSwipeRight,psTrackpadSwipeUp:icons$2.psTrackpadSwipeUp,psTriangleOutline:icons$2.psTriangleOutline,psTriangle:icons$2.psTriangle,xboxAOutline:icons$2.xboxAOutline,xboxBOutline:icons$2.xboxBOutline,xboxLSButtonArrowDown:icons$2.xboxLSButtonArrowDown,xboxRSButtonArrowDown:icons$2.xboxRSButtonArrowDown,xboxXAxisLeft:icons$2.xboxXAxisLeft,xboxXAxisRight:icons$2.xboxXAxisRight,xboxXOutline:icons$2.xboxXOutline,xboxXRotLeft:icons$2.xboxXRotLeft,xboxXRotRight:icons$2.xboxXRotRight,xboxYAxisDown:icons$2.xboxYAxisDown,xboxYAxisUp:icons$2.xboxYAxisUp,xboxYOutline:icons$2.xboxYOutline,xboxYRotDown:icons$2.xboxYRotDown,xboxYRotUp:icons$2.xboxYRotUp,psDLeftRight:icons$2.psDLeftRight,psDUpDown:icons$2.psDUpDown,xboxDLeftRight:icons$2.xboxDLeftRight,xboxDUpDown:icons$2.xboxDUpDown},gps:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},position:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},map:{GPSMark:icons$2.GPSMark,GPSSolid:icons$2.GPSSolid,location1:icons$2.location1,location2:icons$2.location2},keyboard:{keyboard:icons$2.keyboard,kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},lights:{lightGarageG11:icons$2.lightGarageG11,lightGarageG12:icons$2.lightGarageG12,lightGarageG13:icons$2.lightGarageG13,lightGarageG14:icons$2.lightGarageG14,lightGarageG21:icons$2.lightGarageG21,lightGarageG22:icons$2.lightGarageG22,lightGarageG23:icons$2.lightGarageG23,lightGarageG24:icons$2.lightGarageG24,lightGarageG31:icons$2.lightGarageG31,lightGarageG32:icons$2.lightGarageG32,lightGarageG33:icons$2.lightGarageG33,lightGarageG34:icons$2.lightGarageG34},catalog:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},selector:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},view:{listBig:icons$2.listBig,listSmall:icons$2.listSmall,tiles:icons$2.tiles},math:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},operands:{mathDivide:icons$2.mathDivide,mathGreaterOrEqualThan:icons$2.mathGreaterOrEqualThan,mathGreaterThan:icons$2.mathGreaterThan,mathLessOrEqualThan:icons$2.mathLessOrEqualThan,mathLessThan:icons$2.mathLessThan,mathMinus:icons$2.mathMinus,mathMultiply:icons$2.mathMultiply,mathPlus:icons$2.mathPlus,slashLeft:icons$2.slashLeft,slashRight:icons$2.slashRight},reward:{medal:icons$2.medal,voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},achievment:{medal:icons$2.medal,medalEmpty:icons$2.medalEmpty,medalStar:icons$2.medalStar,badgeRoundEmpty:icons$2.badgeRoundEmpty,badgeRoundStar:icons$2.badgeRoundStar,badgeRound:icons$2.badgeRound,badge:icons$2.badge},mesh:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},beams:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},nodes:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells},surface:{mesh4Cells:icons$2.mesh4Cells,mesh9Cells:icons$2.mesh9Cells,bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},mirror:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},rearview:{mirrorInteriorMiddle:icons$2.mirrorInteriorMiddle,mirrorLeftBigBottomWideAngle:icons$2.mirrorLeftBigBottomWideAngle,mirrorLeftBigTop:icons$2.mirrorLeftBigTop,mirrorLeftBig:icons$2.mirrorLeftBig,mirrorLeftBonnet:icons$2.mirrorLeftBonnet,mirrorLeftDefault:icons$2.mirrorLeftDefault,mirrorRightBigBottomWideAngle:icons$2.mirrorRightBigBottomWideAngle,mirrorRightBigTop:icons$2.mirrorRightBigTop,mirrorRightBig:icons$2.mirrorRightBig,mirrorRightBonnet:icons$2.mirrorRightBonnet,mirrorRightDefault:icons$2.mirrorRightDefault,mirrorRoundWideAngle:icons$2.mirrorRoundWideAngle,mirrorTopWideAngle:icons$2.mirrorTopWideAngle},mouse:{mouseLMB:icons$2.mouseLMB,mouseMMB:icons$2.mouseMMB,mouseRMB:icons$2.mouseRMB,mouseWheel:icons$2.mouseWheel,mouseXAxis:icons$2.mouseXAxis,mouseXYAxis:icons$2.mouseXYAxis,mouseYAxis:icons$2.mouseYAxis,mouse:icons$2.mouse},path:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},node:{nodeAddFirst01:icons$2.nodeAddFirst01,nodeAddFirst02:icons$2.nodeAddFirst02,nodeAddLast02:icons$2.nodeAddLast02,nodeAddMiddle01:icons$2.nodeAddMiddle01,nodeAddMiddle02:icons$2.nodeAddMiddle02,nodeAdd:icons$2.nodeAdd,nodeLast01:icons$2.nodeLast01,nodeRemove:icons$2.nodeRemove,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},touch:{palmCrossed:icons$2.palmCrossed,smartphone1:icons$2.smartphone1,smartphone2:icons$2.smartphone2,touch:icons$2.touch},route:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource,routeSimpleFlag:icons$2.routeSimpleFlag},traffic:{routeAdd:icons$2.routeAdd,routeComplex:icons$2.routeComplex,routeSimple:icons$2.routeSimple,trafficCone:icons$2.trafficCone,trafficLight:icons$2.trafficLight,pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding,routeSimpleFlag:icons$2.routeSimpleFlag},trailer:{semiTrailer:icons$2.semiTrailer,semiTruck:icons$2.semiTruck,smallTrailer:icons$2.smallTrailer,tankerTrailer:icons$2.tankerTrailer},steering:{steeringWheelCommon:icons$2.steeringWheelCommon,steeringWheelSporty:icons$2.steeringWheelSporty},time:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},fast:{stopwatchArrows01:icons$2.stopwatchArrows01,stopwatchArrows02:icons$2.stopwatchArrows02,stopwatchSectionOutlinedEnd:icons$2.stopwatchSectionOutlinedEnd,stopwatchSectionOutlinedStart:icons$2.stopwatchSectionOutlinedStart,stopwatchSectionSolidEnd:icons$2.stopwatchSectionSolidEnd,stopwatchSectionSolidStart:icons$2.stopwatchSectionSolidStart,timer:icons$2.timer},emergency:{strobeLights:icons$2.strobeLights,wigwags:icons$2.wigwags},circuit:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},electronics:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},switch:{switchBlock:icons$2.switchBlock,switchOutline:icons$2.switchOutline},tank:{tankerTrailer:icons$2.tankerTrailer},tanker:{tankerTrailer:icons$2.tankerTrailer},taxi:{taxiCar1:icons$2.taxiCar1,taxiCar3:icons$2.taxiCar3,taxiCarT:icons$2.taxiCarT,taxiCheckerLamp:icons$2.taxiCheckerLamp},tire:{tireDirection3Fourth2:icons$2.tireDirection3Fourth2,tireDirection3Fourth3:icons$2.tireDirection3Fourth3,tireDirectionFront2:icons$2.tireDirectionFront2,tireDirectionSide2:icons$2.tireDirectionSide2,tireDirectionTop2:icons$2.tireDirectionTop2,tire3FourthCoins:icons$2.tire3FourthCoins,tire3Fourth:icons$2.tire3Fourth},currency:{voucherDiagonal1:icons$2.voucherDiagonal1,voucherDiagonal2:icons$2.voucherDiagonal2,voucherDiagonal3:icons$2.voucherDiagonal3,voucherHorizontal1:icons$2.voucherHorizontal1,voucherHorizontal2:icons$2.voucherHorizontal2,voucherHorizontal3:icons$2.voucherHorizontal3,beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},extra:{AIL:icons$2.AIL,automaticTransmissionL:icons$2.automaticTransmissionL,chargeLL:icons$2.chargeLL,clutchL:icons$2.clutchL,couplerL:icons$2.couplerL,engineL:icons$2.engineL,multiseatL:icons$2.multiseatL,POITimeL:icons$2.POITimeL,replayL:icons$2.replayL,roadblockL:icons$2.roadblockL,rotationL:icons$2.rotationL,sensorsL:icons$2.sensorsL,temperatureL:icons$2.temperatureL,tuningL:icons$2.tuningL,turbineL:icons$2.turbineL},web:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},secondary:{arrowLeftOutline:icons$2.arrowLeftOutline,arrowRightOutline:icons$2.arrowRightOutline,beamsNodesMessageOutline:icons$2.beamsNodesMessageOutline,beamsNodesOutline:icons$2.beamsNodesOutline,beamsNodesPlugOutline:icons$2.beamsNodesPlugOutline,BNGEcosystemOutline:icons$2.BNGEcosystemOutline,carFrontRouteOutline:icons$2.carFrontRouteOutline,carSensorsOutline:icons$2.carSensorsOutline,carSideRouteOutline:icons$2.carSideRouteOutline,cityOutline:icons$2.cityOutline,dialogOutline:icons$2.dialogOutline,documentSmileOutline:icons$2.documentSmileOutline,drivetrainOutline:icons$2.drivetrainOutline,electronicSchemeOutline:icons$2.electronicSchemeOutline,engineOutline:icons$2.engineOutline,gearTuningOutline:icons$2.gearTuningOutline,giftBoxOutline:icons$2.giftBoxOutline,lidarOutline:icons$2.lidarOutline,medalStarOutline:icons$2.medalStarOutline,megaphoneOutline:icons$2.megaphoneOutline,peopleOutline:icons$2.peopleOutline,personOutline:icons$2.personOutline,physicsOutline:icons$2.physicsOutline,playChainOutline:icons$2.playChainOutline,proximitySensorsOutline:icons$2.proximitySensorsOutline,qualityBadgeStarOutline:icons$2.qualityBadgeStarOutline,qualityBadgeVOutline:icons$2.qualityBadgeVOutline,simRigOutline:icons$2.simRigOutline,suspensionOutline:icons$2.suspensionOutline,teamOutline:icons$2.teamOutline,techLightBulbOutline01:icons$2.techLightBulbOutline01,techLightBulbOutline02:icons$2.techLightBulbOutline02,timeUnlockOutline:icons$2.timeUnlockOutline,timedLockOutline:icons$2.timedLockOutline,trafficOutline:icons$2.trafficOutline,voucherOutline:icons$2.voucherOutline,wheelBeamsNodesOutline:icons$2.wheelBeamsNodesOutline,wheelOutline:icons$2.wheelOutline},hazard:{danger:icons$2.danger,fireDiamond:icons$2.fireDiamond,test:icons$2.test},drop:{droplet:icons$2.droplet},liquid:{droplet:icons$2.droplet},nfpa704:{fireDiamond:icons$2.fireDiamond},"dry cargo":{rocks:icons$2.rocks},dry:{rocks:icons$2.rocks},editor:{scale:icons$2.scale},marker:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},ribbon:{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},"content-props":{arrowsUp:icons$2.arrowsUp,bigDot:icons$2.bigDot,connectorBold:icons$2.connectorBold,cornerTopRight:icons$2.cornerTopRight,plusBold:icons$2.plusBold,puzzlePieceBold:icons$2.puzzlePieceBold},location:{locationDestination:icons$2.locationDestination,locationSource:icons$2.locationSource},shop:{shoppingCart:icons$2.shoppingCart},purchase:{shoppingCart:icons$2.shoppingCart},bus:{busTilted:icons$2.busTilted},destruction:{explosion:icons$2.explosion,fireExtinguisher:icons$2.fireExtinguisher,fire:icons$2.fire},"turn signals":{twoArrowsHorizontal:icons$2.twoArrowsHorizontal,twoArrowsVertical:icons$2.twoArrowsVertical},rally:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet,tripleCaution:icons$2.tripleCaution},"pace notes":{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},directions:{bridge:icons$2.bridge,bump:icons$2.bump,bumps:icons$2.bumps,caution:icons$2.caution,crest:icons$2.crest,doubleCaution:icons$2.doubleCaution,finish:icons$2.finish,jumpOverBump:icons$2.jumpOverBump,narrows:icons$2.narrows,pothole:icons$2.pothole,turn1:icons$2.turn1,turn2:icons$2.turn2,turn3:icons$2.turn3,turn4:icons$2.turn4,turn5:icons$2.turn5,turn6:icons$2.turn6,turnHp:icons$2.turnHp,turnSq:icons$2.turnSq,water:icons$2.water,tripleCaution:icons$2.tripleCaution},"do not cut":{circleSlashed:icons$2.circleSlashed,scissorsSlashed:icons$2.scissorsSlashed},"no entry":{circleSlashed:icons$2.circleSlashed},cut:{scissors:icons$2.scissors},car:{airPuffRight1:icons$2.airPuffRight1,octagonBrick:icons$2.octagonBrick,octagon:icons$2.octagon,tireAirPuff:icons$2.tireAirPuff,tireDeflated:icons$2.tireDeflated},select:{carsChange:icons$2.carsChange,carsWrench:icons$2.carsWrench},physics:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},field:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3},force:{forceFieldPull1:icons$2.forceFieldPull1,forceFieldPull2:icons$2.forceFieldPull2,forceFieldPull3:icons$2.forceFieldPull3,forceFieldPush1:icons$2.forceFieldPush1,forceFieldPush2:icons$2.forceFieldPush2,forceFieldPush3:icons$2.forceFieldPush3,pushUp:icons$2.pushUp,pushBackward:icons$2.pushBackward,pushDown:icons$2.pushDown,pushForward:icons$2.pushForward},"garage number":{garageNumber1:icons$2.garageNumber1,garageNumber2:icons$2.garageNumber2,garageNumber3:icons$2.garageNumber3,garageNumber4:icons$2.garageNumber4,garageNumber5:icons$2.garageNumber5,garageNumber6:icons$2.garageNumber6,garageNumber7:icons$2.garageNumber7,garageNumber8:icons$2.garageNumber8,garageNumber9:icons$2.garageNumber9},stop:{square:icons$2.square},roads:{trafficLight:icons$2.trafficLight},sign:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},pedestrian:{pedestrianRunning:icons$2.pedestrianRunning,pedestrianStanding:icons$2.pedestrianStanding},actions:{seatArrowIn:icons$2.seatArrowIn,seatArrowOut:icons$2.seatArrowOut,seatVArrowIn:icons$2.seatVArrowIn,seatVArrowOut:icons$2.seatVArrowOut,vehicleArrowIn:icons$2.vehicleArrowIn,vehicleArrowOut:icons$2.vehicleArrowOut,leverFrontOperate:icons$2.leverFrontOperate,leverSideDown:icons$2.leverSideDown,leverSideOperate:icons$2.leverSideOperate,leverSideUp:icons$2.leverSideUp,seatArrowInLeft:icons$2.seatArrowInLeft,seatArrowOutLeft:icons$2.seatArrowOutLeft,seatVArrowInLeft:icons$2.seatVArrowInLeft,seatVArrowOutLeft:icons$2.seatVArrowOutLeft},outline:{beamCurrencyOutlineLarge:icons$2.beamCurrencyOutlineLarge},scenario:{flagOutlineLarge:icons$2.flagOutlineLarge},house:{houseWrenchRoof:icons$2.houseWrenchRoof,houseWrench:icons$2.houseWrench,house:icons$2.house},helmet:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},racing:{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},"game mode":{rallyHelmet3To4:icons$2.rallyHelmet3To4,rallyHelmet:icons$2.rallyHelmet},offline:{globeSimpleNotSign:icons$2.globeSimpleNotSign},online:{globeSimplified:icons$2.globeSimplified},material:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},beam:{cableSection:icons$2.cableSection},strap:{cableSection:icons$2.cableSection,strapHook:icons$2.strapHook,strapRatchet:icons$2.strapRatchet},controls:{kbArrowsDown:icons$2.kbArrowsDown,kbArrowsLeftRight:icons$2.kbArrowsLeftRight,kbArrowsLeft:icons$2.kbArrowsLeft,kbArrowsOutline:icons$2.kbArrowsOutline,kbArrowsRight:icons$2.kbArrowsRight,kbArrowsSolid:icons$2.kbArrowsSolid,kbArrowsUpDown:icons$2.kbArrowsUpDown,kbArrowsUp:icons$2.kbArrowsUp},equipment:{auxUpDown:icons$2.auxUpDown,bucketArmUpDown:icons$2.bucketArmUpDown,bucketTilt:icons$2.bucketTilt,bucketArmDown:icons$2.bucketArmDown,bucketArmLevel:icons$2.bucketArmLevel,bucketArmUp:icons$2.bucketArmUp,bucketTiltDown:icons$2.bucketTiltDown,bucketTiltLevel:icons$2.bucketTiltLevel,bucketTiltUp:icons$2.bucketTiltUp,dumpBedDown:icons$2.dumpBedDown,dumpBedUpDown:icons$2.dumpBedUpDown,dumpBedUp:icons$2.dumpBedUp}}),getIconsWithTags=(...tagsToFind)=>Object.fromEntries(Object.entries(icons$2).filter(([name,{tags}])=>{for(let t of tagsToFind)if(!tags.includes(t))return!1;return!0})),icons=Object.freeze({...icons$2,_empty:{...icons$2.minus,invisible:!0}}),_sfc_main$369={__name:`bngIcon`,props:{type:{type:[String,Object],default:``},fallbackType:{type:String,default:`placeholder`},color:{type:String,default:`#fff`},asImage:{},image:String,externalImage:String},setup(__props){useCssVars(_ctx=>({v9bdaf084:__props.color}));let props=__props,hasImageSource=computed(()=>!!props.image||!!props.externalImage),imageSrcKey=computed(()=>props.image||props.externalImage||``),errorSrcKey=ref(``),isCurrentSrcErrored=computed(()=>!!imageSrcKey.value&&errorSrcKey.value===imageSrcKey.value),isGlyph=computed(()=>!!(!hasImageSource.value||isCurrentSrcErrored.value)),icon=computed(()=>{let res;switch(typeof props.type){case`object`:props.type.glyph&&(res=props.type);break;case`string`:props.type in icons&&(res=icons[props.type]);break}return res}),displayIcon=computed(()=>{let fallback=typeof props.fallbackType==`string`&&props.fallbackType in icons?icons[props.fallbackType]:icons.placeholder;return isCurrentSrcErrored.value||!icon.value&&!hasImageSource.value?fallback:icon.value}),iconGlyph=computed(()=>displayIcon.value?displayIcon.value.glyph:icons.placeholder.glyph),OFF_VALUES=[null,void 0,!1,`false`,0,`0`],asImage=computed(()=>OFF_VALUES.includes(props.asImage)?!1:props.asImage||!0),imageProps=computed(()=>{let res={bgColor:props.color,mask:[`mask`,`span`].includes(asImage.value)};return icon.value||(res.bgColor=`#f00`),asImage.value||(props.image?res.src=props.image:props.externalImage&&(res.externalSrc=props.externalImage)),res});function onImageError(){errorSrcKey.value=imageSrcKey.value}return(_ctx,_cache)=>isGlyph.value?(openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`icon-base`,{"icon-not-found":displayIcon.value===unref(icons).placeholder,"icon-invisible":displayIcon.value&&displayIcon.value.invisible}])},toDisplayString(iconGlyph.value),3)):(openBlock(),createBlock(unref(bngImageAsset_default),mergeProps({key:1,class:`icon-img`},imageProps.value,{onError:onImageError}),null,16))}},bngIcon_default=__plugin_vue_export_helper_default(_sfc_main$369,[[`__scopeId`,`data-v-978d1732`]]),markerValidate=name=>name.endsWith(`Back`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Back$/,`Front`))||name.endsWith(`Front`)&&Object.keys(iconsBySize[56]).includes(name.replace(/Front$/,`Back`)),markersList=Object.keys(iconsBySize[56]).filter(markerValidate).map(name=>name.replace(/Back$|Front$/,``)).sort((a$1,b)=>a$1.toLowerCase().localeCompare(b.toLowerCase())).reduce((res,name)=>res.includes(name)?res:[...res,name],[]);const markers=Object.fromEntries(markersList.map(i=>[i,i])),MARKER_POINTS={up:`up`,down:`down`,left:`left`,right:`right`};var _sfc_main$368={__name:`bngIconMarker`,props:{marker:{type:String,default:`circlePin`,validator:val=>!!markers[val]},type:[String,Object],color:[String,Array],point:{type:String,default:`down`,validator:val=>MARKER_POINTS[val]}},setup(__props){let props=__props,icon=computed(()=>({back:iconsBySize[56][props.marker+`Back`],front:iconsBySize[56][props.marker+`Front`]})),iconColour=computed(()=>({back:(Array.isArray(props.color)?props.color[0]:props.color)||`#fff`,front:(Array.isArray(props.color)?props.color[1]:null)||`#000`,icon:(Array.isArray(props.color)?props.color[2]||props.color[0]:props.color)||`#fff`}));return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`icon-marker`,`icon-point-${__props.point}`,`icon-type-${__props.marker}`])},[createVNode(unref(bngIcon_default),{class:`icon-back`,type:icon.value.back,color:iconColour.value.back},null,8,[`type`,`color`]),createVNode(unref(bngIcon_default),{class:`icon-front`,type:icon.value.front,color:iconColour.value.front},null,8,[`type`,`color`]),__props.type?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon-inner`,type:__props.type,color:iconColour.value.icon},null,8,[`type`,`color`])):createCommentVNode(``,!0)],2))}},bngIconMarker_default=__plugin_vue_export_helper_default(_sfc_main$368,[[`__scopeId`,`data-v-1089accc`]]),_hoisted_1$322=[`src`],_sfc_main$367=Object.assign({inheritAttrs:!1},{__name:`bngImage`,props:{src:String,observe:Boolean},setup(__props){let props=__props,attrs=useAttrs(),observe=computed(()=>props.observe?`observe`:void 0),imgAttrs=computed(()=>showCanvas.value?{}:attrs),cvsAttrs=computed(()=>showCanvas.value?attrs:{}),elImg=ref(null),elCanvas=ref(null),showCanvas=ref(!1),imgSrc=ref(emptyImage),parentDataAttrs={};function setImage(elm,url,bmp){bmp?(showCanvas.value=!0,imgSrc.value=emptyImage,elCanvas.value.width=bmp.width,elCanvas.value.height=bmp.height,elCanvas.value.getContext(`2d`).drawImage(bmp,0,0),Object.entries(parentDataAttrs).forEach(([attr,value])=>{elCanvas.value.setAttribute(attr,value)})):(showCanvas.value=!1,imgSrc.value=url||`data:image/svg+xml,`)}return watch(()=>props.src,()=>{elImg.value&&(showCanvas.value=!1,imgSrc.value=emptyImage)}),watch(elImg,elm=>{if(elm){parentDataAttrs={};for(let attr of elm.parentElement.getAttributeNames())attr.startsWith(`data-v-`)&&(parentDataAttrs[attr]=elm.parentElement.getAttribute(attr));Object.entries(parentDataAttrs).forEach(([attr,value])=>{elm.setAttribute(attr,value),elCanvas.value&&elCanvas.value.setAttribute(attr,value)}),elm.__setImage=setImage}},{immediate:!0}),(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[withDirectives(createBaseVNode(`img`,mergeProps({ref_key:`elImg`,ref:elImg},imgAttrs.value,{src:imgSrc.value,alt:``}),null,16,_hoisted_1$322),[[vShow,!showCanvas.value],[unref(BngLazyImage_default),{url:__props.src,callback:setImage},observe.value]]),withDirectives(createBaseVNode(`canvas`,mergeProps({ref_key:`elCanvas`,ref:elCanvas},cvsAttrs.value),null,16),[[vShow,showCanvas.value]])],64))}}),bngImage_default=_sfc_main$367,_hoisted_1$321=[`src`],_sfc_main$366={__name:`bngImageAsset`,props:{src:String,externalSrc:String,span:Boolean,mask:Boolean,bgColor:{type:String,default:`transparent`}},emits:[`error`,`load`],setup(__props,{emit:__emit}){useCssVars(_ctx=>({v0d0b2c1c:__props.bgColor}));let emit$1=__emit,props=__props,assetURL=computed(()=>props.src?getAssetURL(props.src):props.externalSrc);return(_ctx,_cache)=>__props.span||__props.mask?(openBlock(),createElementBlock(`span`,{key:0,class:`bng-image-asset`,style:normalizeStyle({[__props.mask?`maskImage`:`backgroundImage`]:`url(${assetURL.value})`})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bng-image-asset`,src:assetURL.value,alt:``,onError:_cache[0]||=$event=>emit$1(`error`,$event),onLoad:_cache[1]||=$event=>emit$1(`load`,$event)},null,40,_hoisted_1$321))}},bngImageAsset_default=__plugin_vue_export_helper_default(_sfc_main$366,[[`__scopeId`,`data-v-27bf5bcc`]]),_hoisted_1$320={class:`bng-image-carousel`},_sfc_main$365={__name:`bngImageCarousel`,props:{images:{type:Array,required:!0},external:Boolean,current:[String,Number],transition:Boolean,transitionType:{type:String,default:`fade`},transitionTime:{type:Number,default:3e3},loop:{type:Boolean,default:!0},showNav:{type:Boolean,default:!0},parent:Object},setup(__props,{expose:__expose}){let props=__props,carousel=ref();__expose({carousel});let imageAssets=computed(()=>props.external?props.images.map(x=>`/`+x):props.images.map(getAssetURL)),carouselSettings=computed(()=>props.parent&&props.parent.carousel!==carousel?{parent:props.parent.carousel,transition:!1,transitionType:props.transitionType,loop:!1,transitionTime:props.transitionTime}:{current:props.current,transition:props.transition,transitionType:props.transitionType,transitionTime:props.transitionTime,loop:props.loop,showNav:props.showNav});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$320,[createVNode(unref(carousel_default),mergeProps({items:imageAssets.value,ref_key:`carousel`,ref:carousel},carouselSettings.value),{item:withCtx(({item})=>[createBaseVNode(`div`,{class:`image-slide`,style:normalizeStyle({"background-image":`url(${item})`})},null,4)]),_:1},16,[`items`])]))}},bngImageCarousel_default=__plugin_vue_export_helper_default(_sfc_main$365,[[`__scopeId`,`data-v-6b0c2d6b`]]),_hoisted_1$319=[`src`],_sfc_main$364={__name:`bngImageTile`,props:{oldIcon:String,src:String,externalSrc:String,label:String,image:String,externalImage:String,icon:[Object,String],ratio:{type:String,default:`4:3`}},setup(__props){let props=__props,slots=useSlots(),assetURL=computed(()=>props.externalSrc?props.externalSrc:getAssetURL(props.src));return(_ctx,_cache)=>(openBlock(),createBlock(unref(bngTile_default),{label:__props.label,backgroundImage:__props.image,backgroundExternalImage:__props.externalImage,ratio:__props.ratio},createSlots({default:withCtx(()=>[__props.oldIcon?(openBlock(),createBlock(unref(bngOldIcon_default),{key:0,class:`icon`,type:__props.oldIcon,span:``},null,8,[`type`])):createCommentVNode(``,!0),__props.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:1,class:`glyph`,type:__props.icon},null,8,[`type`])):__props.src||__props.externalSrc?(openBlock(),createElementBlock(`img`,{key:2,class:`icon`,src:assetURL.value},null,8,_hoisted_1$319)):createCommentVNode(``,!0)]),_:2},[unref(slots).default?{name:`label`,fn:withCtx(()=>[renderSlot(_ctx.$slots,`default`,{},void 0,!0)]),key:`0`}:void 0]),1032,[`label`,`backgroundImage`,`backgroundExternalImage`,`ratio`]))}},bngImageTile_default=__plugin_vue_export_helper_default(_sfc_main$364,[[`__scopeId`,`data-v-d74a4ec4`]]),UNIQUE_CLEAN_VALUE=Symbol(`Unique 'clean' value from Dirty service code`);function useDirty(valueRef,emitter=void 0,setCallback=void 0){if(!valueRef)throw Error(`valueRef must be specified`);let hasInitValue=!1,initialValue=ref();function init$3(val){let type=typeof val;type===`undefined`||type===`number`&&isNaN(val)||(hasInitValue=!0,initialValue.value=val)}if(init$3(valueRef.value),!hasInitValue){let unwatch=watch(valueRef,newVal=>{init$3(newVal),hasInitValue&&unwatch()});onUnmounted(()=>!hasInitValue&&unwatch())}let dirty=computed(()=>{let isDirty$1=valueRef.value!==initialValue.value;return isDirty$1&&hasInitValue&&emitter&&emitter(`dirtied`,valueRef.value,initialValue.value),isDirty$1}),setDirty=state=>{let oldVal=initialValue.value,newVal=state?UNIQUE_CLEAN_VALUE:valueRef.value;initialValue.value=newVal,typeof setCallback==`function`&&setCallback(newVal,oldVal)};return{dirty,currentCleanValue:computed(()=>initialValue.value),setCleanValue:val=>initialValue.value=val,resetValue:()=>valueRef.value=initialValue.value,setDirty,markClean:()=>setDirty(!1)}}var _hoisted_1$318={class:`bng-input-wrapper`},_hoisted_2$259={class:`icons-input-wrapper`},_hoisted_3$226={class:`bng-input-container`},_hoisted_4$194={key:0,class:`prefix-suffix-container`},_hoisted_5$164={"data-testid":`prefix`},_hoisted_6$141={class:`bng-input-group`},_hoisted_7$123=[`value`,`type`,`min`,`max`,`step`,`maxlength`,`placeholder`,`disabled`,`readonly`],_hoisted_8$101={key:0,class:`number-actions`},_hoisted_9$91={key:1,class:`floating-label`,"data-testid":`floating-label`},_hoisted_10$79={key:2,class:`error-message`},_hoisted_11$71={key:1,class:`prefix-suffix-container`},_hoisted_12$59={"data-testid":`suffix`},_hoisted_13$51={key:2,class:`trailing-icon`},_sfc_main$363={__name:`bngInput`,props:{modelValue:[String,Number],type:{type:String,default:`text`,validator(value){return[`text`,`number`].includes(value)}},min:[Number,String],max:[Number,String],step:{type:[Number,String],default:1},decimals:Number,maxlength:[Number,String],readonly:Boolean,floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,prefix:String,suffix:String,trailingIcon:Object,trailingIconOutside:Boolean,disabled:Boolean,validate:Function,errorMessage:String},emits:[`update:modelValue`,`valueChanged`,`change`,`focus`,`blur`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emitter=__emit,input=ref(),value=ref(props.initialValue||props.modelValue),isInputFieldFocused=ref(!1),numMin=computed(()=>props.type===`number`?+props.min:null),numMax=computed(()=>props.type===`number`?+props.max:null),numStep=computed(()=>props.type===`number`?roundDec(+props.step,15):null),numDecimals=computed(()=>props.type===`number`?props.decimals:null),charMax=computed(()=>props.type===`text`?props.maxlength:null),hasValue=computed(()=>value.value!==``&&value.value!==void 0&&value.value!==null),hasError=computed(()=>typeof props.validate==`function`?!props.validate(value.value):!1);if(props.type===`number`){let type=typeof value.value;type===`string`&&/^\d+(?:\.?\d+)?$/.test(value.value)?value.value=+value.value:type!==`number`&&(value.value=0),numMin.value>numMax.value&&console.error(`BngInput: min cannot be greater than max`)}__expose(useDirty(value));let lastNotify;function notify(val){props.readonly||lastNotify===val||(lastNotify=val,emitter(`update:modelValue`,val),emitter(`valueChanged`,val),emitter(`change`,val))}watch(()=>props.modelValue,newVal=>{props.type===`number`&&(newVal=numClamp(newVal)),value.value=newVal,lastNotify=newVal},{immediate:!0});function numClamp(val){return isNaN(val)&&(val=0),typeof numDecimals.value==`number`&&!isNaN(numDecimals.value)?val=roundDec(val,numDecimals.value):typeof numStep.value==`number`&&!isNaN(numStep.value)&&(val=roundDecSample(val,numStep.value)),typeof numMin.value==`number`&&!isNaN(numMin.value)&&valnumMax.value&&(val=numMax.value),val}function increment(by){let val=numClamp(+value.value+by);value.value!==val&&(value.value=val,input.value=val,notify(val))}let onArrowUpClicked=()=>increment(numStep.value),onArrowDownClicked=()=>increment(-numStep.value);function onValueChanged($event){let val=$event.target.value;if(props.type===`number`){val=+val;let prev=val;val=numClamp(val),val!==prev&&(input.value=val)}value.value=val,notify(val)}function onInputFieldFocusIn(){isInputFieldFocused.value=!0,emitter(`focus`)}function onInputFieldFocusOut(){isInputFieldFocused.value=!1,emitter(`blur`),notify(value.value)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$318,[__props.externalLabel?(openBlock(),createElementBlock(`span`,{key:0,class:`external-label`,style:normalizeStyle([__props.leadingIcon?{"margin-left":`3em`}:{}]),"data-testid":`external-label`},toDisplayString(__props.externalLabel),5)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$259,[__props.leadingIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`outside-icon`,type:__props.leadingIcon,"data-testid":`leading-icon`},null,8,[`type`])):createCommentVNode(``,!0),createBaseVNode(`div`,{tabindex:`disabled ? -1 : 0`,class:normalizeClass([`bng-highlight-container`,{"bng-input-focused":isInputFieldFocused.value,"has-error":hasError.value}]),onKeydown:withKeys(onInputFieldFocusOut,[`enter`])},[createBaseVNode(`div`,_hoisted_3$226,[__props.prefix?(openBlock(),createElementBlock(`span`,_hoisted_4$194,[createBaseVNode(`span`,_hoisted_5$164,toDisplayString(__props.prefix),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_6$141,[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,class:normalizeClass([`bng-input`,{"bng-input-empty":!hasValue.value,"bng-input-error":hasError.value}]),"data-testid":`input`,value:value.value,type:__props.type,min:numMin.value,max:numMax.value,step:numStep.value,maxlength:charMax.value,onInput:onValueChanged,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut,placeholder:__props.placeholder,disabled:__props.disabled,readonly:__props.readonly},null,42,_hoisted_7$123),[[unref(BngTextInput_default)]]),__props.type===`number`?(openBlock(),createElementBlock(`div`,_hoisted_8$101,[withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeUp,class:normalizeClass([{"number-action-disabled":__props.readonly},`number-action up-action`])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowUpClicked,holdCallback:onArrowUpClicked}]]),withDirectives(createVNode(unref(bngIcon_default),{type:unref(iconsByTag).arrow.arrowLargeDown,class:normalizeClass([`number-action down-action`,{"number-action-disabled":__props.readonly}])},null,8,[`type`,`class`]),[[unref(BngClick_default),{clickCallback:onArrowDownClicked,holdCallback:onArrowDownClicked}]])])):createCommentVNode(``,!0),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_9$91,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),hasError.value&&__props.errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_10$79,toDisplayString(__props.errorMessage),1)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`span`,{class:`input-border`},null,-1)]),__props.suffix?(openBlock(),createElementBlock(`span`,_hoisted_11$71,[createBaseVNode(`span`,_hoisted_12$59,toDisplayString(__props.suffix),1)])):createCommentVNode(``,!0),__props.trailingIcon&&!__props.trailingIconOutside?(openBlock(),createElementBlock(`span`,_hoisted_13$51,[createVNode(unref(bngIcon_default),{type:__props.trailingIcon,class:`input-icon`,"data-testid":`trailing-icon`},null,8,[`type`])])):createCommentVNode(``,!0)])],34),__props.trailingIcon&&__props.trailingIconOutside?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:__props.trailingIcon,class:`outside-icon`,"data-testid":`external-trailing-icon`},null,8,[`type`])):createCommentVNode(``,!0)])])),[[unref(BngDisabled_default),__props.disabled]])}},bngInput_default=__plugin_vue_export_helper_default(_sfc_main$363,[[`__scopeId`,`data-v-d6c70b5c`]]),_hoisted_1$317=[`readonly`,`disabled`,`placeholder`,`maxlength`],_hoisted_2$258={key:0,class:`floating-label`},_hoisted_3$225={key:7,class:`external-button`},_hoisted_4$193={key:8,class:`error-message`};const INPUT_TYPES={text:`text`,number:`number`},STEP_ICON_TYPES={arrowUpDown:`arrowUpDown`,arrowLeftRight:`arrowLeftRight`,plusMinus:`plusMinus`};var STEP_ICON_TYPES_MAP={[STEP_ICON_TYPES.arrowUpDown]:{up:`arrowSmallUp`,down:`arrowSmallDown`},[STEP_ICON_TYPES.arrowLeftRight]:{up:`arrowSmallRight`,down:`arrowSmallLeft`},[STEP_ICON_TYPES.plusMinus]:{up:`plus`,down:`minus`}},NUMBER_PATTERN=/^\d+(\.d+)?$/,NUMBER_INPUT_KEYS=/^[0-9\.\-]$/,ERROR_TYPES={invalidformat:`invalidformat`,outofrange:`outofrange`,required:`required`,custom:`custom`},ERROR_MESSAGES={[ERROR_TYPES.invalidformat]:`Invalid format`,[ERROR_TYPES.outofrange]:`Value must be between {min} and {max}`,[`${ERROR_TYPES.outofrange}-min`]:`Value must be greater than {min}`,[`${ERROR_TYPES.outofrange}-max`]:`Value must be less than {max}`,[ERROR_TYPES.required]:`Value is required`},ALLOW_DEFAULT_BEHAVIOR_KEYS=[`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Backspace`,`Delete`],NUMBER_INPUT_MODES={spinner:`spinner`,arrowKeys:`arrowKeys`,uinav:`uinav`},_sfc_main$362={__name:`bngInputNew`,props:{modelValue:{type:[Number,String],default:void 0},value:{type:[Number,String],default:void 0},type:{type:String,default:INPUT_TYPES.text,validator(value){return Object.keys(INPUT_TYPES).includes(value)}},showExternalButton:{type:Boolean,default:!0},floatingLabel:[Boolean,String],externalButtonFn:Function,externalLabel:String,label:String,prefix:String,suffix:String,leadingIcon:Object,trailingIcon:Object,maxLength:{type:[Number,String],default:null,validator(value){return value===null?!0:typeof parseInt(value)==`number`&&parseInt(value)>=0}},readonly:Boolean,disabled:Boolean,required:Boolean,placeholder:String,validate:Function,errorMessage:String,min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},stepIconType:{type:String,default:STEP_ICON_TYPES.arrowUpDown,validator(value){return Object.keys(STEP_ICON_TYPES).includes(value)}},noStepBindings:Boolean},emits:[`update:modelValue`,`change`,`error`,`blur`,`focus`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),{showIfController}=storeToRefs(controls_default()),input=ref(null),scopeActivated=ref(!1),rawValue=ref(null),validationState=ref(null),isProgrammaticChange=ref(!1),numberInputState=reactive({inputType:null,isUpActive:!1,isDownActive:!1}),value=computed({get:()=>props.modelValue,set:emitChange}),isEmptyRawValue=computed(()=>isEmpty(rawValue.value)),inputStyle=computed(()=>({"max-width":props.maxLength?`${props.maxLength}ch`:`initial`})),stepIcons=computed(()=>STEP_ICON_TYPES_MAP[props.stepIconType]),exposed=useDirty(value);exposed.scopeActivated=scopeActivated,__expose(exposed),watch(()=>rawValue.value,newValue=>{if(isProgrammaticChange.value){isProgrammaticChange.value=!1;return}let res=validate(newValue);validationState.value=res,rawValue.value!=props.modelValue&&(res.valid||res.error!==ERROR_TYPES.invalidformat)&&(value.value=res.value)}),watch(()=>props.modelValue,modelValue=>{modelValue!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=isEmpty(modelValue)?null:String(modelValue))},{immediate:!0}),watch(()=>props.value,()=>{props.modelValue===void 0&&props.value!=rawValue.value&&(isProgrammaticChange.value=!0,rawValue.value=props.value)},{immediate:!0}),onUnmounted(()=>{resetInputState.cancel()});let activateInput=()=>{props.disabled||props.readonly||nextTick(()=>input.value.focus())},canActivateScope=()=>!props.readonly&&!props.disabled,externalButtonFn=()=>{props.externalButtonFn?props.externalButtonFn():props.type===INPUT_TYPES.number?rawValue.value=props.min||0:rawValue.value=null,activateInput()};function onScopeActivated(event){scopeActivated.value=!0}function onScopeDeactivated(event){scopeActivated.value=!1,nextTick(()=>cleanValue())}let resetInputState=debounce(()=>{numberInputState.inputType=null,numberInputState.isUpActive=!1,numberInputState.isDownActive=!1},150);function onUINavChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.uinav||(numberInputState.inputType=NUMBER_INPUT_MODES.uinav,updateNumValue(dir),resetInputState())}function onArrowKeysChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.arrowKeys||(numberInputState.inputType=NUMBER_INPUT_MODES.arrowKeys,updateNumValue(dir),resetInputState())}function onSpinnerChangeValue(dir){numberInputState.inputType&&numberInputState.inputType!==NUMBER_INPUT_MODES.spinner||(numberInputState.inputType=NUMBER_INPUT_MODES.spinner,updateNumValue(dir),resetInputState())}function updateNumValue(dir){props.type!==INPUT_TYPES.number||props.disabled||props.readonly||(dir===1?(numberInputState.isUpActive=!0,changeNumValue(props.step)):(numberInputState.isDownActive=!0,changeNumValue(-props.step)))}function onEnterDown(event){event.preventDefault(),scopeActivated.value=!1}function onKeyDown(event){if(ALLOW_DEFAULT_BEHAVIOR_KEYS.includes(event.key))return;event.key===`Enter`&&event.preventDefault();let rawValueString=typeof rawValue.value!=`string`&&!isNullOrUndefined(rawValue.value)?rawValue.value.toString():rawValue.value;props.type===INPUT_TYPES.number&&(!NUMBER_INPUT_KEYS.test(event.key)||event.key===`.`&&(isNullOrUndefined(rawValueString)||rawValueString.includes(`.`))||event.key===`.`&&!NUMBER_PATTERN.test(rawValueString))&&event.preventDefault()}function changeNumValue(diff){if(props.type!==INPUT_TYPES.number)return;if(isEmpty(rawValue.value)){diff<0?rawValue.value=isNullOrUndefined(props.max)?0:props.max:rawValue.value=isNullOrUndefined(props.min)?0:props.min;return}let{valid,value:validatedValue,error}=validate(rawValue.value);if(!valid&&error!==ERROR_TYPES.outofrange){rawValue.value=0;return}let decimalTokens=props.step.toString().split(`.`),stepDecimalPlaces=decimalTokens.length>1?decimalTokens[1].length:0,newValue=Number((validatedValue+diff).toFixed(stepDecimalPlaces)),{valid:isValidRange}=validateRange(newValue);(isValidRange||diff<0&&newValue>=props.max||diff>0&&newValue<=props.min)&&(rawValue.value=newValue)}function cleanValue(){if(!isNullOrUndefined(rawValue.value)&&props.type===INPUT_TYPES.number){let rawValueString=typeof rawValue.value==`string`?rawValue.value:rawValue.value.toString();rawValueString.endsWith(`.`)&&(rawValue.value=rawValueString.slice(0,-1))}}function validate(value$1){let valid=!0,newValue=value$1,errorMessage=null;if(isEmpty(value$1)&&props.required)return{valid:!1,error:ERROR_TYPES.required};if(isEmpty(value$1)&&props.type===INPUT_TYPES.number)return{valid:!0,value:void 0};if(props.type===INPUT_TYPES.number&&typeof value$1==`string`&&(newValue=value$1.includes(`.`)?parseFloat(value$1):parseInt(value$1),isNaN(newValue)))return{valid:!1,error:ERROR_TYPES.invalidformat};if(props.type===INPUT_TYPES.number)return{...validateRange(newValue),value:newValue};if(props.validate){let res=props.validate(value$1);typeof res==`boolean`?(valid=res,errorMessage=props.errorMessage):typeof res==`object`&&(`valid`in res&&console.warn("`validate` function must return a boolean `valid` property. Ignoring validation result..."),valid=res.valid||!0,valid||(errorMessage=`errorMessage`in res?res.errorMessage:props.errorMessage))}return{valid,value:newValue,errorMessage}}function validateRange(value$1){let lessThanMin=props.min&&value$1props.max,valid=!0,errorMessage=null;return!isNullOrUndefined(props.min)&&!isNullOrUndefined(props.max)&&(lessThanMin||greaterThanMax)?(errorMessage=ERROR_MESSAGES[ERROR_TYPES.outofrange].replace(`{min}`,props.min).replace(`{max}`,props.max),valid=!1):lessThanMin?(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-min`].replace(`{min}`,props.min),valid=!1):greaterThanMax&&(errorMessage=ERROR_MESSAGES[`${ERROR_TYPES.outofrange}-max`].replace(`{max}`,props.max),valid=!1),{valid,error:valid?null:ERROR_TYPES.outofrange,errorMessage}}function isEmpty(val){return val==null||val===``}function isNullOrUndefined(val){return val==null}function emitChange(value$1){emit$1(`update:modelValue`,value$1),emit$1(`change`,value$1),emit$1(`valueChanged`,value$1)}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([{"has-value":!isEmptyRawValue.value,"bng-input-readonly":__props.readonly,"bng-input-invalid":validationState.value&&!validationState.value.valid},`bng-input`]),onActivate:onScopeActivated,onDeactivate:onScopeDeactivated},[(__props.label||__props.externalLabel||unref(slots).label)&&!__props.floatingLabel?(openBlock(),createElementBlock(`label`,{key:0,class:`external-label`,onClick:activateInput,onMousedown:_cache[0]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.externalLabel),1)],!0)],32)):createCommentVNode(``,!0),__props.leadingIcon||unref(slots).leadingIcon?(openBlock(),createElementBlock(`span`,{key:1,class:`leading-icon`,onClick:activateInput,onMousedown:_cache[1]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`leading-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass([{"spinner-active":numberInputState.isDownActive},`input-spinner input-spinner-down`]),onMousedown:_cache[2]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-down`,{changeValue:()=>onSpinnerChangeValue(-1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_d`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.down},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(-1),holdCallback:()=>onSpinnerChangeValue(-1)}]])],!0)],34)):createCommentVNode(``,!0),__props.prefix||unref(slots).prefix?(openBlock(),createElementBlock(`span`,{key:3,class:`prefix`,onClick:activateInput,onMousedown:_cache[3]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`prefix`,{},()=>[createTextVNode(toDisplayString(__props.prefix),1)],!0)],32)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`input-container`,style:normalizeStyle(inputStyle.value)},[withDirectives(createBaseVNode(`input`,{ref_key:`input`,ref:input,"onUpdate:modelValue":_cache[4]||=$event=>rawValue.value=$event,readonly:__props.readonly,disabled:__props.disabled,placeholder:__props.placeholder,maxlength:__props.maxLength,type:`text`,onFocusin:_cache[5]||=$event=>_ctx.$emit(`focus`),onFocusout:_cache[6]||=$event=>_ctx.$emit(`blur`),onKeydown:[_cache[7]||=withKeys($event=>onArrowKeysChangeValue(1),[`arrow-up`]),_cache[8]||=withKeys($event=>onArrowKeysChangeValue(-1),[`arrow-down`]),withKeys(onEnterDown,[`enter`]),onKeyDown]},null,40,_hoisted_1$317),[[unref(BngTextInput_default)],[unref(BngOnUiNavFocus_default),dir=>onUINavChangeValue(dir),`vertical`,{repeat:!0}],[vModelText,rawValue.value]]),__props.label&&__props.floatingLabel||typeof __props.floatingLabel==`string`||unref(slots).label?(openBlock(),createElementBlock(`label`,_hoisted_2$258,[renderSlot(_ctx.$slots,`label`,{},()=>[createTextVNode(toDisplayString(__props.label||__props.floatingLabel),1)],!0)])):createCommentVNode(``,!0)],4),__props.suffix||unref(slots).suffix?(openBlock(),createElementBlock(`span`,{key:4,class:`suffix`,onClick:activateInput,onMousedown:_cache[9]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`suffix`,{},()=>[createTextVNode(toDisplayString(__props.suffix),1)],!0)],32)):createCommentVNode(``,!0),__props.trailingIcon||unref(slots).trailingIcon?(openBlock(),createElementBlock(`span`,{key:5,class:`trailing-icon`,onClick:activateInput,onMousedown:_cache[10]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`trailing-icon`,{},()=>[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],!0)],32)):createCommentVNode(``,!0),__props.type===INPUT_TYPES.number&&!__props.readonly&&!__props.disabled?(openBlock(),createElementBlock(`span`,{key:6,class:normalizeClass([{"spinner-active":numberInputState.isUpActive},`input-spinner input-spinner-up`]),onMousedown:_cache[11]||=withModifiers(()=>{},[`prevent`])},[renderSlot(_ctx.$slots,`spinner-up`,{changeValue:()=>onSpinnerChangeValue(1)},()=>[withDirectives((openBlock(),createBlock(unref(bngButton_default),{"bng-no-nav":`true`,accent:`text`},{default:withCtx(()=>[__props.noStepBindings?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngBinding_default),{key:0,controller:``,uiEvent:`focus_u`})),!unref(showIfController)||__props.noStepBindings?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:stepIcons.value.up},null,8,[`type`])):createCommentVNode(``,!0)]),_:1})),[[unref(BngClick_default),{clickCallback:()=>onSpinnerChangeValue(1),holdCallback:()=>onSpinnerChangeValue(1)}]])],!0)],34)):createCommentVNode(``,!0),__props.showExternalButton?(openBlock(),createElementBlock(`span`,_hoisted_3$225,[renderSlot(_ctx.$slots,`external-button`,{externalButtonFn},()=>[__props.readonly?createCommentVNode(``,!0):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,icon:unref(icons).mathMultiply,disabled:__props.disabled,accent:`attention`,onClick:externalButtonFn,onMousedown:_cache[12]||=withModifiers(()=>{},[`prevent`])},null,8,[`icon`,`disabled`])),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),isEmptyRawValue.value]])],!0)])):createCommentVNode(``,!0),validationState.value&&!validationState.value.valid&&validationState.value.errorMessage||unref(slots).errorMessage?(openBlock(),createElementBlock(`span`,_hoisted_4$193,[renderSlot(_ctx.$slots,`error-message`,{},()=>[createTextVNode(toDisplayString(validationState.value.errorMessage),1)],!0)])):createCommentVNode(``,!0)],34)),[[unref(BngDisabled_default),__props.disabled],[unref(BngScopedNav_default),{activated:scopeActivated.value,canActivate:canActivateScope}]])}},bngInputNew_default=__plugin_vue_export_helper_default(_sfc_main$362,[[`__scopeId`,`data-v-bb1297d5`]]),_hoisted_1$316={class:`list-container`},_hoisted_2$257={key:0,class:`list-toolbar`},_hoisted_3$224={key:1},_hoisted_4$192={class:`list-layout-toggle`};const LIST_LAYOUTS={DEFAULT:`tiles`,TILES:`tiles`,LIST:`list`,RIBBON:`ribbon`};var _sfc_main$361={__name:`bngList`,props:{path:Array,pathLimit:{type:[Number,String],default:3},pathTarget:Object,layoutSelector:Boolean,layoutSelectorTarget:Object,layout:{type:String,default:LIST_LAYOUTS.DEFAULT,validator:val=>Object.values(LIST_LAYOUTS).includes(val)},big:Boolean,immediate:Boolean,keepAlive:[Boolean,Number],tileSizeCalc:Function,tileWidth:Number,tileHeight:Number,tileMargin:Number,targetWidth:Number,targetHeight:Number,targetMargin:Number,titleWidth:Number,titleHeight:Number,titleMargin:Number,targetTitleWidth:Number,targetTitleHeight:Number,targetTitleMargin:Number,noBackground:Boolean},emits:[`layoutChange`,`pathClick`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,elPath=ref();__expose({navBack(){elPath.value&&elPath.value.navBack()},navTo(item){elPath.value&&elPath.value.navTo(item)},async scrollToIndex(index=0){if(!bigmode.enabled){let hasPosObserver=(elCont.value.children||[])[0]?.classList.contains(`bng-pos-observer`),elm=(elCont.value.children||[])[index+(hasPosObserver?1:0)];return elm&&elm.scrollIntoView(),elm}let big=await getBigProps(void 0,index);if(!big)return null;let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,containerSize=horizontal?contWidth:contHeight,rowIndex=layoutCache.itemToRow.get(index),itemRowPos=layoutCache.rows[rowIndex]?.pos||big.position,itemRowSize=layoutCache.rows[rowIndex]?.size||(horizontal?tileWidth.value:tileHeight.value),centeredPos=itemRowPos-containerSize/2+itemRowSize/2;scrollPos.value=Math.max(0,centeredPos),horizontal?elCont.value.scrollLeft=scrollPos.value:elCont.value.scrollTop=scrollPos.value,await updSkeleton();let itm=items$2.value[index];return itm?itm.getElement?.()||itm.el||itm:null},refresh(){tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps=getItemProps(items$2.value,!1),titleProps=getItemProps(items$2.value,!0),tileProps&&(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles()),titleProps&&(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles()),invalidateLayoutCache(),nextTick(()=>{bigmode.enabled&&contWidth>0&&contHeight>0&&(buildLayoutCache(),calcBig(),updSkeleton())})}});let defFontSize=16,defTileWidth=10,defTileHeight=5,defTileMargin=.2,defTitleWidth=10,defTitleHeight=2.5,defTitleMargin=.2,layoutSelected=ref(props.layout);watch(()=>props.layout,()=>layoutSelected.value=props.layout||LIST_LAYOUTS.DEFAULT),watch(()=>layoutSelected.value,val=>{emit$1(`layoutChange`,val),invalidateLayoutCache(),updSize()});let toolbar=computed(()=>{let res={path:props.path&&props.path.length>0,layout:props.layoutSelector};return res.enabled=res.path||res.layout,res.show=res.enabled&&(res.path&&!props.pathTarget||res.layout&&!props.layoutSelectorTarget),res}),slots=useSlots(),elCont=ref(),elSize=ref(),elSkeleton=ref(),tileWidth=ref(0),tileHeight=ref(0),tileMargin=ref(0),titleWidth=ref(0),titleHeight=ref(0),titleMargin=ref(0),scrollPos=ref(0),skeletonItems=ref([]),processing=computed(()=>bigmode.enabled&&(bigmode.initial||layoutCache.building)),contWidth=0,contHeight=0,fontSize=16,skeletonShown=!1,warnShown=!1,listItemsStyle=computed(()=>bigmode.enabled?{transform:`translate${layoutSelected.value===LIST_LAYOUTS.RIBBON?`X`:`Y`}(${bigmode.position}px)`}:void 0),tileProps=null,titleProps=null,bigmode=reactive({enabled:!1,initial:!0,debounce:500,skeleton:!0,layouts:[],getPos:{[LIST_LAYOUTS.TILES]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.LIST]:()=>elCont.value?.scrollTop||0,[LIST_LAYOUTS.RIBBON]:()=>elCont.value?.scrollLeft||0},overflow:2,skeletonOverflow:2,first:0,last:0,perRow:1,items:[],position:0,full:0,size:0});bigmode.layouts=Object.keys(bigmode.getPos);let layoutCache=reactive({version:0,building:!1,valid:!1,itemCount:0,totalSize:0,rows:[],itemToRow:new Map,rowPositions:[]}),items$2=ref([]),itemsView=ref([]),itemsShown=ref(new Set);watch(()=>props.immediate,val=>{val?(bigmode._skeleton=bigmode.skeleton,bigmode._debounce=bigmode.debounce,bigmode.skeleton=!1,bigmode.debounce=0):(bigmode._skeleton&&(bigmode.skeleton=bigmode._skeleton),bigmode._debounce&&(bigmode.debounce=bigmode._debounce))},{immediate:!0}),watch([()=>slots.default?.(),()=>props.big,()=>layoutSelected.value],()=>{let res=slots.default?slots.default():[];bigmode.enabled=props.big&&bigmode.layouts.includes(layoutSelected.value),bigmode.enabled&&(bigmode.initial=!0,res=getItems(res)),res=res.map((item,key)=>({...item,key})),items$2.value=res,bigmode.enabled||(itemsView.value=res),itemsShown.value.clear(),nextTick(()=>{tileProps=getItemProps(res,!1),titleProps=getItemProps(res,!0),invalidateLayoutCache(),updSize(),updSkeleton()})},{immediate:!0});function getItems(vnodes,_level=0){let res=[];for(let vnode of vnodes)switch(typeof vnode.type){case`object`:{let isTitle=vnode.props&&`bng-list-title`in vnode.props,item={...vnode};isTitle&&(item.isBngListTitle=!0),res.push(item);break}case`symbol`:if(_level===20)return logger_default.debug(`BngList reached max level of nested Vue fragments`),[];res.push(...getItems(vnode.children,_level+1));break}return res}function findItem(vnode,_level=0){let res=null;switch(typeof vnode.type){case`object`:res={el:vnode.el,width:vnode.type.width,height:vnode.type.height,margin:vnode.type.margin};break;case`string`:vnode.el instanceof HTMLElement&&(res={el:vnode.el});break;case`symbol`:if(vnode.children.length>0){if(_level===20)return null;res=findItem(vnode.children[0],++_level)}break}return res}function getItemProps(vnodes,title=!1){if(vnodes.length===0)return null;let sampleItem=vnodes.find(vnode=>title&&vnode.isBngListTitle||!title&&!vnode.isBngListTitle);if(!sampleItem)return null;let res=findItem(sampleItem);if(!res)return null;let valid={width:validNum(res.width),height:validNum(res.height),margin:validNum(res.margin)},fontSize$1,targetWidth=0,targetHeight=0,targetMargin=0;if(!title&&props.tileSizeCalc)try{fontSize$1||=getFontSize();let size$3=props.tileSizeCalc({contWidth,contHeight,fontSize:fontSize$1,layout:layoutSelected.value});if(size$3&&typeof size$3==`object`){let isPx=size$3.unit===`px`;targetWidth=isPx?size$3.width/fontSize$1:size$3.width,targetHeight=isPx?size$3.height/fontSize$1:size$3.height,targetMargin=isPx?size$3.margin/fontSize$1:size$3.margin}}catch(err){logger_default.warn(`BngList: tileSizeCalc function error:`,err)}targetWidth||=title?props.titleWidth||props.targetTitleWidth:props.tileWidth||props.targetWidth,targetHeight||=title?props.titleHeight||props.targetTitleHeight:props.tileHeight||props.targetHeight,targetMargin||=title?props.titleMargin||props.targetTitleMargin:props.tileMargin||props.targetMargin,validNum(targetWidth)&&(res.width=targetWidth,valid.width=!0),validNum(targetHeight)&&(res.height=targetHeight,valid.height=!0),validNum(targetMargin)&&(res.margin=targetMargin,valid.margin=!0);let em2px=em=>(fontSize$1||=getFontSize(),em*fontSize$1);if(valid.width&&res.width&&(res.width=em2px(res.width)),valid.height&&res.height&&(res.height=em2px(res.height)),valid.margin&&res.margin&&(res.margin=em2px(res.margin)),!valid.width||bigmode.enabled&&!valid.height||!valid.margin){if(res.el instanceof HTMLElement){let style=window.getComputedStyle(res.el,null);valid.width||(res.width=+style.width.substring(0,style.width.length-2)),valid.height||(res.height=+style.height.substring(0,style.height.length-2)),valid.margin||(res.margin=[style.marginTop,style.marginRight,style.marginBottom,style.marginLeft].map(m=>+m.substring(0,m.length-2)).sort((a$1,b)=>b-a$1)[0])}else logger_default.warn(`BngList cannot access ${title?`title`:`tile`} element for size auto-detection!`);warnShown||(warnShown=!0,logger_default.debug(`BigList was not provided with ${title?`title`:`target`} sizes (from props or from ${title?`title`:`tile`} component export) and attempted to auto-detect them. This may lead to some size micro-adjustments visible to user or invalid sizes. Please specify ${title?`title`:`target`} sizes manually.`),(res.width<1||res.height<1)&&logger_default.debug(`BigList noticed a detected ${title?`title`:``} size being too low: width = ${res.width}, height = ${res.height}`))}return res}let validNum=num=>typeof num==`number`&&!isNaN(num),getFontSize=()=>{if(!elCont.value)return 16;let size$3=window.getComputedStyle(elCont.value,null).fontSize;return+size$3.substring(0,size$3.length-2)||16},resizeObserver=new ResizeObserver(updSize);onMounted(()=>nextTick(()=>{resizeObserver.observe(elSize.value)})),onBeforeUnmount(()=>{elSize.value&&resizeObserver.unobserve(elSize.value),resizeObserver.disconnect()});let scrolling=ref(!1),scrollTmr,scrollTick=!1,onScrollDebounce=async()=>{scrollPos.value=bigmode.getPos[layoutSelected.value](),await updSkeleton()};watch(scrollPos,async pos=>{if(bigmode.enabled)if(bigmode.debounce>0)clearTimeout(scrollTmr),scrolling.value=!0,scrollTmr=setTimeout(async()=>{scrolling.value=!1,await calcBig(pos),await updSkeleton()},bigmode.debounce);else{if(scrollTick)return;scrollTick=!0,requestAnimationFrame(async()=>{scrollTick=!1,await calcBig(pos),await updSkeleton()})}});function vScroll(evt){evt.deltaY!==0&&elCont.value.scrollBy({left:evt.deltaY,behavior:`instant`})}function updSize(entries=[]){let oldContWidth=contWidth,oldContHeight=contHeight;tileWidth.value=0,tileHeight.value=0,titleWidth.value=0,titleHeight.value=0,tileProps?(tileMargin.value=validNum(tileProps.margin)?tileProps.margin:defTileMargin*fontSize,calcTiles(entries)):tileMargin.value=0,titleProps?(titleMargin.value=validNum(titleProps.margin)?titleProps.margin:defTitleMargin*fontSize,calcTitles(entries)):titleMargin.value=0,(Math.abs(oldContWidth-contWidth)>1||Math.abs(oldContHeight-contHeight)>1)&&invalidateLayoutCache(),bigmode.enabled&&!layoutCache.valid&&contWidth>0&&contHeight>0&&(!titleProps||titleWidth.value>0&&titleHeight.value>0)&&buildLayoutCache(),bigmode.enabled&&bigmode.initial&&(tileProps||titleProps)&&nextTick(async()=>{await calcBig(),await updSkeleton(),setTimeout(async()=>{await calcBig(),await updSkeleton()},50)}),elCont.value.removeEventListener(`mousewheel`,vScroll),layoutSelected.value===LIST_LAYOUTS.RIBBON&&elCont.value.addEventListener(`mousewheel`,vScroll)}function calcSizes(entries=[]){if(contWidth=0,contHeight=0,!elSize.value||!bigmode.enabled&&layoutSelected.value!==LIST_LAYOUTS.TILES)return!1;let baseMargin=tileMargin.value,rect=entries[0]?.contentRect||elSize.value.getBoundingClientRect();if(fontSize=getFontSize(),contWidth=rect.width,layoutSelected.value===LIST_LAYOUTS.RIBBON){let tileHeight$1=(tileProps?.height||5*fontSize)+baseMargin,titleHeight$1=titleProps?(titleProps.height||defTitleHeight*fontSize)+(titleProps.margin||defTitleMargin*fontSize):0;contHeight=Math.max(tileHeight$1,titleHeight$1)}else contHeight=rect.height-baseMargin;return!0}function calcTiles(entries=[]){if(!calcSizes(entries))return;let wantsWidth=layoutSelected.value===LIST_LAYOUTS.TILES||bigmode.enabled&&layoutSelected.value===LIST_LAYOUTS.RIBBON,wantsHeight=bigmode.enabled;if(!wantsWidth&&!wantsHeight)return;let baseMargin=tileMargin.value;if(wantsWidth){let baseWidth=tileProps.width||10*fontSize;if(contWidth>0&&layoutSelected.value===LIST_LAYOUTS.TILES){let prepWidth=baseWidth+baseMargin,amount=contWidth/prepWidth;amount<2?tileWidth.value=contWidth-baseMargin:tileWidth.value=(contWidth-baseMargin)/~~amount-baseMargin}else tileWidth.value=baseWidth}wantsHeight&&(tileHeight.value=tileProps.height||5*fontSize),bigmode.enabled&&bigmode.initial&&((!wantsWidth||contWidth>0)&&(!wantsHeight||contHeight>0)?(bigmode.initial=!1,calcBig(),updSkeleton()):window.requestAnimationFrame(()=>calcTiles()))}function calcTitles(){if(bigmode.enabled&&(fontSize=getFontSize()),!titleProps)return;let baseMargin=titleMargin.value,baseHeight=titleProps.height||defTitleHeight*fontSize;layoutSelected.value===LIST_LAYOUTS.RIBBON?titleWidth.value=titleProps.width||10*fontSize:titleWidth.value=contWidth-baseMargin;let oldTitleHeight=titleHeight.value;titleHeight.value=baseHeight,bigmode.enabled&&oldTitleHeight===0&&titleHeight.value>0&&contWidth>0&&contHeight>0&&(invalidateLayoutCache(),buildLayoutCache())}function clearLayoutCache(){layoutCache.totalSize=0,layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.valid=!0,layoutCache.building=!1,bigmode.enabled&&(bigmode.initial=!1,bigmode.full=0,bigmode.position=0,itemsView.value=[])}async function buildLayoutCache(){if(layoutCache.building){for(;layoutCache.building;)await sleep(10);return}if(items$2.value.length===0){clearLayoutCache();return}if(!tileProps&&!titleProps||contWidth<=0||contHeight<=0)return;if(layoutCache.building=!0,layoutCache.version=Date.now(),layoutCache.itemCount=items$2.value.length,await sleep(0),layoutCache.rows=[],layoutCache.itemToRow.clear(),layoutCache.rowPositions=[],layoutCache.itemCount!==items$2.value.length&&(layoutCache.itemCount=0),layoutCache.itemCount===0){clearLayoutCache(),items$2.value.length>0&&buildLayoutCache();return}let baseTileMargin=tileProps?.margin||defTileMargin*fontSize,baseTitleMargin=titleProps?.margin||defTitleMargin*fontSize,horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,tilesPerRow=layoutSelected.value===LIST_LAYOUTS.TILES?~~(contWidth/tileWidth.value):1,pos=0,first=0,curItems=0;function completeRow(i){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i-1};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j0&&(completeRow(i),curItems=0);let titleSize=horizontal?titleWidth.value:titleHeight.value,rowSize=titleSize+baseTitleMargin,row={pos,size:rowSize,first:i,last:i,isTitle:!0};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos),layoutCache.itemToRow.set(i,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=titleSize+nextMargin,first=i+1,curItems=0}else if(curItems++,curItems===1&&(first=i),curItems>=tilesPerRow){let tileSize=horizontal?tileWidth.value:tileHeight.value,size$3=tileSize+baseTileMargin,row={pos,size:size$3,first,last:i};layoutCache.rows.push(row),layoutCache.rowPositions.push(pos);for(let j=first;j<=i;j++)layoutCache.itemToRow.set(j,layoutCache.rows.length-1);let nextMargin=items$2.value[i+1]?.isBngListTitle?baseTitleMargin:baseTileMargin;pos+=tileSize+nextMargin,curItems=0,first=i+1}curItems>0&&completeRow(layoutCache.itemCount),pos+=items$2.value[layoutCache.itemCount-1]?.isBngListTitle?baseTitleMargin:baseTileMargin,layoutCache.totalSize=pos,layoutCache.valid=!0,layoutCache.building=!1}function invalidateLayoutCache(){layoutCache.valid=!1,layoutCache.version++}function layoutCacheSearch(arr,target){let left=0,right=arr.length-1;for(;left<=right;){let mid=~~((left+right)/2);arr[mid]<=target?left=mid+1:right=mid-1}return Math.max(0,right)}async function getBigProps(pos=void 0,index=void 0,overflow=void 0){let count$1=items$2.value.length;if(count$1===0)return;if((!layoutCache.valid||layoutCache.itemCount!==count$1)&&(await buildLayoutCache(),!layoutCache.valid))return null;(typeof index!=`number`||index<0)&&(index=void 0,typeof pos!=`number`&&(pos=bigmode.getPos[layoutSelected.value]()));let contSize=layoutSelected.value===LIST_LAYOUTS.RIBBON?contWidth:contHeight;typeof overflow!=`number`&&(overflow=bigmode.overflow);let overflowBefore=Math.ceil(overflow/2),overflowAfter=Math.floor(overflow/2),firstRow=0,currentPos=0;if(typeof index==`number`&&index>=0){let rowIndex=layoutCache.itemToRow.get(index);rowIndex!==void 0&&(firstRow=rowIndex,currentPos=layoutCache.rows[rowIndex].pos,pos=currentPos)}else firstRow=layoutCacheSearch(layoutCache.rowPositions,pos),currentPos=layoutCache.rows[firstRow]?.pos||0;let extendedFirstRow=firstRow,backwardCount=0;for(let i=firstRow-1;i>=0&&backwardCount=contSize));i++);let overflowCount=0;for(let i=lastRow+1;iprops.keepAlive){let center=big.first+(big.last-big.first)/2,farthest=Array.from(itemsShown.value).sort((a$1,b)=>Math.abs(b-center)-Math.abs(a$1-center)).slice(0,itemsShown.value.size-props.keepAlive);for(let idx of farthest)itemsShown.value.delete(idx)}big.items=Array.from(itemsShown.value).sort((a$1,b)=>a$1-b).map(idx=>{let item=items$2.value[idx];return idx>=big.first&&idx<=big.last?item:{...item,keepAliveStyle:`display: none !important;`}})}else itemsShown.value.size>0&&itemsShown.value.clear();bigmode.items=big.items,itemsView.value=big.items}}function showSkeleton(show=!0){skeletonShown!==show&&(show?elSkeleton.value.style.removeProperty(`display`):(skeletonItems.value=[],elSkeleton.value.style.setProperty(`display`,`none`,`important`)),skeletonShown=show)}async function updSkeleton(){if(!elSkeleton.value||!bigmode.enabled||!bigmode.skeleton||!scrolling.value||items$2.value.length===0||!layoutCache.valid){showSkeleton(!1);return}if(bigmode.first===0&&bigmode.last===items$2.value.length-1){showSkeleton(!1);return}let horizontal=layoutSelected.value===LIST_LAYOUTS.RIBBON,contSize=horizontal?contWidth:contHeight,pos=scrollPos.value,start,end;if(pos=bigmode.position||(end=i,visibleSize+=row.size,visibleSize>=contSize))break}let overflowCount=0;for(let i=end+1;i=bigmode.position);i++)end=i,overflowCount++;let neededSize=contSize+bigmode.skeletonOverflow*(horizontal?tileWidth.value:tileHeight.value),backwardSize=visibleSize;for(;start>0&&backwardSize=contSize));i++);let overflowCount=0;for(let i=end+1;i(openBlock(),createElementBlock(`div`,_hoisted_1$316,[toolbar.value.enabled?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_2$257,[toolbar.value.path?(openBlock(),createBlock(Teleport,{key:0,disabled:!__props.pathTarget,to:__props.pathTarget},[createVNode(unref(bngBreadcrumbs_default),{ref_key:`elPath`,ref:elPath,items:__props.path,limit:__props.pathLimit,blur:!__props.noBackground,onClick:_cache[0]||=itm=>emit$1(`pathClick`,itm)},null,8,[`items`,`limit`,`blur`])],8,[`disabled`,`to`])):(openBlock(),createElementBlock(`div`,_hoisted_3$224)),toolbar.value.layout?(openBlock(),createBlock(Teleport,{key:2,disabled:!__props.layoutSelectorTarget,to:__props.layoutSelectorTarget},[createBaseVNode(`div`,_hoisted_4$192,[createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.TILES?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).tiles,onClick:_cache[1]||=$event=>layoutSelected.value=LIST_LAYOUTS.TILES},null,8,[`accent`,`icon`]),createVNode(unref(bngButton_default),{accent:layoutSelected.value===LIST_LAYOUTS.LIST?unref(ACCENTS).outlined:unref(ACCENTS).text,icon:unref(icons).listSmall,onClick:_cache[2]||=$event=>layoutSelected.value=LIST_LAYOUTS.LIST},null,8,[`accent`,`icon`])])],8,[`disabled`,`to`])):createCommentVNode(``,!0)],512)),[[vShow,toolbar.value.show]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass({"list-content":!0,"list-with-background":!__props.noBackground,[`list-layout-${layoutSelected.value}`]:!0,"list-item-width":!!tileWidth.value,"list-item-height":!!tileHeight.value,"list-item-margin":!!tileMargin.value,"list-title-width":!!titleWidth.value,"list-title-height":!!titleHeight.value,"list-title-margin":!!titleMargin.value,"list-big":bigmode.enabled,"list-scrolling":scrolling.value||bigmode.debounce===0,"list-processing":processing.value}),style:normalizeStyle({"--list-item-width":`${tileWidth.value}px`,"--list-item-height":`${tileHeight.value}px`,"--list-item-margin":`${tileMargin.value}px`,"--list-title-width":`${titleWidth.value}px`,"--list-title-height":`${titleHeight.value}px`,"--list-title-margin":`${titleMargin.value}px`,"--list-big-full":`${bigmode.full}px`}),onScroll:onScrollDebounce},[createBaseVNode(`div`,{ref_key:`elSize`,ref:elSize,class:`list-content-size-observer`},null,512),bigmode.enabled&&bigmode.skeleton?(openBlock(),createElementBlock(`div`,{key:0,ref_key:`elSkeleton`,ref:elSkeleton,class:`list-skeleton`},[(openBlock(!0),createElementBlock(Fragment,null,renderList(skeletonItems.value,(isTitle,i)=>(openBlock(),createElementBlock(`div`,{key:`skeleton-${i}`,class:normalizeClass({"skeleton-item":!0,"skeleton-title":isTitle})},null,2))),128))],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{class:`list-items`,style:normalizeStyle(listItemsStyle.value)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(itemsView.value,vnode=>(openBlock(),createBlock(resolveDynamicComponent(vnode),{key:vnode.key,style:normalizeStyle(vnode.keepAliveStyle)},null,8,[`style`]))),128))],4)],38)),[[unref(BngBlur_default),!__props.noBackground]])]))}},bngList_default=__plugin_vue_export_helper_default(_sfc_main$361,[[`__scopeId`,`data-v-5af5eff2`]]),_hoisted_1$315={class:`bng-stars`},_hoisted_2$256={key:0,class:`stars`},_hoisted_3$223=[`innerHTML`],_hoisted_4$191=[`innerHTML`],_hoisted_5$163={key:1,class:`stars`},_hoisted_6$140={class:`stars-label`},_hoisted_7$122=[`innerHTML`],_sfc_main$360={__name:`bngMainStars`,props:{unlockedStars:{type:Number,default:0,validator:val=>val>=0},totalStars:{type:Number,default:1},scale:{type:Number,default:1},individualStars:{type:Object,default:null,validator:val=>val===null||Array.isArray(val)},numerical:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v3c930dd6:fontSize.value}));let props=__props,fontSize=computed(()=>`${props.scale}rem`),starsTotal=computed(()=>props.individualStars?props.individualStars.length:props.totalStars),starsFilled=computed(()=>props.individualStars?props.individualStars.filter(Boolean).length:props.unlockedStars),starsUnfilled=computed(()=>starsTotal.value-starsFilled.value),glyphsFilled=computed(()=>starsFilled.value>0?icons.star.glyph.repeat(starsFilled.value):``),glyphsUnfilled=computed(()=>starsUnfilled.value>0?icons.star.glyph.repeat(starsUnfilled.value):``);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$315,[!__props.numerical&&__props.individualStars&&__props.individualStars.length?(openBlock(),createElementBlock(`div`,_hoisted_2$256,[starsFilled.value?(openBlock(),createElementBlock(`span`,{key:0,class:`star star-filled`,innerHTML:glyphsFilled.value},null,8,_hoisted_3$223)):createCommentVNode(``,!0),starsUnfilled.value?(openBlock(),createElementBlock(`span`,{key:1,class:`star star-unfilled`,innerHTML:glyphsUnfilled.value},null,8,_hoisted_4$191)):createCommentVNode(``,!0)])):(openBlock(),createElementBlock(`div`,_hoisted_5$163,[createBaseVNode(`div`,_hoisted_6$140,toDisplayString(starsFilled.value)+` / `+toDisplayString(starsTotal.value),1),createBaseVNode(`span`,{class:`star star-filled`,innerHTML:unref(icons).star.glyph},null,8,_hoisted_7$122)]))]))}},bngMainStars_default=__plugin_vue_export_helper_default(_sfc_main$360,[[`__scopeId`,`data-v-4ba4c794`]]),_hoisted_1$314=[`rows`,`placeholder`,`disabled`],_hoisted_2$255={key:0,class:`floating-label`},_sfc_main$359={__name:`bngMultilineInput`,props:{floatingLabel:String,externalLabel:String,placeholder:String,initialValue:String,leadingIcon:Object,trailingIcon:Object,scalable:Boolean,hasError:Boolean,errorMessage:String,lines:{type:Number,default:1},disabled:{type:Boolean,default:!1}},setup(__props){useCssVars(_ctx=>({v26daab40:bngScalableInputMaxWidth.value}));let props=__props,inputContainer=ref(null),bngMultilineInput=ref(null),focusHighlight=ref(null),leadingIconContainer=ref(null),trailingIconContainer=ref(null),value=ref(``),isInputFieldFocused=ref(!1),hasValue=computed(()=>value.value!==``&&value.value!==void 0),bngScalableInputMaxWidth=computed(()=>`${(leadingIconContainer.value?leadingIconContainer.value.offsetWidth:0)+(trailingIconContainer.value?trailingIconContainer.value.offsetWidth:0)}px`),resizeObserver;onBeforeMount(()=>{value.value=props.initialValue,resizeObserver=new ResizeObserver(onInputResize)}),onMounted(()=>{resizeObserver.observe(bngMultilineInput.value)}),onDeactivated(()=>{resizeObserver.disconnect()});function onInputFieldFocusIn(){isInputFieldFocused.value=!0}function onInputFieldFocusOut(){isInputFieldFocused.value=!1}function onInputResize(){inputContainer.value&&window.requestAnimationFrame(()=>{let focusRight=inputContainer.value.offsetWidth-inputContainer.value.offsetWidth;focusHighlight.value.style.right=`${focusRight-2}px`})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`input-icon-wrapper`,{scalable:__props.scalable}])},[__props.leadingIcon?(openBlock(),createElementBlock(`span`,{key:0,ref_key:`leadingIconContainer`,ref:leadingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.leadingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`inputContainer`,ref:inputContainer,class:normalizeClass([`bng-multiline-input`,{"input-focused":isInputFieldFocused.value,"has-error":__props.hasError}]),tabindex:`0`},[withDirectives(createBaseVNode(`textarea`,{"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,ref_key:`bngMultilineInput`,ref:bngMultilineInput,class:normalizeClass([`input-field`,{empty:!hasValue.value,"has-value":hasValue.value,"has-error":__props.hasError,disabled:__props.disabled}]),rows:__props.lines,placeholder:__props.floatingLabel,disabled:__props.disabled,onFocusin:onInputFieldFocusIn,onFocusout:onInputFieldFocusOut},null,42,_hoisted_1$314),[[vModelText,value.value],[unref(BngTextInput_default)]]),__props.floatingLabel?(openBlock(),createElementBlock(`span`,_hoisted_2$255,toDisplayString(__props.floatingLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,{ref_key:`focusHighlight`,ref:focusHighlight,class:`focus-highlight`},null,512)],2),__props.trailingIcon?(openBlock(),createElementBlock(`span`,{key:1,ref_key:`trailingIconContainer`,ref:trailingIconContainer,class:`input-icon`},[createVNode(unref(bngIcon_default),{type:__props.trailingIcon},null,8,[`type`])],512)):createCommentVNode(``,!0)],2))}},bngMultilineInput_default=__plugin_vue_export_helper_default(_sfc_main$359,[[`__scopeId`,`data-v-6c6cfdb8`]]);const icons$1={undefined:`undefined`,arrow:{large:{up:`arrow/large_up`,down:`arrow/large_down`,left:`arrow/large_left`,right:`arrow/large_right`},small:{up:`arrow/arrowSmallUp`,down:`arrow/arrowSmallDown`,left:`arrow/arrowSmallLeft`,right:`arrow/arrowSmallRight`}},drive:{autobahn:`drive/autobahn`,busroutes:`drive/busroutes`,campaigns:`drive/campaigns`,career:`drive/career`,freeroam:`drive/freeroam`,garage:`drive/garage`,infinity:`drive/infinity`,lightrunner:`drive/lightrunner`,m_a:`drive/m_a`,m_b:`drive/m_b`,m_c:`drive/m_c`,play:`drive/play`,quit:`drive/quit`,scenarios:`drive/scenarios`,timetrials:`drive/timetrials`},general:{offbtn:`general/offbtn`,unknown:`general/unknown`,check:`general/check`,recharge:`general/recharge`,refuel:`general/refuel`,beambuck:`general/beambuck`,money:`general/beambuck`,beamXP:`general/beamXP`,arrow_small_left:`general/arrow_small-left`,arrow_small_right:`general/arrow_small-right`,fuel_nozzle:`general/fuel-nozzle`,recharge_connector:`general/recharge-connector`,star:`general/star`,star_outlined:`general/star-secondary`,vehicle:`general/vehicle`,awd:`general/awd`,"4wd":`general/4wd`,fwd:`general/fwd`,rwd:`general/rwd`,drivetrain_special:`general/drivetrain-special`,drivetrain_generic:`general/drivetrain-generic`,charge:`general/charge`,fuel:`general/fuel`,odometer:`general/odometer`,power_gauge_01:`general/power-gauge-01c`,power_gauge_02:`general/power-gauge-02c`,power_gauge_03:`general/power-gauge-03c`,power_gauge_04:`general/power-gauge-04c`,power_gauge_05:`general/power-gauge-05c`,weight:`general/weight`,transmission_a:`general/transmission-a`,transmission_m:`general/transmission-m`},device:{keyboard:`device/keyboard`,phone_android:`device/phone_android`,wheel:`device/wheel`,gamepad:`device/gamepad`,videogame_asset:`device/videogame_asset`,mouse:{button0:`device/mouse/button0`,button1:`device/mouse/button1`,button2:`device/mouse/button2`,xaxis:`device/mouse/xaxis`,yaxis:`device/mouse/yaxis`,zaxis:`device/mouse/zaxis`},xbox:{btn_a:`device/xbox/btn_a`,btn_b:`device/xbox/btn_b`,btn_back:`device/xbox/btn_back`,btn_lb:`device/xbox/btn_lb`,btn_lt:`device/xbox/btn_lt`,btn_rb:`device/xbox/btn_rb`,btn_rt:`device/xbox/btn_rt`,btn_start:`device/xbox/btn_start`,btn_x:`device/xbox/btn_x`,btn_y:`device/xbox/btn_y`,btn_dpad_default_filled:`device/xbox/btn_dpad_default_filled`,btn_dpad_default_outline:`device/xbox/btn_dpad_default_outline`,btn_dpad_down:`device/xbox/btn_dpad_down`,btn_dpad_left:`device/xbox/btn_dpad_left`,btn_dpad_right:`device/xbox/btn_dpad_right`,btn_dpad_up:`device/xbox/btn_dpad_up`,btn_thumb_left:`device/xbox/btn_thumb_left`,btn_thumb_left_x:`device/xbox/btn_thumb_left_x`,btn_thumb_left_y:`device/xbox/btn_thumb_left_y`,btn_thumb_right:`device/xbox/btn_thumb_right`,btn_thumb_right_x:`device/xbox/btn_thumb_right_x`,btn_thumb_right_y:`device/xbox/btn_thumb_right_y`}},decals:{camera:{back:`decals/camera/back`,freecam:`decals/camera/freecam`,front:`decals/camera/front`,left:`decals/camera/left`,right:`decals/camera/right`,top:`decals/camera/top`},general:{change_order:`decals/general/change_order`,deform:`decals/general/deform`,delete:`decals/general/delete`,duplicate:`decals/general/duplicate`,hide:`decals/general/hide`,lock:`decals/general/lock`,mirror:`decals/general/mirror`,options:`decals/general/options`,redo:`decals/general/redo`,rename:`decals/general/rename`,save:`decals/general/save`,transform:`decals/general/transform`,undo:`decals/general/undo`,unlock:`decals/general/unlock`,use_mask:`decals/general/mask`},group:{group:`decals/group/group`,ungroup:`decals/group/ungroup`},layer:{decal:`decals/layer/decal`,material:`decals/layer/material`},mirror:{copy_mirrored:`decals/mirror/copy_mirrored`,copy_straight:`decals/mirror/copy_straight`}}},iconTypesList=makeIconTypesList(icons$1);function makeIconTypesList(dict){let key,all=[];for(key in dict)all=all.concat(typeof dict[key]==`string`?dict[key]:makeIconTypesList(dict[key]));return all}var _hoisted_1$313=[`src`],_sfc_main$358={__name:`bngOldIcon`,props:{type:{type:String,validator:v=>iconTypesList.includes(v)},span:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},color:String},setup(__props){let props=__props,iconImageURL=computed(()=>getAssetURL(`icons/${props.type}.svg`)),spanStyle=computed(()=>({[props.mask?`maskImage`:`backgroundImage`]:`url(${iconImageURL.value})`,backgroundColor:props.color||`#fff`}));return(_ctx,_cache)=>__props.span?(openBlock(),createElementBlock(`span`,{key:0,class:`bngicon`,style:normalizeStyle(spanStyle.value)},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],4)):(openBlock(),createElementBlock(`img`,{key:1,class:`bngicon`,src:iconImageURL.value,alt:``},null,8,_hoisted_1$313))}},bngOldIcon_default=__plugin_vue_export_helper_default(_sfc_main$358,[[`__scopeId`,`data-v-da0e0a74`]]),_hoisted_1$312=[`bng-no-child-nav`],scrollBuildupTime=3e3,scrollMaxSpeedModifier=4,CLICKID=`__bngOverflowContainer`,_sfc_main$357={__name:`bngOverflowContainer`,props:{scrollSpeed:{type:Number,default:5},initialIndex:{type:Number,default:-1},useBindings:[Boolean,Array],useBindingsOnly:[Boolean,Array],showBindings:{type:Boolean,default:!0},showArrows:{type:Boolean,default:!1},noWheel:{type:Boolean,default:!1}},setup(__props,{expose:__expose}){let slots=useSlots(),props=__props,useBindings=props.useBindings||props.useBindingsOnly,useBindingsOnly=props.useBindingsOnly;watch([()=>props.useBindings,()=>props.useBindingsOnly],()=>console.warn(`useBindings and useBindingsOnly can only be set at component mount time`));let uinavBound=!1,focusNav=useBindings&&Array.isArray(useBindings)?useBindings:[`tab_l`,`tab_r`],elBindPrev=ref(null),elBindNext=ref(null),elCont=ref(null),scrollContainer=ref(null),showLeftFade=ref(!1),showRightFade=ref(!1),resizeObserver=new ResizeObserver(updateFadeVisibility),scrollInterval=null,scrollTime=0,lastActive=null,fixingActive=!1;function setActive(elm){clearActive(),elm instanceof Element&&(elm.setAttribute(`active`,`true`),lastActive=elm)}function clearActive(evt){lastActive&&(evt&&(evt.detail?.target||evt.target)===lastActive||(lastActive.removeAttribute(`active`),lastActive=null))}function fixActive(evt){if(fixingActive||useBindings&&evt.type===`focusin`)return;let active=evt.detail?.target||evt.target||document.activeElement;if(active.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(active=active.closest(NAVIGABLE_ELEMENTS_SELECTOR)),scrollContainer.value.contains(active)&&!(lastActive&&(lastActive===active||lastActive.contains(active)))){if(useBindingsOnly){fixingActive=!0;let prev=evt.detail.relatedTarget||evt.relatedTarget;prev&&scrollContainer.value.contains(prev)&&(prev=null),prev?setFocusExternal(prev,!0):setFocusExternal(active,!1)}nextTick(()=>{setActive(active),fixingActive=!1})}}let firstTime=!0;function updateContents(){if(!scrollContainer.value)return;let elFirst;for(let elm of scrollContainer.value.children)firstTime&&!elFirst&&(elFirst=elm),!elm[CLICKID]&&(elm[CLICKID]=!0,elm.addEventListener(`click`,fixActive));firstTime&&elFirst&&props.initialIndex>-1&&(firstTime=!1,elFirst.matches(`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`)||(elFirst=elFirst.querySelector(NAVIGABLE_ELEMENTS_SELECTOR)),elFirst&&activate(elFirst))}watch([()=>slots.default?.(),()=>scrollContainer.value],()=>nextTick(updateContents),{immediate:!0});function navContents(dir,fireClick=!1){let links=collectRects(dir,scrollContainer.value,useBindingsOnly),prev=lastActive;clearActive();let res;if(useBindingsOnly){let idx=links[dir].findIndex(link=>link.dom===prev);idx>-1?res=links[dir][dir===`right`?idx+1:idx-1]:idx===0&&dir===`left`?res=links[dir][links[dir].length-1]:idx===links[dir].length-1&&dir===`right`&&(res=links[dir][0]),res&&(setActive(res.dom),scrollFix(res,dir))}else prev&&(res=navigate(links,dir,prev),res&&setActive(res));res?fireClick&&(res.dom&&(res=res.dom),nextTick(()=>res?.dispatchEvent(new Event(`click`)))):(scrollContainer.value.scrollTo({left:dir===`right`?0:scrollContainer.value.clientWidth,behavior:`instant`}),nextTick(()=>{let elms$4=collectRects(`right`,scrollContainer.value,!0).right;dir===`left`&&elms$4.reverse(),res=elms$4[0],res&&(setActive(res.dom),useBindingsOnly?scrollFix(res,dir):setFocusExternal(res.dom),fireClick&&res.dom.dispatchEvent(new Event(`click`)))}))}let activatePrev=()=>navContents(`left`,!0),activateNext=()=>navContents(`right`,!0);function activate(indexOrElement){let elm;if(typeof indexOrElement==`number`){let elms$4=scrollContainer.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);indexOrElement<0&&(indexOrElement=elms$4.length+indexOrElement),elm=elms$4[indexOrElement]}else if(indexOrElement instanceof Element)elm=indexOrElement;else throw Error(`Invalid argument`);if(!elm)throw Error(`Element not found`);scrollFix({dom:elm,rect:elm.getBoundingClientRect()},`right`),setActive(elm),!useBindingsOnly&&setFocusExternal(elm)}if(__expose({scrollBy:amount=>scrollContainer.value?.scrollBy({left:amount,behavior:`smooth`}),activatePrev,activateNext,activate,deactivate:()=>{let active=document.activeElement,activeCorrect=active&&active===lastActive;clearActive(),activeCorrect&&(useBindingsOnly&&setFocusExternal(active,!1),active.blur?.())},refresh:(withActivation=!1)=>{withActivation&&(firstTime=!0),updateContents()}}),useBindings){let instance$1=getCurrentInstance(),contUnwatch=watch(()=>elCont.value,elm=>{elm&&(contUnwatch(),nextTick(()=>{uinavBound=!0;let vnode={ctx:instance$1,el:elm};BngOnUiNav_default.mounted(elm,{arg:focusNav[0],modifiers:{},value:activatePrev},vnode),BngOnUiNav_default.mounted(elm,{arg:focusNav[1],modifiers:{},value:activateNext},vnode),elm.addEventListener(`focusin`,fixActive)}))},{immediate:!0})}watch(scrollContainer,elm=>{elm&&(updateFadeVisibility(),resizeObserver.observe(elm))},{immediate:!0});function updateFadeVisibility(){if(!scrollContainer.value)return;let{scrollLeft,scrollWidth,clientWidth}=scrollContainer.value;showLeftFade.value=scrollLeft>0,showRightFade.value=scrollLeft{let speedModifier=Math.min(1+(scrollMaxSpeedModifier-1)*(scrollTime/scrollBuildupTime),scrollMaxSpeedModifier),scrollAmount=(direction$1===`left`?-props.scrollSpeed:props.scrollSpeed)*speedModifier;scrollContainer.value.scrollLeft+=scrollAmount,updateFadeVisibility(),scrollTime+=1e3/30},1e3/30)}function stopScrolling(){scrollInterval&&=(clearInterval(scrollInterval),null),scrollTime=0}function onWheel(evt){props.noWheel||(evt.preventDefault(),scrollContainer.value.scrollLeft+=evt.deltaY,updateFadeVisibility())}function onScroll(){updateFadeVisibility()}return onBeforeUnmount(()=>{resizeObserver.disconnect(),stopScrolling(),uinavBound&&(BngOnUiNav_default.beforeUnmount(elCont.value),elCont.value.removeEventListener(`focusin`,fixActive))}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-overflow-container`,{"with-bindings":unref(useBindings)&&(elBindPrev.value?.displayed||elBindNext.value?.displayed),"with-arrows":__props.showArrows&&!(elBindPrev.value?.displayed||elBindNext.value?.displayed),"hide-bindings":!__props.showBindings}]),onWheel},[withDirectives(createBaseVNode(`div`,{class:`fade-left`,onMouseenter:_cache[0]||=$event=>startScrolling(`left`),onMouseleave:stopScrolling},null,544),[[vShow,showLeftFade.value]]),withDirectives(createBaseVNode(`div`,{class:`fade-right`,onMouseenter:_cache[1]||=$event=>startScrolling(`right`),onMouseleave:stopScrolling},null,544),[[vShow,showRightFade.value]]),__props.showArrows&&!elBindPrev.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons).arrowLargeLeft,class:`hint-prev`},null,8,[`type`])):createCommentVNode(``,!0),__props.showArrows&&!elBindNext.value?.displayed?(openBlock(),createBlock(unref(bngIcon_default),{key:1,type:unref(icons).arrowLargeRight,class:`hint-next`},null,8,[`type`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:2,ref_key:`elBindPrev`,ref:elBindPrev,class:`hint-prev`,"ui-event":unref(focusNav)[0],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),unref(useBindings)?(openBlock(),createBlock(unref(bngBinding_default),{key:3,ref_key:`elBindNext`,ref:elBindNext,class:`hint-next`,"ui-event":unref(focusNav)[1],controller:``},null,8,[`ui-event`])):createCommentVNode(``,!0),createBaseVNode(`div`,{ref_key:`scrollContainer`,ref:scrollContainer,class:`scroll-container`,"bng-no-child-nav":unref(useBindingsOnly),onScroll},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],40,_hoisted_1$312)],34))}},bngOverflowContainer_default=__plugin_vue_export_helper_default(_sfc_main$357,[[`__scopeId`,`data-v-24544cbf`]]);const rainbow=(numOfSteps,step)=>{let r,g,b,h$1=step/numOfSteps,i=~~(h$1*6),f=h$1*6-i,q=1-f;switch(i%6){case 0:[r,g,b]=[1,f,0];break;case 1:[r,g,b]=[q,1,0];break;case 2:[r,g,b]=[0,1,f];break;case 3:[r,g,b]=[0,q,1];break;case 4:[r,g,b]=[f,0,1];break;case 5:[r,g,b]=[1,0,q];break}return[r,g,b]},hueToRGB=(p$1,q,t)=>(t<0&&(t+=1),t>1&&--t,t<1/6?p$1+(q-p$1)*6*t:t<1/2?q:t<2/3?p$1+(q-p$1)*(2/3-t)*6:p$1),HSLToRGB=(h$1,s,l)=>{let r,g,b;if(s===0)r=g=b=l;else{let q=l<.5?l*(1+s):l+s-l*s,p$1=2*l-q;r=hueToRGB(p$1,q,h$1+1/3),g=hueToRGB(p$1,q,h$1),b=hueToRGB(p$1,q,h$1-1/3)}return[r,g,b]},RGBToHSL=(r,g,b)=>{let vmax=Math.max(r,g,b),vmin=Math.min(r,g,b),h$1,s,l=(vmax+vmin)/2;if(vmax===vmin)return[0,0,l];let d=vmax-vmin;return s=l>.5?d/(2-vmax-vmin):d/(vmax+vmin),vmax===r&&(h$1=(g-b)/d+(gnum;else if(val<=15){let prec=10**val;this._precision=num=>~~(num*prec)/prec}else throw TypeError(`Precision can't go higher than 15`)}_sync({hsl=!1,rgb=!1}={}){if(hsl&&rgb)throw Error(`Cannot set both HSL and RGB changes at once`);this._dirty.hsl&&!hsl?this._rgb=HSLToRGB(...this._hsl):this._dirty.rgb&&!rgb&&(this._hsl=RGBToHSL(...this._rgb)),this._dirty.hsl=hsl,this._dirty.rgb=rgb}_parse(val){let res;if(isProxy(val)&&(val=toRaw(val)),typeof val==`string`&&(val=val.split(` `)),typeof val==`object`&&Array.isArray(val)){if(val.length<3)throw Error(`Invalid colour array length`);val.length===3&&(val=[...val,1]),val=val.map(Number);for(let num of val)if(isNaN(num))throw Error(`Values must be numbers`);res=val}if(!res)throw Error(`Color must be either an array or a string`);return res}get hslString(){return this.hsl.join(` `)}get hslaString(){return this.hsla.join(` `)}get rgbString(){return this.rgb.join(` `)}get rgbaString(){return this.rgba.join(` `)}get saturationPercent(){return Math.round(this.saturation*100)}get luminosityPercent(){return Math.round(this.luminosity*100)}get alphaPercent(){return Math.round(this._alpha*50)}get metallicPercent(){return Math.round(this._metallic*100)}get roughnessPercent(){return Math.round(this._roughness*100)}get clearcoatPercent(){return Math.round(this._clearcoat*100)}get clearcoatRoughnessPercent(){return Math.round(this._clearcoatRoughness*100)}get paint(){return[...this._legacy?this.rgba:this.rgb,this.metallic,this.roughness,this.clearcoat,this.clearcoatRoughness].map(this._precision)}get paintString(){return this.paint.join(` `)}get paintObject(){return this._paintObjectNames.reduce((res,name)=>({...res,[name]:this[name]}),{})}set paint(val){let data;if(isProxy(val)&&(val=toRaw(val)),typeof val==`object`){if(!Array.isArray(val)){data={...val};let names=this._paintObjectNames;for(let name of names){if(name===`baseColor`){this.baseColor=name in data?data[name]:[1,1,1,1];continue}let num=0;name in data&&(num=Number(data[name]),isNaN(num)&&(num=0)),this[name]=num}return}data=val}else if(typeof val==`string`)data=val.split(` `);else throw TypeError(`Invalid data type`);if(data.length===8)this.rgba=data.slice(0,4);else if(data.length===7)this.rgb=data.slice(0,3);else throw TypeError(`Invalid data value`);[this._metallic,this._roughness,this._clearcoat,this._clearcoatRoughness]=data.slice(-4)}get metallic(){return this._precision(this._metallic)}set metallic(val){this._metallic=Number(val)}get roughness(){return this._precision(this._roughness)}set roughness(val){this._roughness=Number(val)}get clearcoat(){return this._precision(this._clearcoat)}set clearcoat(val){this._clearcoat=Number(val)}get clearcoatRoughness(){return this._precision(this._clearcoatRoughness)}set clearcoatRoughness(val){this._clearcoatRoughness=Number(val)}get alpha(){return this._precision(this._alpha)}set alpha(val){let type=typeof val;type!==`undefined`&&(type===`number`?this._alpha=val:this._alpha=Number(val))}get hsl(){return this._sync(),this._hsl.map(this._precision)}set hsl(val){let arr=this._parse(val);this._sync({hsl:!0}),this._hsl=arr.slice(0,3),this.alpha=arr[3]}get rgb(){return this._sync(),this._rgb.map(this._precision)}get rgb255(){return this.rgb.map(val=>Math.round(val*255))}set rgb(val){let arr=this._parse(val);this._sync({rgb:!0}),this._rgb=arr.slice(0,3),this.alpha=arr[3]}set rgb255(val){let arr=this._parse(val);this.rgb=[...arr.slice(0,3).map(val$1=>val$1/255),arr[3]]}get hsla(){return[...this.hsl,this.alpha]}set hsla(val){this.hsl=val}get rgba(){return[...this.rgb,this.alpha]}set rgba(val){this.rgb=val}get baseColor(){return this.rgba}set baseColor(val){this.rgba=val}get hue(){return this.hsl[0]}get hue360(){return this.hsl[0]*360}set hue(val){this._sync({hsl:!0}),this._hsl[0]=Number(val)}set hue360(val){this.hue=Number(val)/360}get saturation(){return this.hsl[1]}set saturation(val){this._sync({hsl:!0}),this._hsl[1]=Number(val)}get luminosity(){return this.hsl[2]}set luminosity(val){this._sync({hsl:!0}),this._hsl[2]=Number(val)}get red(){return this.rgb[0]}get red255(){return this.rgb[0]*255}set red(val){this._sync({rgb:!0}),this._rgb[0]=Number(val)}set red255(val){this.red=Number(val)/255}get green(){return this.rgb[1]}get green255(){return this.rgb[1]*255}set green(val){this._sync({rgb:!0}),this._rgb[1]=Number(val)}set green255(val){this.green=Number(val)/255}get blue(){return this.rgb[2]}get blue255(){return this.rgb[2]*255}set blue(val){this._sync({rgb:!0}),this._rgb[2]=Number(val)}set blue255(val){this.blue=Number(val)/255}static anyToArray(val,legacy=!1){if(Array.isArray(val)){let checks=[val$1=>val$1 instanceof Paint,val$1=>typeof val$1==`object`&&Array.isArray(val$1.baseColor),val$1=>typeof val$1==`string`&&val$1.split(` `).length>=7,val$1=>Array.isArray(val$1)&&val$1.length>=7];if(val.some(item=>checks.some(check=>check(item))))return val.map(item=>Paint.anyToArray(item,legacy))}let precision=val$1=>{let num=Number(val$1);return isNaN(num)?val$1:~~(num*1e4)/1e4};return Array.isArray(val)?val.map(precision):typeof val==`string`?val.split(` `).map(precision):val instanceof Paint?val.paint:typeof val==`object`&&val.baseColor?[...legacy?val.baseColor:val.baseColor.slice(0,3),val.metallic,val.roughness,val.clearcoat,val.clearcoatRoughness].map(precision):val}static hslCssStr(arr){return`${Math.round(arr[0]*360)}, ${Math.round(arr[1]*100)}%, ${Math.round(arr[2]*100)}%`}static rgbToHsl(rgb){return RGBToHSL(...rgb)}static hslToRgb(hsl){return HSLToRGB(...hsl)}},CACHE_LIMIT=200,TILE_SIZE=64,MULTI_ANGLE=23,MAX_CONCURRENT_RENDERS=20,QUEUE_INTERVAL=10,reflectionImageUrl=`/ui/ui-vue/src/assets/images/paint-reflection.jpg`,reflectionImage=null,reflectionImageDone=!1,renderCancelledError=Error(`Render cancelled`),cacheCleanedError=Error(`Cache cleared`);function hashPaintData(paintData){return paintData?(paintData=Paint.anyToArray(paintData,!1),Array.isArray(paintData)?Array.isArray(paintData[0])?paintData.map(paint=>Array.isArray(paint)?paint.join(`,`):``).join(`|`):paintData.join(`,`):JSON.stringify(paintData)):``}var checkMultipaint=paintData=>Array.isArray(paintData)&&paintData.length>0&&paintData.some(item=>Array.isArray(item)&&item.length>=7);const usePaintPreviews=defineStore(`paint-previews`,()=>{let previews=ref(new Map),pendingRenders=ref(new Map),renderQueue=ref([]),activeRenders=ref(0),cacheListeners=new Set,pendingBlobCleanup=new Set,queueProcessor=null,blobCleanupTimeout=null;{let img=new Image;img.onload=()=>{reflectionImage=img,reflectionImageDone=!0},img.onerror=()=>{console.warn(`Failed to load metallic reflection image`),reflectionImageDone=!0},img.src=reflectionImageUrl}function startQueue(eager=!1){if(queueProcessor||renderQueue.value.length===0)return;let run$1=()=>{renderQueue.value.length===0?stopQueue():activeRenders.value0||activeRenders.value>0)return!1;for(let entry of previews.value.values())if(entry.blobGenerating)return!1;return!0}function blobCleanup(){blobCleanupTimeout&&clearTimeout(blobCleanupTimeout),blobCleanupTimeout=setTimeout(()=>{if(blobCleanupTimeout=null,isSystemIdle()&&pendingBlobCleanup.size>0){for(let blobUrl of pendingBlobCleanup)URL.revokeObjectURL(blobUrl);pendingBlobCleanup.clear()}},1e3)}async function processQueue({key,paintData,opts,resolve:resolve$1,reject,aborter}){activeRenders.value++;try{let checkAborted=()=>{if(aborter.signal.aborted)throw renderCancelledError};checkAborted();let width$1=opts.width||TILE_SIZE,height$1=opts.height||TILE_SIZE,areas=calculatePaintAreas(paintData,width$1,height$1),cvs=await renderPaint(paintData,width$1,height$1,opts.radialLight||!1,areas,aborter);checkAborted();let bmp=await createImageBitmap(cvs);if(previews.value.size>=CACHE_LIMIT){let oldestKey=previews.value.keys().next().value;cleanupCacheEntry(previews.value.get(oldestKey)),previews.value.delete(oldestKey)}checkAborted(),previews.value.set(key,{bitmap:bmp,paintData,paintHash:hashPaintData(paintData),areas}),resolve$1(bmp)}catch(err){err!==renderCancelledError&&reject(err)}finally{pendingRenders.value.has(key)&&pendingRenders.value.get(key).aborter===aborter&&pendingRenders.value.delete(key),activeRenders.value--}}function getCacheKey({paintId,vehicleName,paintName,width:width$1=TILE_SIZE,height:height$1=TILE_SIZE,radialLight=!1}){if(paintId)return`paint#${paintId}@${width$1}x${height$1}${radialLight?`R`:`L`}`;if(vehicleName&&paintName)return`vehicle:${vehicleName}:${paintName}@${width$1}x${height$1}${radialLight?`R`:`L`}`;throw Error(`Either paintId or vehicleName+paintName must be provided`)}function isCached(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?!paintData||data.paintHash===hashPaintData(paintData):!1}catch{return!1}}function getCachedPreview(opts,paintData){try{let key=getCacheKey(opts),data=previews.value.get(key);return data?data.paintHash===hashPaintData(paintData)?data.bitmap:(cleanupCacheEntry(data),previews.value.delete(key),null):null}catch{return null}}async function generatePreview(paintData,opts){let key=getCacheKey(opts),paintHash=hashPaintData(paintData);if(pendingRenders.value.has(key)){let existing=pendingRenders.value.get(key);if(existing.paintHash===paintHash)return new Promise((resolve$1,reject)=>existing.others.push({resolve:resolve$1,reject}));{existing.aborter.abort(),renderQueue.value=renderQueue.value.filter(item=>!(item.key===key&&item.aborter===existing.aborter));let aborter$1=new AbortController,others$1=[...existing.others];return pendingRenders.value.set(key,{paintHash,others:others$1,aborter:aborter$1}),new Promise((resolve$1,reject)=>{others$1.push({resolve:resolve$1,reject}),renderQueue.value.unshift({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>others$1.forEach(p$1=>p$1.resolve(result)),reject:error=>others$1.forEach(p$1=>p$1.reject(error)),aborter:aborter$1}),startQueue(!0)})}}let aborter=new AbortController,others=[];return pendingRenders.value.set(key,{paintHash,others,aborter}),new Promise((resolve$1,reject)=>{others.push({resolve:resolve$1,reject}),renderQueue.value.push({key,paintData:Paint.anyToArray(paintData),opts,resolve:result=>{others.forEach(p$1=>p$1.resolve(result))},reject:error=>{others.forEach(p$1=>p$1.reject(error))},aborter}),startQueue()})}function cleanupCacheEntry(data){data&&(data.bitmap?.close?.(),data.blobUrl&&pendingBlobCleanup.add(data.blobUrl))}function onCacheClear(callback){return cacheListeners.add(callback),()=>cacheListeners.delete(callback)}function notifyCacheCleared(type=`all`,key=null){cacheListeners.forEach(callback=>{try{callback(type,key)}catch(error){console.warn(`Cache clear listener error:`,error)}})}function clearCache(opts=void 0){if(opts)try{let key=getCacheKey(opts);if(cleanupCacheEntry(previews.value.get(key)),previews.value.delete(key),pendingRenders.value.has(key)){let req=pendingRenders.value.get(key);req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError)),pendingRenders.value.delete(key)}notifyCacheCleared(`single`,key)}catch{}else stopQueue(),pendingRenders.value.forEach(req=>{req.aborter.abort(),req.others.forEach(p$1=>p$1.reject(cacheCleanedError))}),pendingRenders.value.clear(),previews.value.forEach(cleanupCacheEntry),previews.value.clear(),renderQueue.value.splice(0),activeRenders.value=0,notifyCacheCleared(`all`),startQueue();blobCleanup()}async function getPreview(paintData,opts){return getCachedPreview(opts,paintData)||await generatePreview(paintData,opts)}async function getBlobPreview(paintData,opts){let paintHash=hashPaintData(paintData),key=getCacheKey(opts),bmp=await getPreview(paintData,opts),data=previews.value.get(key);if(!data)return null;if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;for(;data.blobGenerating;)await sleep(10);if(data.blobUrl&&data.paintHash===paintHash)return data.blobUrl;data.blobGenerating=!0;let canvas=new OffscreenCanvas(opts.width||TILE_SIZE,opts.height||TILE_SIZE);canvas.getContext(`2d`).drawImage(bmp,0,0);let blobUrl=URL.createObjectURL(await canvas.convertToBlob()),oldBlobUrl=data.blobUrl;return data.blobUrl=blobUrl,delete data.blobGenerating,oldBlobUrl&&pendingBlobCleanup.add(oldBlobUrl),previews.value.has(key)?(blobCleanup(),blobUrl):(pendingBlobCleanup.add(blobUrl),blobCleanup(),null)}function getAreas(opts){let data=previews.value.get(getCacheKey(opts));return data?data.areas:[]}return{cache:previews.value,cacheSize:computed(()=>previews.value.size),isRenderingAny:computed(()=>activeRenders.value>0||renderQueue.value.length>0),queueLength:computed(()=>renderQueue.value.length),activeRenders,isCached,clearCache,onCacheClear,getCacheKey,getPreview,getBlobPreview,getAreas,checkMultipaint,toArray:Paint.anyToArray}});async function renderPaint(paintData,width$1=TILE_SIZE,height$1=TILE_SIZE,radialLight=!1,areas=null,aborter=null){if(paintData=Paint.anyToArray(paintData),!paintData)return renderEmpty(width$1,height$1,aborter);if(checkMultipaint(paintData)){let clipData=areas||calculatePaintAreas(paintData,width$1,height$1);return renderMultipaint(paintData,width$1,height$1,clipData,radialLight,aborter)}else return paintData=Array.isArray(paintData[0])?paintData[0]:paintData,renderSinglePaint(paintData,width$1,height$1,radialLight,aborter)}function createPaint(paintData){let paint={_isEmpty:!0};if(!paintData)return paint;try{paint=new Paint({paint:paintData})}catch{}return paint}function applyAntialiasing(ctx){ctx.imageSmoothingEnabled=!0,ctx.imageSmoothingQuality=`high`,ctx.antialias=!0}function calculatePaintAreas(paintData,width$1,height$1){if(!paintData||!checkMultipaint(paintData))return[[0,0,width$1,height$1]];let paintCount=paintData.length,angle=Math.tan(MULTI_ANGLE*Math.PI/180),stripeWidth=(width$1+height$1*angle)/paintCount,overlap=.5,areas=[];for(let i=0;i0?overlap:0),topRight=startX+stripeWidth+(icoords.map((coord,i)=>coord*(i%2==0?scaleX:scaleY)));for(let i=0;igrad.addColorStop(...args))}else grad=ctx.createLinearGradient(0,0,0,height$1*.65),gradStops.forEach(args=>grad.addColorStop(...args));ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),ctx.restore()}async function renderPaintLayers(ctx,paint,width$1,height$1,radialLight=!1,aborter=null){if(applyAntialiasing(ctx),ctx.fillStyle=`rgb(${(paint.rgb255||[255,255,255]).join(`, `)})`,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let grad=ctx.createLinearGradient(0,0,0,height$1);if(grad.addColorStop(0,`rgba(0, 0, 0, 0)`),grad.addColorStop(.65,`rgba(0, 0, 0, 0)`),grad.addColorStop(.8,`rgba(0, 0, 0, 0.15)`),grad.addColorStop(1,`rgba(0, 0, 0, 0.55)`),ctx.fillStyle=grad,ctx.fillRect(0,0,width$1,height$1),aborter?.signal.aborted)return;let metallic=Math.max(0,paint.metallic-paint.roughness/.5);if(metallic>.01){for(;!reflectionImageDone;){if(aborter?.signal.aborted)return;await sleep(10)}if(aborter?.signal.aborted)return;if(ctx.globalCompositeOperation=`multiply`,ctx.globalAlpha=metallic,reflectionImage){let scale=1,imageAspect=reflectionImage.width/reflectionImage.height,canvasAspect=width$1/height$1,drawWidth,drawHeight,offsetX=0,offsetY=0;imageAspect>canvasAspect?(drawHeight=height$1*1,drawWidth=height$1*imageAspect*1):(drawHeight=width$1/imageAspect*1,drawWidth=width$1*1),ctx.drawImage(reflectionImage,0,0,drawWidth,drawHeight)}else{ctx.strokeStyle=`rgba(255, 255, 255, 0.5)`,ctx.lineWidth=1;for(let x=-height$1;x({v889f200a:tileWidth.value,bee2d4dc:tileHeight.value}));let popover=usePopover(),props=__props,emit$1=__emit,mapId=uniqueId(`paint-tile-map`),menuId=uniqueId(`paint-tile-menu`),popMenu=ref(null),elCont=ref(null),elCanvas=ref(null),isLoading=ref(!1),isEmpty=ref(!1),hasRenderedOnce=ref(!1),paintPreviews=usePaintPreviews(),width$1=computed(()=>props.size||props.width),height$1=computed(()=>props.size||props.height),tileWidth=computed(()=>`${width$1.value}px`),tileHeight=computed(()=>`${height$1.value}px`),paints=computed(()=>props.paint?paintPreviews.toArray(props.paint):[]),isMultipaint=computed(()=>paintPreviews.checkMultipaint(paints.value)),paintNames=computed(()=>{let len=props.paint?.length||0;if(len===0)return[];let res=Array.from({length:len}).map((_,idx)=>({tooltip:[`ui.color.paint.unnamed`,{index:idx+1}],menu:[`ui.color.paint.selectOne`,{index:idx+1}],menuAdd:null}));if(props.paintNames?.length>0)for(let i=0;ihoveredPaintIndex.value=idx,tooltip=computed(()=>{let res={name:props.tooltip||props.paintName};return hoveredPaintIndex.value>-1&&paintNames.value[hoveredPaintIndex.value]&&(res.subname=paintNames.value[hoveredPaintIndex.value].tooltip),res}),customMenu=computed(()=>!props.customMenu||props.customMenu.length===0?null:props.customMenu.reduce((res,item,idx)=>item?[...res,{label:item.label||item,click:evt=>{popMenu.value?.hide?.(),nextTick(()=>{item.action?item.action(props.paint,evt):emit$1(`menu-click`,item.value||idx,props.paint,evt)})}}]:res,[])),withMenu=computed(()=>props.withMenu&&(paintAreas.value.length>1||customMenu.value)),opts=computed(()=>({paintId:props.paintId,vehicleName:props.vehicleName,paintName:props.paintName,width:width$1.value,height:height$1.value,radialLight:props.radialLight})),cacheKey=computed(()=>{try{return paintPreviews.getCacheKey(opts.value)}catch{return null}}),paintAreas=computed(()=>{if(!props.paint||isEmpty.value)return[];try{return paintPreviews.getAreas(opts.value)}catch{return[]}}),onContClick=evt=>onClick(-1,evt),onContRMB=()=>withMenu.value&&openMenu();function onClick(idx,evt){popMenu.value?.hide?.(),!props.disabled&&emit$1(`click`,idx,props.paint,evt)}function openMenu(){!elCont.value||!popMenu.value||(popover.hideAll(`paint-tile-menu`),!props.disabled&&popMenu.value.show(elCont.value))}async function renderPreview(){if(!cacheKey.value||!props.paint){isEmpty.value=!0,hasRenderedOnce.value=!1;return}isLoading.value=!0,isEmpty.value=!1;try{let bmp=await paintPreviews.getPreview(paints.value,opts.value);if(elCanvas.value&&bmp){let ctx=elCanvas.value.getContext(`2d`);ctx.clearRect(0,0,width$1.value,height$1.value),ctx.drawImage(bmp,0,0,width$1.value,height$1.value),hasRenderedOnce.value=!0}}catch(error){console.error(`Failed to render preview`,error),isEmpty.value=!0,hasRenderedOnce.value=!1}finally{isLoading.value=!1}}function checkEmpty(){if(!props.paint)return isEmpty.value=!0,hasRenderedOnce.value=!1,!0;if(isMultipaint.value){let allEmpty=paints.value.every(paintArray=>!paintArray||paintArray.length===0);return isEmpty.value=allEmpty,allEmpty&&(hasRenderedOnce.value=!1),allEmpty}return Array.isArray(paints.value)&&paints.value.length===0?(isEmpty.value=!0,hasRenderedOnce.value=!1,!0):(isEmpty.value=!1,!1)}watch(()=>[paints.value,props.paintId,props.vehicleName,props.paintName,width$1.value,height$1.value,props.radialLight],()=>{checkEmpty()?isLoading.value=!1:renderPreview()},{immediate:!0,deep:!0}),watch(()=>props.withAreas,val=>{val||(hoveredPaintIndex.value=-1)});let unsubscribeFromCacheClear=null,outEvents=[`click`,`contextmenu`,`uinav-focus`],listeningOutEvents=!1;function outOfMenu(evt){if(!popMenu.value||!popMenu.value.isShown())return;let el=popMenu.value.getElement();el&&el.contains(evt.detail?.target||evt.target)||nextTick(()=>popMenu.value.hide?.())}return watch(()=>popover.popovers[menuId]?.show,val=>{val?listeningOutEvents||(listeningOutEvents=!0,outEvents.forEach(evt=>document.addEventListener(evt,outOfMenu))):listeningOutEvents&&(listeningOutEvents=!1,outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu)))}),onMounted(()=>{!checkEmpty()&&renderPreview(),unsubscribeFromCacheClear=paintPreviews.onCacheClear((type,key)=>{(type===`all`||type===`single`&&key===cacheKey.value)&&!checkEmpty()&&hasRenderedOnce.value&&renderPreview()})}),onUnmounted(()=>{unsubscribeFromCacheClear?.(),listeningOutEvents&&outEvents.forEach(evt=>document.removeEventListener(evt,outOfMenu))}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elCont`,ref:elCont,class:normalizeClass([`bng-paint-tile`,{loading:isLoading.value&&!hasRenderedOnce.value,empty:isEmpty.value}]),tabindex:`0`,"bng-nav-item":``,onClick:withModifiers(onContClick,[`stop`]),onContextmenu:withModifiers(onContRMB,[`stop`])},[createBaseVNode(`canvas`,{ref_key:`elCanvas`,ref:elCanvas,width:width$1.value,height:height$1.value},null,8,_hoisted_1$311),__props.withAreas&&paintAreas.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode(`img`,{usemap:`#${unref(mapId)}`,src:unref(emptyImage),alt:``},null,8,_hoisted_2$254),createBaseVNode(`map`,{name:unref(mapId)},[(openBlock(!0),createElementBlock(Fragment,null,renderList(paintAreas.value,(area,index)=>(openBlock(),createElementBlock(`area`,{key:index,shape:`poly`,coords:area.join(`,`),onMouseover:$event=>onMouseOver(index),onMouseleave:_cache[0]||=$event=>onMouseOver(-1),onClick:withModifiers($event=>onClick(index,$event),[`stop`])},null,40,_hoisted_4$190))),128))],8,_hoisted_3$222)],64)):createCommentVNode(``,!0),isEmpty.value||isLoading.value&&!hasRenderedOnce.value?(openBlock(),createElementBlock(`div`,_hoisted_5$162)):createCommentVNode(``,!0),withMenu.value?(openBlock(),createBlock(unref(bngPopoverMenu_default),{key:2,ref_key:`popMenu`,ref:popMenu,name:unref(menuId),focus:``},{default:withCtx(()=>[paintNames.value.length>1?(openBlock(),createElementBlock(Fragment,{key:0},[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).menu,onClick:_cache[1]||=$event=>onClick(-1,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.selectAll`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),(openBlock(!0),createElementBlock(Fragment,null,renderList(paintNames.value,(paint,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>onClick(index,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(...paintNames.value[index].menu))+toDisplayString(paintNames.value[index].menuAdd?`: `+paintNames.value[index].menuAdd:``),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128))],64)):withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:1,accent:unref(ACCENTS).menu,onClick:_cache[2]||=$event=>onClick(0,$event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(`ui.color.paint.select`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]]),customMenu.value?.length>0?(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(customMenu.value,(item,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:index,accent:unref(ACCENTS).menu,onClick:$event=>item.click($event)},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$tt(item.label)),1)]),_:2},1032,[`accent`,`onClick`])),[[unref(BngOnUiNav_default),void 0,`ok`,{focusRequired:!0,asMouse:!0}]])),128)):createCommentVNode(``,!0)]),_:1},8,[`name`])):createCommentVNode(``,!0)],34)),[[unref(BngTooltip_default),_ctx.$tt(tooltip.value.name)+(tooltip.value.subname?` - `+_ctx.$tt(...tooltip.value.subname):``),__props.tooltipPosition],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}]])}},bngPaintTile_default=__plugin_vue_export_helper_default(_sfc_main$356,[[`__scopeId`,`data-v-25bf2552`]]),_hoisted_1$310=[`tabindex`],_sfc_main$355={__name:`bngPill`,props:{marked:{type:Boolean,default:!1}},setup(__props){let props=__props,attrs=useAttrs(),hasClickEvent=computed(()=>attrs&&attrs.onClick),isMarked=ref(props.marked);return watch(()=>props.marked,newValue=>isMarked.value=newValue),(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{"bng-nav-item":``,class:normalizeClass([`bng-pill`,{"pill-marked":isMarked.value,"pill-clickable":hasClickEvent.value}]),tabindex:hasClickEvent.value?0:-1},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],10,_hoisted_1$310))}},bngPill_default=__plugin_vue_export_helper_default(_sfc_main$355,[[`__scopeId`,`data-v-2d28d1ed`]]),_sfc_main$354={__name:`bngPillCheckbox`,props:{modelValue:{type:Boolean,default:null},markedIcon:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`valueChanged`,`change`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,defaultValue=ref(!1),isChecked=computed({get:()=>props.modelValue!==void 0&&props.modelValue!==null?props.modelValue:defaultValue.value,set:newValue=>{props.modelValue!==void 0&&props.modelValue!==null?notifyListeners(newValue):(defaultValue.value=newValue,emit$1(`valueChanged`,newValue),emit$1(`change`,newValue))}}),onChecked=()=>isChecked.value=!isChecked.value;function notifyListeners(value){emit$1(`update:modelValue`,value),emit$1(`change`,value),emit$1(`valueChanged`,value)}return(_ctx,_cache)=>(openBlock(),createElementBlock(`span`,{class:normalizeClass([`bng-pill-checkbox`,{"show-icon":isChecked.value&&props.markedIcon}])},[createVNode(unref(bngPill_default),{marked:isChecked.value,onClick:onChecked,onKeyup:withKeys(onChecked,[`space`])},{default:withCtx(()=>[createBaseVNode(`span`,{class:normalizeClass({"pill-content":!0,"uses-mark":__props.markedIcon})},[renderSlot(_ctx.$slots,`default`,{},void 0,!0)],2),createVNode(unref(bngIcon_default),{class:`pill-mark-icon`,type:props.markedIcon===!0?unref(icons).checkmark:props.markedIcon||unref(icons).checkmark},null,8,[`type`])]),_:3},8,[`marked`])],2))}},bngPillCheckbox_default=__plugin_vue_export_helper_default(_sfc_main$354,[[`__scopeId`,`data-v-04487830`]]),_hoisted_1$309={class:`bng-pill-filters`,tabindex:`0`},_sfc_main$353={__name:`bngPillFilters`,props:{modelValue:Array,options:{type:Array,required:!0},selectOnFocus:Boolean,selectMany:Boolean,showCheckIcon:{type:Boolean,default:!0},required:Boolean},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit;__expose({focusPrevious,focusNext,toggleFocusedPill,focusIndex});let scrollable=ref(null),pills=ref([]),currentPillIndex=ref(-1),defaultSelected=ref([]),selectedValues=computed({get:()=>props.modelValue?props.modelValue:defaultSelected.value,set:newValue=>{props.modelValue?(emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue)):(defaultSelected.value=newValue,emit$1(`valueChanged`,newValue))}}),pillConfigs=computed(()=>toRaw(props.options).map(x=>({...x,selected:selectedValues.value&&selectedValues.value.length>0&&selectedValues.value.includes(x.value)})));function focusPrevious(){currentPillIndex.value=currentPillIndex.value>0?currentPillIndex.value-1:0,pills.value[currentPillIndex.value].querySelector(`.bng-pill`).focus(),console.log(`currentPillIndex.value`,currentPillIndex.value)}function focusNext(){currentPillIndex.value{scrollable.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),scrollable.value.scrollLeft+=evt.deltaY}),currentPillIndex.value=selectedValues.value.length>0?pillConfigs.value.findIndex(x=>x.value===selectedValues.value[0]):-1,currentPillIndex.value>-1&&focusPill(currentPillIndex.value)});let onPillValueChanged=(key,value)=>{props.selectOnFocus||(console.log(`onPillValueChanged`,key,value),setPillValue(key,value))},onPillFocusIn=(key,index)=>{focusPill(index),props.selectOnFocus&&setPillValue(key,!(selectedValues.value.length>0&&selectedValues.value.includes(key)))};function setPillValue(key,checked){if(currentPillIndex.value=pillConfigs.value.findIndex(x=>x.value===key),props.required&&!checked&&selectedValues.value.includes(key)&&selectedValues.value.length==1){selectedValues.value=[key];return}if(!props.selectMany){selectedValues.value=checked?[key]:[];return}let isExisting=selectedValues.value.includes(key);checked&&!isExisting?selectedValues.value=[...selectedValues.value,key]:!checked&&isExisting&&(selectedValues.value=selectedValues.value.filter(x=>x!==key))}function focusPill(index){let pillEl=pills.value[index],scrollableRect=scrollable.value.getBoundingClientRect(),pillRect=pillEl.getBoundingClientRect();pillRect.left>=scrollableRect.left&&pillRect.right<=scrollableRect.right||window.requestAnimationFrame(()=>{scrollable.value.scrollBy({left:pillEl.getBoundingClientRect().right})})}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$309,[createBaseVNode(`div`,{class:`pills-wrapper`,ref_key:`scrollable`,ref:scrollable},[(openBlock(!0),createElementBlock(Fragment,null,renderList(pillConfigs.value,(pill,index)=>(openBlock(),createElementBlock(`div`,{key:pill.value,ref_for:!0,ref_key:`pills`,ref:pills,class:`pill-wrapper`},[createVNode(unref(bngPillCheckbox_default),{markedIcon:__props.showCheckIcon,modelValue:pill.selected,"onUpdate:modelValue":$event=>pill.selected=$event,onValueChanged:value=>onPillValueChanged(pill.value,value),onFocusin:$event=>onPillFocusIn(pill.value,index)},{default:withCtx(()=>[createTextVNode(toDisplayString(pill.label),1)]),_:2},1032,[`markedIcon`,`modelValue`,`onUpdate:modelValue`,`onValueChanged`,`onFocusin`])]))),128))],512)]))}},bngPillFilters_default=__plugin_vue_export_helper_default(_sfc_main$353,[[`__scopeId`,`data-v-580a9eac`]]),_sfc_main$352={__name:`bngPillFiltersContainer`,props:{options:{type:Array,required:!0},selectOnNavigation:{type:Boolean,default:!0},required:Boolean,selectMany:Boolean,hasCheckedIcon:{default:!0,type:Boolean}},emits:[`update:modelValue`,`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let emit$1=__emit,props=__props,selectedItems=ref([]),bngFiltersContainer=ref(null),filtersContainer=ref(null),bngPillFiltersRef=ref(null);__expose({selectPrevious:()=>bngPillFiltersRef.value.selectPrevious(),selectNext:()=>bngPillFiltersRef.value.selectNext(),selectCurrent:()=>bngPillFiltersRef.value.selectCurrent(),focusAndScrollToSelected:focusSelected});let selectedItemId=``;onMounted(()=>{filtersContainer.value.addEventListener(`wheel`,evt=>{evt.preventDefault(),filtersContainer.value.scrollLeft+=evt.deltaY})});function focusSelected(){props.selectMany||!props.selectOnNavigation||scrollToElement(selectedItemId)}function onContainerFocusOut($event){!($event.relatedTarget&&bngFiltersContainer.value.contains($event.relatedTarget))&&!props.selectMany&&selectedItemId&&scrollToElement(selectedItemId)}function onValueChanged(items$2,id){selectedItems.value=items$2,selectedItemId=id,emit$1(`valueChanged`,items$2,id)}function onPillItemFocusIn(id){scrollToElement(id)}function scrollToElement(id){let scrollableContainer=filtersContainer.value,el=scrollableContainer.querySelector(`#${id}`);if(el){let scrollableContainerRect=scrollableContainer.getBoundingClientRect(),itemRect=el.getBoundingClientRect();if(itemRect.left>=scrollableContainerRect.left&&itemRect.right<=scrollableContainerRect.right)return;window.requestAnimationFrame(()=>{let scrollValue=itemRect.left(openBlock(),createElementBlock(`div`,{class:`bng-filters-container`,ref_key:`bngFiltersContainer`,ref:bngFiltersContainer,tabindex:`0`,onFocusout:onContainerFocusOut},[_cache[0]||=createBaseVNode(`div`,{class:`fade-effect left-fade-effect`},null,-1),_cache[1]||=createBaseVNode(`div`,{class:`fade-effect right-fade-effect`},null,-1),createBaseVNode(`div`,{class:`scroll-container`,ref_key:`filtersContainer`,ref:filtersContainer},[createVNode(unref(bngPillFilters_default),{ref_key:`bngPillFiltersRef`,ref:bngPillFiltersRef,options:__props.options,"select-on-navigation":__props.selectOnNavigation,required:__props.required,"select-many":__props.selectMany,"show-checked-icon":__props.hasCheckedIcon,onValueChanged,onPillItemFocusIn},null,8,[`options`,`select-on-navigation`,`required`,`select-many`,`show-checked-icon`])],512)],544))}},bngPillFiltersContainer_default=__plugin_vue_export_helper_default(_sfc_main$352,[[`__scopeId`,`data-v-498af92b`]]),_hoisted_1$308=[`data-bng-popover-name`],containerSelector=`.popover-container`,_sfc_main$351={__name:`bngPopoverContent`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,placement:String,disabled:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,popover=usePopover(),popoverName,popoverContent=ref(null),arrow$3=ref(null),show=ref(!1),unwatchShow,unwatchPlacement,teleportTargetExists=ref(!1),observer$2=null,scopeActivated=ref(!1),isRender=computed(()=>!props.disabled&&teleportTargetExists.value&&show.value),hide$2=()=>!props.disabled&&popover.hide(popoverName),expose={hide:hide$2,show:(el=void 0)=>!props.disabled&&popover.show(popoverName,el),toggle:(forceVal=void 0)=>popover.toggle(popoverName,!props.disabled&&forceVal),isShown:()=>popover.isShown(popoverName)};__expose(expose),watch(()=>show.value,value=>emit$1(value?`show`:`hide`,{name:props.name,...expose})),watch(()=>props.name,(newName,oldName)=>{oldName&&disposePopover(oldName),props.disabled||setupPopover()},{immediate:!0}),watch(()=>props.disabled,value=>{value?(popover.hide(popoverName),disposePopover(popoverName)):setupPopover()}),watch(isRender,async value=>{value&&(await nextTick(),checkSlotContent())});let onMenu=()=>{scopeActivated.value=!1};onBeforeUnmount(()=>{disposePopover(popoverName),observer$2&&=(observer$2.disconnect(),null)}),onMounted(async()=>{teleportTargetExists.value=!!document.querySelector(containerSelector),teleportTargetExists.value||(observer$2=new MutationObserver(()=>{!teleportTargetExists.value&&document.querySelector(containerSelector)&&(teleportTargetExists.value=!0,observer$2.disconnect(),observer$2=null)}),observer$2.observe(document.body,{childList:!0,subtree:!0})),isRender.value&&(await nextTick(),checkSlotContent())});function onScopeChanged(activated,event){scopeActivated.value=activated,!activated&&!event.detail.force&&popover.hide(popoverName)}function checkSlotContent(){let navigableElements=popoverContent.value.querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR);navigableElements&&navigableElements.length>0&&!scopeActivated.value&&(scopeActivated.value=!0)}function setupPopover(){popoverName=props.name||uniqueId(`bng-popover-content`);let res=popover.register(popoverName,popoverContent,props.placement,{arrow:props.hideArrow?void 0:arrow$3,offset:props.offset});res&&(unwatchShow=watch(res.show,value=>show.value=value),unwatchPlacement=watch(res.placement,placement=>emit$1(`placementChanged`,placement)))}function disposePopover(name){unwatchShow&&=(unwatchShow(),null),unwatchPlacement&&=(unwatchPlacement(),null),popover.unregister(name),show.value=!1,popoverName=null}return(_ctx,_cache)=>isRender.value?(openBlock(),createBlock(Teleport,{key:0,to:`.popover-container`},[withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`popoverContent`,ref:popoverContent,"data-bng-popover-name":unref(popoverName),class:`bng-popover`,onActivate:_cache[0]||=$event=>onScopeChanged(!0,$event),onDeactivate:_cache[1]||=$event=>onScopeChanged(!1,$event)},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0),__props.hideArrow?createCommentVNode(``,!0):(openBlock(),createElementBlock(`span`,{key:0,ref_key:`arrow`,ref:arrow$3,class:`bng-popover-arrow`},null,512))],40,_hoisted_1$308)),[[unref(BngScopedNav_default),{activated:scopeActivated.value,type:unref(SCOPED_NAV_TYPES).popover}],[unref(BngOnUiNav_default),onMenu,`menu`]])])):createCommentVNode(``,!0)}},bngPopoverContent_default=__plugin_vue_export_helper_default(_sfc_main$351,[[`__scopeId`,`data-v-4938e558`]]),_sfc_main$350=Object.assign({inheritAttrs:!1},{__name:`bngPopoverMenu`,props:{name:String,offset:{type:Number,default:4},hideArrow:Boolean,disabled:Boolean,focus:Boolean},emits:[`show`,`hide`,`placementChanged`],setup(__props,{expose:__expose,emit:__emit}){let popover=usePopover(),props=__props,emit$1=__emit,relay={show:(...args)=>emit$1(`show`,...args),hide:(...args)=>emit$1(`hide`,...args),placementChanged:(...args)=>emit$1(`placementChanged`,...args)},popoverContent=ref(null),popoverMenu=ref(null),hide$2=(...args)=>popoverContent.value.hide(...args);return __expose({hide:hide$2,show:(...args)=>popoverContent.value.show(...args),toggle:(...args)=>popoverContent.value.toggle(...args),isShown:(...args)=>popoverContent.value.isShown(...args),getElement:()=>popoverMenu.value}),watchEffect(()=>{if(props.name in popover.popovers){let pop=popover.popovers[props.name];!pop.show&&nextTick(()=>{pop.target&&document.activeElement===document.body&&setFocusExternal(pop.target,!0,!1)})}}),(_ctx,_cache)=>(openBlock(),createBlock(unref(bngPopoverContent_default),{ref_key:`popoverContent`,ref:popoverContent,name:__props.name,offset:__props.offset,"hide-arrow":__props.hideArrow,disabled:__props.disabled,onPlacementChanged:relay.placementChanged,onHide:hide$2},{default:withCtx(()=>[createBaseVNode(`div`,{ref_key:`popoverMenu`,ref:popoverMenu,class:`bng-popover-menu`},[renderSlot(_ctx.$slots,`default`,{hide:hide$2},void 0,!0)],512)]),_:3},8,[`name`,`offset`,`hide-arrow`,`disabled`,`onPlacementChanged`]))}}),bngPopoverMenu_default=__plugin_vue_export_helper_default(_sfc_main$350,[[`__scopeId`,`data-v-fe39553c`]]),_hoisted_1$307={class:`bng-progress-bar`},_hoisted_2$253={key:0,class:`header`},_hoisted_3$221={class:`header-left`},_hoisted_4$189={class:`header-right`},_hoisted_5$161={class:`progress-bar`},_hoisted_6$139=[`innerHTML`],_hoisted_7$121={key:1,class:`progress-fill-indeterminate`},_sfc_main$349={__name:`bngProgressBar`,props:{value:{type:Number,default:0},oldValue:{type:Number,default:0},min:{type:Number,default:0},max:{type:Number,required:!0},headerLeft:String,headerRight:String,showValueLabel:{type:Boolean,default:!0},valueLabelFormat:{type:[String,Function],default:`#value#`},valueColor:{type:String,default:`#ff6600`},oldValueColor:{type:String,default:`#ffffff`},indeterminate:Boolean,animateDifference:Boolean,gradient:Boolean},setup(__props,{expose:__expose}){useCssVars(_ctx=>({v5113e7b0:__props.valueColor,v14406f01:progressFillUnits.value,v6b373656:oldProgressFillUnits.value}));let props=__props;__expose({decreaseValueBy,increaseValueBy,setValue:value=>updateCurrentValue(value)});let currentValue=ref(null),valueHTML=computed(()=>{let res;return res=typeof props.valueLabelFormat==`function`?props.valueLabelFormat(props.value,{min:props.min,max:props.max}):props.valueLabelFormat.replace(/ +/g,` `).replace(`#value#`,`${currentValue.value}${props.max}`),res}),progressFillUnits=computed(()=>1-(currentValue.value-props.min)/(props.max-props.min)),oldProgressFillUnits=computed(()=>1-(props.oldValue-props.min)/(props.max-props.min));watch(()=>props.value,updateCurrentValue),onMounted(()=>{updateCurrentValue(props.min>props.value?props.min:props.value)});function decreaseValueBy(value){let newValue=currentValue.value-value;newValueprops.max&&(newValue=props.max),updateCurrentValue(newValue)}function updateCurrentValue(newValue){currentValue.value=newValue}return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$307,[__props.headerLeft||__props.headerRight?(openBlock(),createElementBlock(`div`,_hoisted_2$253,[createBaseVNode(`span`,_hoisted_3$221,toDisplayString(__props.headerLeft),1),createBaseVNode(`span`,_hoisted_4$189,toDisplayString(__props.headerRight),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$161,[__props.showValueLabel?(openBlock(),createElementBlock(`div`,{key:0,class:`info`,innerHTML:valueHTML.value},null,8,_hoisted_6$139)):createCommentVNode(``,!0),__props.indeterminate?(openBlock(),createElementBlock(`span`,_hoisted_7$121)):(openBlock(),createElementBlock(`span`,{key:2,class:normalizeClass({"progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value>__props.oldValue}),style:normalizeStyle({backgroundColor:__props.valueColor,zIndex:__props.value<__props.oldValue?2:1})},null,6)),__props.oldValue?(openBlock(),createElementBlock(`span`,{key:3,class:normalizeClass({"second-progress-fill":!0,"progress-fill-gradient":__props.gradient,"animate-progress":__props.animateDifference&&__props.value<__props.oldValue}),style:normalizeStyle({backgroundColor:__props.oldValueColor,zIndex:__props.value<__props.oldValue?1:2})},null,6)):createCommentVNode(``,!0)])]))}},bngProgressBar_default=__plugin_vue_export_helper_default(_sfc_main$349,[[`__scopeId`,`data-v-1ca6aacd`]]);function shrinkNum(num,decimals=0){let units=[``,`K`,`M`,`B`,`T`,`Q`];if(!num)return`0`;if(isNaN(parseFloat(num))||!isFinite(+num))return`n/a`;let power$1=Math.floor(Math.log(Math.abs(+num))/Math.log(1e3));return power$1>=units.length&&(power$1=units.length-1),(num/1e3**power$1).toFixed(decimals).replace(/\.0+$/,``)+units[power$1]}var _hoisted_1$306={key:1,class:`key-label`},_hoisted_2$252={class:`value-label`},_sfc_main$348={__name:`bngPropVal`,props:{iconType:[String,Object],keyLabel:String,valueLabel:{required:!0},shrinkNum:Boolean,iconColor:{type:String,default:`#fff`},noGap:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1}},setup(__props){let props=__props,itemClass=computed(()=>({"info-item":!0,"with-icon":props.iconType,"no-key":!props.keyLabel,"no-gap":props.noGap})),value=computed(()=>{let i=props.valueLabel;return props.shrinkNum?shrinkNum(i,0):i});return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass(itemClass.value)},[__props.iconType&&!__props.noIcon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,class:`icon`,type:__props.iconType,color:__props.iconColor},null,8,[`type`,`color`])):createCommentVNode(``,!0),__props.keyLabel?(openBlock(),createElementBlock(`span`,_hoisted_1$306,toDisplayString(__props.keyLabel),1)):createCommentVNode(``,!0),createBaseVNode(`span`,_hoisted_2$252,toDisplayString(value.value),1)],2))}},bngPropVal_default=__plugin_vue_export_helper_default(_sfc_main$348,[[`__scopeId`,`data-v-fa2e2062`]]),_hoisted_1$305={class:`header`},_sfc_main$347={__name:`bngScreenHeading`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`line`,validator:v=>[`line`,`ribbon`].includes(v)||v===``}},setup(__props){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[preheadings.value?withDirectives((openBlock(),createElementBlock(`span`,{key:0,class:normalizeClass([`pre-header`,{"with-divider":__props.divider}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(preheadings.value,preheading=>(openBlock(),createElementBlock(`span`,{class:`location`,key:preheading},toDisplayString(preheading),1))),128))],2)),[[unref(BngBlur_default),blurVal.value]]):createCommentVNode(``,!0),withDirectives((openBlock(),createElementBlock(`h1`,_hoisted_1$305,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeading_default=__plugin_vue_export_helper_default(_sfc_main$347,[[`__scopeId`,`data-v-f6d9f077`]]),_hoisted_1$304={class:`header`},_hoisted_2$251={key:0,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 32 40`,preserveAspectRatio:`none`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_3$220={key:1,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_hoisted_4$188={key:2,class:`decorator-item`,width:`100%`,height:`100%`,viewBox:`0 0 36 40`,preserveAspectRatio:`xMaxYMid slice`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},_sfc_main$346={__name:`bngScreenHeadingV2`,props:{blurDelay:Number,preheadings:Array,divider:Boolean,type:{type:String,default:`1`,validator:v=>[`1`,`2`,`3`].includes(v)||v===``},hintVisible:Boolean,hintLabel:String,hintIcon:String,hintAccent:String,hintBindingEvent:String},emits:[`hint`],setup(__props,{emit:__emit}){let blurVal=ref(!1);onMounted(()=>window.setTimeout(()=>blurVal.value=!0,~~+props.blurDelay));let props=__props,preheadings=computed(()=>Array.isArray(props.preheadings)&&props.preheadings.length>0?props.preheadings:null);return computed(()=>props.hintVisible??!1),computed(()=>props.hintLabel??``),computed(()=>props.hintIcon??icons.arrowLargeLeft),computed(()=>props.hintAccent??ACCENTS.outlined),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,{class:normalizeClass([`bng-screen-heading`,{[`heading-style-${__props.type}`]:!0,prehead:preheadings.value}])},[renderSlot(_ctx.$slots,`preheadings`,{},void 0,!0),withDirectives((openBlock(),createElementBlock(`span`,_hoisted_1$304,[createBaseVNode(`div`,{class:normalizeClass(`decorator type${__props.type}`)},[__props.type===`1`?(openBlock(),createElementBlock(`svg`,_hoisted_2$251,[..._cache[0]||=[createBaseVNode(`path`,{d:`M16.6328 40H1.62891L14.0039 6H14.002L11.8174 0H26.8174L29.001 6H29.0078L16.6328 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`2`?(openBlock(),createElementBlock(`svg`,_hoisted_3$220,[..._cache[1]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0),__props.type===`3`?(openBlock(),createElementBlock(`svg`,_hoisted_4$188,[..._cache[2]||=[createBaseVNode(`path`,{d:`M18.6366 0H34.0094L26.73 20H11.3572L18.6366 0Z`,fill:`#DA5706`},null,-1),createBaseVNode(`path`,{d:`M19.4504 40H4.07812L11.3572 20L4.07812 0H19.4504L26.7295 20L19.4504 40Z`,fill:`var(--bng-orange-400)`},null,-1)]])):createCommentVNode(``,!0)],2),createBaseVNode(`h1`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])])),[[unref(BngBlur_default),blurVal.value]])],2))}},bngScreenHeadingV2_default=__plugin_vue_export_helper_default(_sfc_main$346,[[`__scopeId`,`data-v-4854a8bd`]]),_hoisted_1$303={class:`label select`},_hoisted_2$250={class:`bng-select-indicator`},_sfc_main$345={__name:`bngSelect`,props:mergeModels({value:void 0,options:{type:Array,required:!0},config:{type:Object,default:()=>({value:opt=>opt,label:opt=>opt})},loop:Boolean,labelClickable:Boolean,labelPopover:String,disabled:Boolean,navLeftEvent:{type:String,default:`focus_l`},navRightEvent:{type:String,default:`focus_r`}},{modelValue:{type:[Object,Boolean,Number,String],default:void 0},modelModifiers:{}}),emits:mergeModels([`change`,`valueChanged`,`label-click`],[`update:modelValue`]),setup(__props,{expose:__expose,emit:__emit}){let leftBinding=ref(),rightBinding=ref(),vModel=useModel(__props,`modelValue`),props=__props,elContainer=ref(),elContent=ref(),findOptionValue=(valueToFind,opts)=>Math.max(0,opts.findIndex(opt=>props.config.value(opt)===valueToFind)),index=ref(getInitialValue()),current=computed(()=>({option:props.options[index.value],value:props.config.value(props.options[index.value]),label:props.config.label(props.options[index.value])})),leftIconClass=computed(()=>({"with-binding":leftBinding.value?.displayed})),rightIconClass=computed(()=>({"with-binding":rightBinding.value?.displayed})),isLeftDisabled=props.loop?!1:computed(()=>index.value==0),isRightDisabled=props.loop?!1:computed(()=>index.value==props.options.length-1),emit$1=__emit,goPrev=()=>{!props.disabled&&!isLeftDisabled.value&&changeIndex(-1)},goNext=()=>{!props.disabled&&!isRightDisabled.value&&changeIndex(1)};__expose({goNext,goPrev,getElement:()=>elContainer.value,getContentElement:()=>elContent.value}),watch(()=>props.value,()=>index.value=props.value!==null&&props.value!==void 0?findOptionValue(props.value,props.options):0),watch(vModel,val=>index.value=val==null?0:findOptionValue(val,props.options)),watch(()=>index.value,updateValue);function updateValue(){emit$1(`valueChanged`,current.value.value,current.value.label,current.value.option),emit$1(`change`,current.value.value,current.value.label,current.value.option),vModel.value=current.value.value}function changeIndex(offset$2){props.loop?index.value=(props.options.length+index.value+offset$2)%props.options.length:index.value=clamp(index.value+offset$2,0,props.options.length-1)}function getInitialValue(){return vModel.value!==null&&vModel.value!==void 0?findOptionValue(vModel.value,props.options):`value`in props?findOptionValue(props.value,props.options):0}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContainer`,ref:elContainer,class:`bng-select`,"bng-nav-item":``},[renderSlot(_ctx.$slots,`previousButton`,{click:goPrev,disabled:unref(isLeftDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isLeftDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`previous-btn`,onClick:goPrev},{default:withCtx(()=>[createVNode(unref(bngIcon_default),{type:leftBinding.value?.displayed?unref(icons).arrowSmallLeft:unref(icons).arrowLargeLeft,class:normalizeClass(leftIconClass.value)},null,8,[`type`,`class`]),__props.navLeftEvent&&__props.navLeftEvent!==`focus_l`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`leftBinding`,ref:leftBinding,uiEvent:__props.navLeftEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0)]),_:1},8,[`disabled`,`accent`,`mute`])],!0),withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`elContent`,ref:elContent,class:normalizeClass([`bng-select-content`,{"label-clickable":__props.labelClickable}]),onClick:_cache[0]||=withModifiers($event=>__props.labelClickable&&emit$1(`label-click`),[`stop`])},[renderSlot(_ctx.$slots,`display`,{label:current.value.label,value:current.value.value},()=>[createBaseVNode(`span`,_hoisted_1$303,toDisplayString(current.value.label),1),_cache[1]||=createBaseVNode(`label`,{flavour:``},null,-1)],!0)],2)),[[unref(BngSoundClass_default),!__props.disabled&&__props.labelClickable&&`bng_click_hover_generic`],[unref(BngPopover_default),__props.labelPopover,`bottom`,{click:!0}]]),renderSlot(_ctx.$slots,`nextButton`,{click:goNext,disabled:unref(isRightDisabled)},()=>[createVNode(unref(bngButton_default),{"bng-no-nav":`true`,disabled:__props.disabled||unref(isRightDisabled),accent:unref(ACCENTS).text,mute:_ctx.$attrs.mute,"data-testid":`next-btn`,onClick:goNext},{default:withCtx(()=>[__props.navRightEvent&&__props.navRightEvent!==`focus_r`?(openBlock(),createBlock(unref(bngBinding_default),{key:0,ref_key:`rightBinding`,ref:rightBinding,uiEvent:__props.navRightEvent,controller:``},null,8,[`uiEvent`])):createCommentVNode(``,!0),createVNode(unref(bngIcon_default),{type:rightBinding.value?.displayed?unref(icons).arrowSmallRight:unref(icons).arrowLargeRight,class:normalizeClass(rightIconClass.value)},null,8,[`type`,`class`])]),_:1},8,[`disabled`,`accent`,`mute`])],!0),createBaseVNode(`div`,_hoisted_2$250,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.options.length,idx=>(openBlock(),createElementBlock(`div`,{key:idx,class:normalizeClass({active:idx-1===index.value})},null,2))),128))])])),[[unref(BngOnUiNav_default),goPrev,__props.navLeftEvent,{focusRequired:!0}],[unref(BngOnUiNav_default),goNext,__props.navRightEvent,{focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSelect_default=__plugin_vue_export_helper_default(_sfc_main$345,[[`__scopeId`,`data-v-d1cacb72`]]),_hoisted_1$302={class:`bng-simple-graph`},_hoisted_2$249={key:0,class:`y-axis`},_hoisted_3$219={class:`y-values`},_hoisted_4$187={class:`max-value`},_hoisted_5$160={class:`axis-label`},_hoisted_6$138={key:0,class:`unit`},_hoisted_7$120={class:`min-value`},_hoisted_8$100={viewBox:`0 0 100 100`,preserveAspectRatio:`none`,class:`graph-svg`},_hoisted_9$90=[`width`,`height`],_hoisted_10$78=[`d`,`stroke`],_hoisted_11$70=[`d`,`stroke`],_hoisted_12$58=[`width`,`height`],_hoisted_13$50=[`d`,`stroke`],_hoisted_14$45=[`d`,`stroke`],_hoisted_15$43={key:0,width:`100`,height:`100`,fill:`url(#subgrid)`},_hoisted_16$40={class:`grid`},_hoisted_17$33=[`y1`,`y2`,`stroke`],_hoisted_18$30={class:`background-ranges`},_hoisted_19$25=[`x`,`width`,`fill`,`stroke`,`opacity`],_hoisted_20$21={class:`vertical-guides`},_hoisted_21$19=[`x1`,`x2`,`stroke`,`opacity`],_hoisted_22$17=[`x1`,`x2`],_hoisted_23$16=[`d`,`fill`,`opacity`],_hoisted_24$15=[`d`,`stroke`],_hoisted_25$14={key:2,class:`x-axis`},_hoisted_26$12={class:`x-values`},_hoisted_27$12={class:`min-value`},_hoisted_28$11={class:`axis-label`},_hoisted_29$11={key:0,class:`unit`},_hoisted_30$10={class:`max-value`},_sfc_main$344={__name:`bngSimpleGraph`,props:{config:{type:Object,default:()=>({showLabels:!1,xAxis:{key:`x`,label:`X Axis`,unit:``},yAxis:{key:`y`,label:`Y Axis`,unit:``}})},points:{type:Array,default:()=>[]},gridColor:{type:String,default:`var(--bng-ter-blue-gray-500)`},backgroundColor:{type:String,default:`rgba(0, 0, 0, 0.1)`},currentX:{type:Number,default:null},verticalGuides:{type:Array,default:()=>[]},ranges:{type:Array,default:()=>[]},gridDivisions:{type:Array,default:()=>[50,20]},subgridDivider:{type:Number,default:2},showSubgrid:{type:Boolean,default:!0},singleLabel:{type:Object,default:null}},setup(__props){useCssVars(_ctx=>({v194c2663:__props.config.showLabels?`2rem`:`0`,fdb9891e:__props.backgroundColor}));let props=__props,gridSizes=computed(()=>({x:100/props.gridDivisions[0],y:100/props.gridDivisions[1]})),xScale=computed(()=>{if(props.config?.xAxis?.min!==void 0&&props.config?.xAxis?.max!==void 0){let range$1=props.config.xAxis.max-props.config.xAxis.min;return{min:props.config.xAxis.min,max:props.config.xAxis.max,range:range$1===0?1:range$1}}if(!props.points.length)return{min:0,max:1,range:1};let xValues=[...props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[0])),...(props.verticalGuides||[]).map(guide=>guide?.x),...(props.ranges||[]).map(range$1=>range$1?.start),...(props.ranges||[]).map(range$1=>range$1?.end)].filter(val=>val!=null&&isFinite(val));if(xValues.length===0)return{min:0,max:1,range:1};let min$1=Math.min(...xValues),max$1=Math.max(...xValues);if(!isFinite(min$1)||!isFinite(max$1))return{min:0,max:1,range:1};let range=max$1-min$1;return{min:min$1,max:max$1,range:range===0?1:range}}),getXPosition=value=>{if(value==null||!isFinite(value))return 0;let result=(value-xScale.value.min)/xScale.value.range*100;return isFinite(result)?result:0},datasetPaths=computed(()=>!props.points.length||!xScale.value?[]:props.points.map(dataset=>{if(!dataset.points||!Array.isArray(dataset.points)||dataset.points.length===0)return{datasetId:dataset.label||`unknown`,linePath:``,areaPath:``};let linePoints=dataset.points.map((point,index)=>{if(!point||point.length<2)return``;let x=getXPosition(point[0]),y=getYPosition(point[1]);return`${index===0?`M`:`L`} ${x} ${y}`}).filter(p$1=>p$1).join(` `),areaPoints=dataset.points.map(point=>!point||point.length<2?``:`L ${getXPosition(point[0])} ${getYPosition(point[1])}`).filter(p$1=>p$1).join(` `),areaPath=``;if(dataset.fill&&dataset.points.length>0){let firstPoint=dataset.points[0],lastPoint=dataset.points[dataset.points.length-1];firstPoint&&lastPoint&&firstPoint.length>=2&&lastPoint.length>=2&&(areaPath=`M -5 105 L -5 ${getYPosition(firstPoint[1])} ${areaPoints} L 105 ${getYPosition(lastPoint[1])} L 105 105 Z`)}return{datasetId:dataset.label||`unknown`,linePath:linePoints,areaPath}})),getLinePathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.linePath:``},getAreaPathForDataset=dataset=>{let path=datasetPaths.value.find(p$1=>p$1.datasetId===dataset.label);return path?path.areaPath:``},getYPosition=value=>{if(value==null||!isFinite(value))return 50;let yMin=yBounds.value.min,yMax=yBounds.value.max;if(yMin==null||yMax==null||!isFinite(yMin)||!isFinite(yMax)||yMin===yMax)return 50;if(yMin>=0||yMax<=0){let yRange$1=yMax-yMin;if(yRange$1===0)return 50;let result$1=97.5-(value-yMin)/yRange$1*95;return isFinite(result$1)?result$1:50}let yRange=Math.max(Math.abs(yMin),Math.abs(yMax));if(yRange===0)return 50;let totalRange=Math.abs(yMin)+Math.abs(yMax);if(totalRange===0)return 50;let zeroLinePosition=Math.abs(yMin)/totalRange*95+2.5,result;return result=value>=0?zeroLinePosition-value/yRange*(zeroLinePosition-2.5):zeroLinePosition+Math.abs(value)/yRange*(97.5-zeroLinePosition),isFinite(result)?result:50},formatNumber=num=>num==null||!isFinite(num)?`0`:Math.floor(num).toString(),yBounds=computed(()=>{if(props.config?.yAxis?.min!==void 0&&props.config?.yAxis?.max!==void 0)return{min:props.config.yAxis.min,max:props.config.yAxis.max};if(!props.points.length)return{min:0,max:0};let allYValues=props.points.flatMap(dataset=>(dataset.points||[]).map(point=>point&&point[1])).filter(val=>val!=null&&isFinite(val));if(allYValues.length===0)return{min:0,max:1};let min$1=Math.min(...allYValues),max$1=Math.max(...allYValues);return!isFinite(min$1)||!isFinite(max$1)?{min:0,max:1}:{min:min$1,max:max$1}}),xMinFormatted=computed(()=>formatNumber(xScale.value?.min||0)),xMaxFormatted=computed(()=>formatNumber(xScale.value?.max||0)),yMinFormatted=computed(()=>formatNumber(yBounds.value.min)),yMaxFormatted=computed(()=>formatNumber(yBounds.value.max)),hasNegativeValues=computed(()=>yBounds.value.min<0),getLabelPosition=()=>{if(!props.singleLabel)return{x:0,y:0,anchor:`start`};let labelX=props.singleLabel.x===void 0?95:getXPosition(props.singleLabel.x),labelY=props.singleLabel.y===void 0?50:getYPosition(props.singleLabel.y),adjustedY=labelY>=25?labelY+4:labelY-2,anchor=labelX>=80?`end`:`start`;return{x:anchor===`end`?Math.min(labelX,98):Math.max(labelX,2),y:adjustedY,anchor}},getLabelStyle=()=>{if(!props.singleLabel)return{};let basePos=getLabelPosition(),estimatedWidth=props.singleLabel.text.length*6.5+6,estimatedHeight=18,containerWidth=300,containerHeight=80,pixelX=basePos.x/100*300,pixelY=basePos.y/100*80,finalX=basePos.x,finalY=basePos.y,anchor=basePos.anchor,verticalAlign=`middle`;anchor===`start`?pixelX+estimatedWidth>290&&(anchor=`end`):pixelX-estimatedWidth<10&&(anchor=`start`);let minGapFromPoint=4,topBuffer=8,bottomBuffer=8,wouldOverflowTop=pixelY-18/2<8;if(pixelY+18/2>72)verticalAlign=`bottom`,finalY=Math.max(basePos.y-4,15);else if(wouldOverflowTop)verticalAlign=`top`,finalY=Math.min(basePos.y+4,85);else{let pointY=basePos.y;pointY>75?(verticalAlign=`bottom`,finalY=pointY-4):pointY<25?(verticalAlign=`top`,finalY=pointY+4):(verticalAlign=`bottom`,finalY=pointY-4)}let transformX=`translateX(0)`,transformY=`translateY(-50%)`;return anchor===`end`&&(transformX=`translateX(-100%)`),verticalAlign===`bottom`?transformY=`translateY(-100%)`:verticalAlign===`top`&&(transformY=`translateY(0)`),{position:`absolute`,left:`${finalX}%`,top:`${finalY}%`,transform:`${transformX} ${transformY}`,color:props.singleLabel.color||`var(--bng-orange)`,fontSize:`11px`,fontFamily:`sans-serif`,pointerEvents:`none`,whiteSpace:`nowrap`}};return(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$302,[__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_2$249,[createBaseVNode(`div`,_hoisted_3$219,[createBaseVNode(`div`,_hoisted_4$187,toDisplayString(yMaxFormatted.value),1),createBaseVNode(`div`,_hoisted_5$160,[createTextVNode(toDisplayString(__props.config.yAxis.label)+` `,1),__props.config.yAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_6$138,`(`+toDisplayString(__props.config.yAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_7$120,toDisplayString(yMinFormatted.value),1)])])):createCommentVNode(``,!0),(openBlock(),createElementBlock(`svg`,_hoisted_8$100,[createBaseVNode(`defs`,null,[createBaseVNode(`pattern`,{id:`grid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x} 0 L ${gridSizes.value.x} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_10$78),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y} L 100 ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.3`},null,8,_hoisted_11$70)],8,_hoisted_9$90),createBaseVNode(`pattern`,{id:`subgrid`,width:gridSizes.value.x,height:gridSizes.value.y,patternUnits:`userSpaceOnUse`},[createBaseVNode(`path`,{d:`M ${gridSizes.value.x/__props.subgridDivider} 0 L ${gridSizes.value.x/__props.subgridDivider} ${gridSizes.value.y}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_13$50),createBaseVNode(`path`,{d:`M 0 ${gridSizes.value.y/__props.subgridDivider} L 100 ${gridSizes.value.y/__props.subgridDivider}`,stroke:__props.gridColor,"stroke-width":`0.5`,"vector-effect":`non-scaling-stroke`,opacity:`0.15`},null,8,_hoisted_14$45)],8,_hoisted_12$58)]),__props.showSubgrid?(openBlock(),createElementBlock(`rect`,_hoisted_15$43)):createCommentVNode(``,!0),_cache[0]||=createBaseVNode(`rect`,{width:`100`,height:`100`,fill:`url(#grid)`},null,-1),createBaseVNode(`g`,_hoisted_16$40,[hasNegativeValues.value?(openBlock(),createElementBlock(`line`,{key:0,x1:`0`,y1:getYPosition(0),x2:`100`,y2:getYPosition(0),stroke:__props.gridColor,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:`0.75`},null,8,_hoisted_17$33)):createCommentVNode(``,!0)]),createBaseVNode(`g`,_hoisted_18$30,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.ranges,range=>(openBlock(),createElementBlock(`rect`,{key:`range-${range.start}`,x:getXPosition(range.start),y:`-5`,width:getXPosition(range.end)-getXPosition(range.start),height:`110`,fill:range.fill,stroke:range.outline,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`,opacity:range.opacity},null,8,_hoisted_19$25))),128))]),createBaseVNode(`g`,_hoisted_20$21,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.verticalGuides,guide=>(openBlock(),createElementBlock(`line`,{key:`guide-${guide.x}`,x1:getXPosition(guide.x),y1:`0`,x2:getXPosition(guide.x),y2:`100`,stroke:guide.color,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:guide.opacity},null,8,_hoisted_21$19))),128))]),__props.currentX?(openBlock(),createElementBlock(`line`,{key:1,x1:getXPosition(__props.currentX),y1:`0`,x2:getXPosition(__props.currentX),y2:`100`,stroke:`white`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`,opacity:`0.8`},null,8,_hoisted_22$17)):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.points,dataset=>(openBlock(),createElementBlock(`g`,{key:dataset.label},[dataset.fill?(openBlock(),createElementBlock(`path`,{key:0,d:getAreaPathForDataset(dataset),fill:dataset.color||`white`,opacity:dataset.fillOpacity??.5},null,8,_hoisted_23$16)):createCommentVNode(``,!0),createBaseVNode(`path`,{d:getLinePathForDataset(dataset),stroke:dataset.color||`white`,fill:`none`,"stroke-width":`1`,"vector-effect":`non-scaling-stroke`},null,8,_hoisted_24$15)]))),128))])),__props.singleLabel?(openBlock(),createElementBlock(`div`,{key:1,class:`single-label`,style:normalizeStyle(getLabelStyle())},toDisplayString(__props.singleLabel.text),5)):createCommentVNode(``,!0),__props.config.showLabels?(openBlock(),createElementBlock(`div`,_hoisted_25$14,[createBaseVNode(`div`,_hoisted_26$12,[createBaseVNode(`div`,_hoisted_27$12,toDisplayString(xMinFormatted.value),1),createBaseVNode(`div`,_hoisted_28$11,[createTextVNode(toDisplayString(__props.config.xAxis.label)+` `,1),__props.config.xAxis.unit?(openBlock(),createElementBlock(`span`,_hoisted_29$11,`(`+toDisplayString(__props.config.xAxis.unit)+`)`,1)):createCommentVNode(``,!0)]),createBaseVNode(`div`,_hoisted_30$10,toDisplayString(xMaxFormatted.value),1)])])):createCommentVNode(``,!0)]))}},bngSimpleGraph_default=__plugin_vue_export_helper_default(_sfc_main$344,[[`__scopeId`,`data-v-66d95af3`]]),_hoisted_1$301={class:`bng-slider-container`},_hoisted_2$248=[`disabled`,`min`,`max`,`step`],_sfc_main$343={__name:`bngSlider`,props:{modelValue:Number,origValue:{type:[Number,String],default:NaN},min:{type:[Number,String],default:0},max:{type:[Number,String],required:!0},step:{type:[Number,String],default:0},withReset:{type:Boolean,default:!1},withInput:{type:Boolean,default:!1},inputMultiplier:{type:Number,default:1},unit:{type:String,default:``},disabled:Boolean,uiNavFocus:{type:[Boolean,Object],default:{},validator:val=>typeof val==`boolean`&&!val||typeof val==`object`}},emits:[`change`,`valueChanged`,`update:modelValue`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,emit$1=__emit,slider=ref(null),value=ref(props.modelValue);ref(!1);let uiNavFocusFunction=computed(()=>props.uiNavFocus?{callback:(dir,val)=>{value.value=val,notify()},value:()=>value.value,min:+props.min,max:+props.max,step:()=>+props.step,...props.uiNavFocus}:!1);watch(()=>props.modelValue,val=>{value.value=Number(val),updateSliderBackground()});let dirty=useDirty(value,null,updateSliderBackground),dirtyReset=useDirty(value,null,updateSliderBackground);__expose(dirty);let resetDisabled=computed(()=>props.disabled?!0:isNaN(dirtyReset.currentCleanValue.value)?!dirty.dirty.value:!dirtyReset.dirty.value);onMounted(()=>{updateSliderBackground(),inputProps.value=value.value*props.inputMultiplier});function notify(){emit$1(`update:modelValue`,value.value),emit$1(`valueChanged`,value.value),emit$1(`change`,value.value),updateSliderBackground()}function updateSliderBackground(){if(!slider.value)return;let current=(value.value-props.min)/(props.max-props.min)*100,init$3=[-100,-100],dirtyVal=dirtyReset.currentCleanValue.value;if((typeof dirtyVal!=`number`||isNaN(dirtyVal))&&(dirtyVal=dirty.currentCleanValue.value),typeof dirtyVal==`number`&&!isNaN(dirtyVal)){let initpos=(dirtyVal-props.min)/(props.max-props.min)*100;init$3[currentvalue.value,val=>{inputProps.value=val*props.inputMultiplier}),watch(()=>props.origValue,val=>{val=+val,isNaN(val)||dirtyReset.setCleanValue(val)},{immediate:!0}),watch(()=>inputProps.value,val=>{value.value=val/props.inputMultiplier});function onInputChange(num){num=Number(num);let norm=roundDecSample(num,inputProps.step);num!==norm&&(inputProps.value=norm),num=norm/props.inputMultiplier,num=roundDecSample(num,props.step),numprops.max&&(num=props.max),value.value=num,notify()}function resetValue(){let val=+props.origValue;isNaN(val)?dirty.resetValue():value.value=val,notify()}return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$301,[withDirectives(createBaseVNode(`input`,{ref_key:`slider`,ref:slider,class:`bng-slider`,type:`range`,disabled:__props.disabled,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,min:+__props.min,max:+__props.max,step:+__props.step,onInput:notify},null,40,_hoisted_2$248),[[vModelText,value.value,void 0,{number:!0}],[unref(BngOnUiNavFocus_default),uiNavFocusFunction.value,void 0,{repeat:!0}]]),__props.withInput?(openBlock(),createBlock(unref(bngInput_default),{key:0,class:`bng-slider-input`,disabled:__props.disabled,modelValue:inputProps.value,"onUpdate:modelValue":_cache[1]||=$event=>inputProps.value=$event,type:`number`,min:inputProps.min,max:inputProps.max,step:inputProps.step,suffix:__props.unit,onValueChanged:onInputChange},null,8,[`disabled`,`modelValue`,`min`,`max`,`step`,`suffix`])):createCommentVNode(``,!0),__props.withReset?(openBlock(),createBlock(unref(bngButton_default),{key:1,class:`bng-slider-reset`,accent:unref(ACCENTS).text,icon:unref(icons).undo,disabled:resetDisabled.value,onClick:resetValue},null,8,[`accent`,`icon`,`disabled`])):createCommentVNode(``,!0)])),[[unref(BngScopedNav_default),{bubbleWhitelistEvents:[`menu`]}],[unref(BngDisabled_default),__props.disabled]])}},bngSlider_default=__plugin_vue_export_helper_default(_sfc_main$343,[[`__scopeId`,`data-v-7d0150a1`]]),_sfc_main$342={__name:`bngSmartSelect`,props:mergeModels({items:{type:Array,required:!0},threshold:{type:Number,default:6},type:{type:String,default:``,validator(val){return[``,`select`,`dropdown`].includes(val)}},highlight:[String,Array,RegExp],disabled:Boolean},{modelValue:{},modelModifiers:{}}),emits:mergeModels([`change`],[`update:modelValue`]),setup(__props,{emit:__emit}){let props=__props,value=useModel(__props,`modelValue`),emit$1=__emit,elDropdown=ref(),elSelect=ref(),types={none:bngSelect_default,select:bngSelect_default,dropdown:bngDropdown_default},items$2=computed(()=>Array.isArray(props.items)?props.items:[]),type=computed(()=>props.type&&props.type in types?props.type:items$2.value.length===0?`none`:items$2.value.length<=props.threshold?`select`:`dropdown`),binds=computed(()=>{let res={disabled:props.disabled};switch(type.value){default:res.options=[`n/a`],res.disabled=!0;break;case`select`:res.loop=!0,res.labelClickable=!0,res.config={label:itm=>itm?.label||`n/a`,value:itm=>itm?.value},res.options=items$2.value.filter(itm=>!itm.disabled&&!itm.group),res.items=items$2.value,res.highlight=props.highlight,res.disabled||=res.options.length===0,res.popoverTarget=elSelect.value?.getElement?.(),res.focusTarget=elSelect.value?.getContentElement?.()||res.popoverTarget;break;case`dropdown`:res.items=items$2.value,res.highlight=props.highlight,res.showSearch=!0;break}return res});function openDropdown(){}function onSelectChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}function onDropdownChanged(newValue){value.value!==newValue&&emit$1(`change`,newValue)}return(_ctx,_cache)=>(openBlock(),createElementBlock(Fragment,null,[type.value===`dropdown`?createCommentVNode(``,!0):(openBlock(),createBlock(unref(bngSelect_default),{key:0,ref_key:`elSelect`,ref:elSelect,class:`bng-smart-select`,modelValue:value.value,"onUpdate:modelValue":_cache[0]||=$event=>value.value=$event,options:binds.value.options,config:binds.value.config,disabled:binds.value.disabled,loop:``,"label-clickable":``,"label-popover":elDropdown.value?.popoverName,onLabelClick:openDropdown,onChange:onSelectChanged},null,8,[`modelValue`,`options`,`config`,`disabled`,`label-popover`])),binds.value.items?(openBlock(),createBlock(unref(bngDropdown_default),{key:1,ref_key:`elDropdown`,ref:elDropdown,class:normalizeClass(`bng-smart-${type.value}`),modelValue:value.value,"onUpdate:modelValue":_cache[1]||=$event=>value.value=$event,items:binds.value.items,highlight:binds.value.highlight,disabled:binds.value.disabled,headless:type.value===`select`,"show-search":binds.value.showSearch,"focus-target":binds.value.focusTarget,"popover-target":binds.value.popoverTarget,onValueChanged:onDropdownChanged},null,8,[`class`,`modelValue`,`items`,`highlight`,`disabled`,`headless`,`show-search`,`focus-target`,`popover-target`])):createCommentVNode(``,!0)],64))}},bngSmartSelect_default=__plugin_vue_export_helper_default(_sfc_main$342,[[`__scopeId`,`data-v-a288ad68`]]),_hoisted_1$300=[`xlink:href`],_sfc_main$341={__name:`bngSpriteIcon`,props:{atlasPath:{type:String,default:`sprites/svg-symbols.svg`},src:{type:String,required:!0},color:{type:String,default:`#fff`},deg:{type:Number,default:0}},setup(__props){let props=__props,atlasURL=computed(()=>`${getAssetURL$1(props.atlasPath)}#${props.src.toLowerCase()}`),getAssetURL$1=assetPath=>bngApi.isMock?`http://localhost:9000/${assetPath}`:`/ui/ui-vue/src/assets/${assetPath}`;return(_ctx,_cache)=>(openBlock(),createElementBlock(`svg`,{class:`atlasIcon`,style:normalizeStyle({fill:__props.color,pointerEvents:`none`,transform:`rotate(${__props.deg}deg)`}),version:`1.1`,xmlns:`http://www.w3.org/2000/svg`},[createBaseVNode(`use`,{"xlink:href":atlasURL.value},null,8,_hoisted_1$300)],4))}},bngSpriteIcon_default=__plugin_vue_export_helper_default(_sfc_main$341,[[`__scopeId`,`data-v-0ace1ddc`]]),_hoisted_1$299=[`tabindex`],_hoisted_2$247={key:0};const LABEL_ALIGNMENTS={START:`start`,END:`end`,CENTER:`center`};var _sfc_main$340={__name:`bngSwitch`,props:{modelValue:[Boolean,Number,String],checked:{type:Boolean,default:!1},label:String,labelBefore:Boolean,labelAlignment:{type:String,default:LABEL_ALIGNMENTS.END,validator:value=>Object.values(LABEL_ALIGNMENTS).includes(value)},inline:{type:Boolean,default:!0},alwaysTransparent:Boolean,disabled:Boolean,valueOn:{type:[Boolean,Number,String],default:void 0},valueOff:{type:[Boolean,Number,String],default:void 0}},emits:[`update:modelValue`,`change`,`valueChanged`],setup(__props,{emit:__emit}){let props=__props,emit$1=__emit,slots=useSlots(),bngSwitch=ref(null),valOn=computed(()=>props.valueOn===void 0?!0:props.valueOn),valOff=computed(()=>props.valueOff===void 0?!1:props.valueOff),isSwitchOn=computed(()=>props.modelValue==null?props.checked:props.modelValue===valOn.value);function onClicked(){if(props.disabled)return;let newValue=isSwitchOn.value?valOff.value:valOn.value;props.modelValue!=null&&emit$1(`update:modelValue`,newValue),emit$1(`valueChanged`,newValue),emit$1(`change`,newValue)}return onUpdated(()=>ensureFocus(bngSwitch.value)),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{ref_key:`bngSwitch`,ref:bngSwitch,"bng-nav-item":``,class:normalizeClass([`bng-switch`,{"bng-switch-on":isSwitchOn.value,"with-background":!__props.alwaysTransparent,"with-label":__props.label||unref(slots).default,"label-position-before":__props.labelBefore,"inline-switch":!__props.label&&!unref(slots).default||__props.inline}]),tabindex:__props.disabled?-1:0,onClick:onClicked},[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-control`},null,-1),unref(slots).default||__props.label?(openBlock(),createElementBlock(`div`,{key:0,class:normalizeClass([`bng-switch-label`,[`label-alignment-`+__props.labelAlignment]])},[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`span`,_hoisted_2$247,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)],2)):createCommentVNode(``,!0)],10,_hoisted_1$299)),[[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngDisabled_default),__props.disabled]])}},bngSwitch_default=__plugin_vue_export_helper_default(_sfc_main$340,[[`__scopeId`,`data-v-8e1c4b05`]]),_hoisted_1$298={class:`bng-switch-label`},_hoisted_2$246={key:0},_sfc_main$339={__name:`bngSwitchOld`,props:{modelValue:Boolean,label:String,checked:Boolean,uncheckedWithBackground:Boolean,disabled:Boolean},emits:[`valueChanged`,`update:modelValue`],setup(__props,{emit:__emit}){let toggleValue=ref(!1),props=__props,emit$1=__emit,slots=useSlots();onBeforeMount(init$3),watch(()=>props.modelValue,init$3),watch(()=>props.checked,init$3),watch(()=>props.disabled,init$3);function init$3(){toggleValue.value=props.checked||props.modelValue}function onValueChanged(){props.disabled||(toggleValue.value=!toggleValue.value,emit$1(`update:modelValue`,toggleValue.value),emit$1(`valueChanged`,toggleValue.value))}return(_ctx,_cache)=>unref(slots).default||__props.label?withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:0,class:[`bng-labeled-switch`,{"switch-on":toggleValue.value,"with-background":__props.uncheckedWithBackground}]},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[_cache[0]||=createBaseVNode(`div`,{class:`bng-switch-wrapper`},[createBaseVNode(`div`,{class:`bng-switch`})],-1),createBaseVNode(`div`,_hoisted_1$298,[renderSlot(_ctx.$slots,`default`,{},()=>[__props.label?(openBlock(),createElementBlock(`label`,_hoisted_2$246,toDisplayString(__props.label),1)):createCommentVNode(``,!0)],!0)])],16)),[[unref(BngDisabled_default),__props.disabled]]):withDirectives((openBlock(),createElementBlock(`div`,mergeProps({key:1},{...!__props.disabled&&{"bng-nav-item":1}},{tabindex:`{{disabled ? 0 : 1}}`,class:[`bng-switch-wrapper`,{"switch-on":toggleValue.value}],onClick:onValueChanged,onKeyup:withKeys(onValueChanged,[`space`])}),[..._cache[1]||=[createBaseVNode(`div`,{class:`bng-switch`},null,-1)]],16)),[[unref(BngDisabled_default),__props.disabled]])}},bngSwitchOld_default=__plugin_vue_export_helper_default(_sfc_main$339,[[`__scopeId`,`data-v-da8dc7b1`]]),_hoisted_1$297={"bng-nav-item":``,class:`bng-tile tile`},_hoisted_2$245={class:`content`},_hoisted_3$218={class:`label`},_sfc_main$338={__name:`bngTile`,props:{label:String,ratio:{type:String,default:`4:3`},backgroundImage:String,backgroundExternalImage:String,disabled:Boolean},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$297,[createVNode(unref(aspectRatio_default),{class:`content-container image`,ratio:__props.ratio,image:__props.backgroundImage,externalImage:__props.backgroundExternalImage,imageMode:`contain`},{default:withCtx(()=>[createBaseVNode(`div`,_hoisted_2$245,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])]),_:3},8,[`ratio`,`image`,`externalImage`]),renderSlot(_ctx.$slots,`label`,{},()=>[createBaseVNode(`div`,_hoisted_3$218,toDisplayString(__props.label),1)],!0)])),[[unref(BngDisabled_default),__props.disabled]])}},bngTile_default=__plugin_vue_export_helper_default(_sfc_main$338,[[`__scopeId`,`data-v-af5747cc`]]),_sfc_main$337={__name:`bngTooltip`,props:{text:{type:String,required:!0},position:{type:String,default:`top`}},setup(__props){return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,null,[renderSlot(_ctx.$slots,`default`,{},void 0,!0)])),[[unref(BngTooltip_default),__props.text,__props.position]])}},bngTooltip_default=__plugin_vue_export_helper_default(_sfc_main$337,[[`__scopeId`,`data-v-53073c36`]]),toInt=v=>~~+v,_sfc_main$336={__name:`bngUnit`,props:{options:Object,formatter:[Function,String]},setup(__props){let{units}=useBridge(),knownUnits={money:{formatter:v=>units.beamBucks(v)},beamXP:{formatter:toInt},stars:{formatter:toInt},vouchers:{formatter:toInt},insuranceScore:{formatter:toInt},multiplier:{formatter:toInt,noGap:!0}},defaultColors={stars:`var(--bng-ter-yellow-200)`,vouchers:`var(--bng-add-blue-400)`},attrs=useAttrs(),unit=computed(()=>{for(let key of Object.keys(attrs))if(key in knownUnits)return{type:key,value:attrs[key],...knownUnits[key],...props.options};return{type:`unknown`}}),formattedValue=computed(()=>{if(props.formatter){if(typeof props.formatter==`function`)return props.formatter(unit.value.value);if(typeof props.formatter==`string`&&props.formatter in knownUnits)return knownUnits[props.formatter].formatter(unit.value.value)}return typeof unit.value.formatter==`function`?unit.value.formatter(unit.value.value):unit.value.value}),props=__props;return(_ctx,_cache)=>(openBlock(),createBlock(unref(slotSwitcher_default),mergeProps(unref(attrs),{slotId:unit.value.type}),{money:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamCurrency,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),beamXP:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).beamXPLo,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),stars:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).star,valueLabel:formattedValue.value,"icon-color":defaultColors.stars}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),vouchers:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).voucherHorizontal3,valueLabel:formattedValue.value,"icon-color":defaultColors.vouchers}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),insuranceScore:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).shieldCheckmarkProgressbar,valueLabel:formattedValue.value}),null,16,[`iconType`,`valueLabel`])]),multiplier:withCtx(props$1=>[createVNode(unref(bngPropVal_default),mergeProps({...props$1,...unit.value},{iconType:props$1.iconType||unref(icons).mathMultiply,valueLabel:formattedValue.value,"icon-color":defaultColors.multiplier}),null,16,[`iconType`,`valueLabel`,`icon-color`])]),unknown:withCtx(props$1=>[createBaseVNode(`span`,normalizeProps(guardReactiveProps(props$1)),`BngUnit: Unknown unit type or no type specified`,16)]),_:1},16,[`slotId`]))}},bngUnit_default=_sfc_main$336;const DEMOS={};var base_exports=__export({ACCENTS:()=>ACCENTS,BngActionDrawer:()=>bngActionDrawer_default,BngActionsDrawer:()=>bngActionsDrawer_default,BngActionsDrawerOne:()=>bngActionsDrawerOne_default,BngActionsList:()=>bngActionsList_default,BngBinding:()=>bngBinding_default,BngBreadcrumbs:()=>bngBreadcrumbs_default,BngButton:()=>bngButton_default,BngCard:()=>bngCard_default,BngCardHeading:()=>bngCardHeading_default,BngColorPicker:()=>bngColorPicker_default,BngColorSlider:()=>bngColorSlider_default,BngColorTile:()=>bngColorTile_default,BngCondition:()=>bngCondition_default,BngControllerHint:()=>bngControllerHint_default,BngDivider:()=>bngDivider_default,BngDrawer:()=>bngDrawer_default,BngDrawerOld:()=>bngDrawerOld_default,BngDropdown:()=>bngDropdown_default,BngDropdownContainer:()=>bngDropdownContainer_default,BngIcon:()=>bngIcon_default,BngIconMarker:()=>bngIconMarker_default,BngImage:()=>bngImage_default,BngImageAsset:()=>bngImageAsset_default,BngImageCarousel:()=>bngImageCarousel_default,BngImageTile:()=>bngImageTile_default,BngInput:()=>bngInput_default,BngInputNew:()=>bngInputNew_default,BngList:()=>bngList_default,BngMainStars:()=>bngMainStars_default,BngMultilineInput:()=>bngMultilineInput_default,BngOldIcon:()=>bngOldIcon_default,BngOverflowContainer:()=>bngOverflowContainer_default,BngPaintTile:()=>bngPaintTile_default,BngPill:()=>bngPill_default,BngPillCheckbox:()=>bngPillCheckbox_default,BngPillFilters:()=>bngPillFilters_default,BngPillFiltersContainer:()=>bngPillFiltersContainer_default,BngPopoverContent:()=>bngPopoverContent_default,BngPopoverMenu:()=>bngPopoverMenu_default,BngProgressBar:()=>bngProgressBar_default,BngPropVal:()=>bngPropVal_default,BngScreenHeading:()=>bngScreenHeading_default,BngScreenHeadingV2:()=>bngScreenHeadingV2_default,BngSelect:()=>bngSelect_default,BngSimpleGraph:()=>bngSimpleGraph_default,BngSlider:()=>bngSlider_default,BngSmartSelect:()=>bngSmartSelect_default,BngSpriteIcon:()=>bngSpriteIcon_default,BngSwitch:()=>bngSwitch_default,BngSwitchOld:()=>bngSwitchOld_default,BngTile:()=>bngTile_default,BngTooltip:()=>bngTooltip_default,BngUnit:()=>bngUnit_default,DEMOS:()=>DEMOS,LABEL_ALIGNMENTS:()=>LABEL_ALIGNMENTS,LIST_LAYOUTS:()=>LIST_LAYOUTS,STEP_ICON_TYPES:()=>STEP_ICON_TYPES,getIconsWithTags:()=>getIconsWithTags,icons:()=>icons,iconsBySize:()=>iconsBySize,iconsByTag:()=>iconsByTag});function getPopupWrapperDefaults(){return{fade:!1,blur:!0,style:[popupContainer.default]}}function getActivityWrapperDefaults(){return{fade:!1,blur:!1,style:[popupContainer.clickthrough]}}const popupContainer=Object.freeze({default:`default`,transparent:`transparent`,clickthrough:`clickthrough`}),popupPosition=Object.freeze({default:`center`,top:`top`,left:`left`,right:`right`,bottom:`bottom`,center:`center`,fullscreen:`fullscreen`});var _hoisted_1$296=[`bng-ui-scope`],_hoisted_2$244={class:`popup-content`},_hoisted_3$217={key:0,class:`popup-title`},_hoisted_4$186={key:1,class:`popup-body`},_hoisted_5$159=[`innerHTML`],_hoisted_6$137={class:`popup-buttons`},__default__$10={wrapper:{blur:!0,style:null},position:popupPosition.center,animated:!0},_sfc_main$335=Object.assign(__default__$10,{__name:`Confirmation`,props:{appearance:String,popupActive:Boolean,message:{type:[String,Object],required:!0},title:String,buttons:Array},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowNavigationOnly();let props=__props,emit$1=__emit,scopeName=usePopupUINavScopeName(`_confirmPopup`,props),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default);defaultButtonIndex===-1&&(defaultButtonIndex=0);let cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),exclude=[`default`,`cancel`],buttonProps=computed(()=>{let bp=[];for(let{extras}of props.buttons)extras?bp.push(Object.keys(extras).reduce((ex,key)=>exclude.includes(key)?ex:{...ex,[key]:extras[key]},{})):bp.push({});return bp}),messageIsComponent=computed(()=>props.message&&typeof props.message==`object`&&props.message.component),handleCancelWithBack=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`,`popup-style-`+__props.appearance]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$244,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$217,toDisplayString(__props.title),1)):createCommentVNode(``,!0),messageIsComponent.value?(openBlock(),createElementBlock(`div`,_hoisted_4$186,[(openBlock(),createBlock(resolveDynamicComponent(__props.message.component),normalizeProps(guardReactiveProps(__props.message.props)),null,16))])):(openBlock(),createElementBlock(`div`,{key:2,class:`popup-body`,innerHTML:__props.message},null,8,_hoisted_5$159)),createBaseVNode(`div`,_hoisted_6$137,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},buttonProps.value[index],{onClick:$event=>_ctx.$emit(`return`,button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`])),[[unref(BngUiNavFocus_default),index===unref(defaultButtonIndex)?1e3:void 0]])),128))])])],10,_hoisted_1$296)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}}),Confirmation_default=__plugin_vue_export_helper_default(_sfc_main$335,[[`__scopeId`,`data-v-ce4a758b`]]),_hoisted_1$295=[`bng-ui-scope`],_hoisted_2$243={key:0,class:`form-dialog-toolbar`},_hoisted_3$216={class:`toolbar-title`},_hoisted_4$185={key:0,class:`content-description`},_hoisted_5$158={class:`content-wrapper`},_hoisted_6$136={class:`form-actions-bar`},_sfc_main$334={__name:`FormDialog`,props:mergeModels({title:{type:String},description:{type:String},view:{type:[Object,String],required:!0},formValidator:{type:Function,default:formModel=>!0},buttons:{type:Array,required:!0},maxWidth:{type:String,default:`40rem`}},{formModel:{},formModelModifiers:{}}),emits:mergeModels([`return`],[`update:formModel`]),setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let props=__props,emit$1=__emit,formModel=useModel(__props,`formModel`),scopeName=usePopupUINavScopeName(`_formdialog`,props),handleCancelWithBack=()=>{let cancelButton=props.buttons.find(x=>x.extras&&x.extras.cancel);cancelButton?onClick(cancelButton):emit$1(`return`)},onClick=button=>{let data={value:button.value};button.emitData&&(data.formData=formModel.value),emit$1(`return`,data)},formValid=ref(!1),message=ref(null);return watch(formModel,()=>{let res=props.formValidator(formModel.value);message.value=res.error?res.message:props.description,formValid.value=!res.error},{immediate:!0,deep:!0}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:`form-dialog`,style:normalizeStyle({maxWidth:props.maxWidth}),"bng-ui-scope":unref(scopeName)},[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_2$243,[createBaseVNode(`div`,_hoisted_3$216,toDisplayString(__props.title),1)])):createCommentVNode(``,!0),createBaseVNode(`div`,{class:normalizeClass([{"no-title":!__props.title},`form-dialog-content`])},[message.value?(openBlock(),createElementBlock(`div`,_hoisted_4$185,toDisplayString(message.value),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_5$158,[(openBlock(),createBlock(resolveDynamicComponent(__props.view),{modelValue:formModel.value,"onUpdate:modelValue":_cache[0]||=$event=>formModel.value=$event},null,8,[`modelValue`]))])],2),createBaseVNode(`div`,_hoisted_6$136,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},button.extras,{disabled:button.disableIfInvalid&&!formValid.value,onClick:$event=>onClick(button)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`])),[[unref(BngUiNavFocus_default),__props.buttons.length-index],[unref(BngFocusIf_default),index===0]])),128))])],12,_hoisted_1$295)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},FormDialog_default=__plugin_vue_export_helper_default(_sfc_main$334,[[`__scopeId`,`data-v-e78a3aa6`]]),_hoisted_1$294=[`bng-ui-scope`],_hoisted_2$242={class:`popup-content`},_hoisted_3$215={key:0,class:`popup-title`},_hoisted_4$184={class:`popup-body`},_hoisted_5$157={key:0,class:`popup-message`},_hoisted_6$135={class:`popup-buttons`},_sfc_main$333={__name:`Progress`,props:{title:String,message:String,buttons:Array,indeterminate:Boolean,min:{type:Number,default:0},max:{type:Number,default:100},initialValue:{type:Number,default:0},valueLabelFormat:{type:[String,Function],default:()=>val=>`${val}%`},timeout:{type:Number,default:0},cancellable:Boolean,tunnel:Object},emits:[`return`],setup(__props,{emit:__emit}){useUINavBlocker().allowOnly([`focus_u`,`focus_d`,`focus_l`,`focus_r`,`back`,`menu`,`ok`]);let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),props=__props,defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel);~defaultButtonIndex&&onMounted(()=>{document.querySelector(`#${DEFAULT_BUTTON_ID}`).focus()});let scopeName=usePopupUINavScopeName(`_progressPopup`,props),progressValue=ref(props.initialValue),msg=ref(props.message),handleCancelWithBack=e=>{props.cancellable&&close()},close=()=>emit$1(`return`,cancelButton?cancelButton.value:null);return props.tunnel.update=(value,message=void 0)=>{progressValue.value=+value,message!==void 0&&(msg.value=message)},props.tunnel.done=close,props.tunnel.ready=!0,props.timeout&&setTimeout(close,props.timeout*1e3),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$242,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$215,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$184,[msg.value?(openBlock(),createElementBlock(`div`,_hoisted_5$157,toDisplayString(msg.value),1)):createCommentVNode(``,!0),createVNode(unref(bngProgressBar_default),{value:progressValue.value,min:__props.min,max:__props.max,indeterminate:__props.indeterminate,"show-value-label":!__props.indeterminate&&!!__props.valueLabelFormat,"value-label-format":__props.valueLabelFormat},null,8,[`value`,`min`,`max`,`indeterminate`,`show-value-label`,`value-label-format`])]),createBaseVNode(`div`,_hoisted_6$135,[__props.buttons&&__props.buttons.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(_ctx.text):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`onClick`]))),128)):createCommentVNode(``,!0)])])],8,_hoisted_1$294)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Progress_default=__plugin_vue_export_helper_default(_sfc_main$333,[[`__scopeId`,`data-v-a3c03360`]]),_hoisted_1$293=[`bng-ui-scope`],_hoisted_2$241={class:`popup-content`},_hoisted_3$214={key:0,class:`popup-title`},_hoisted_4$183={class:`popup-body`},_hoisted_5$156={key:0,class:`popup-message`},_hoisted_6$134={class:`popup-buttons`},_sfc_main$332={__name:`Prompt`,props:{buttons:Array,message:String,title:String,maxLength:Number,defaultValue:void 0,validate:Function,errorMessage:String,disableWhenInvalid:Boolean},emits:[`return`],setup(__props,{emit:__emit}){let emit$1=__emit,DEFAULT_BUTTON_ID=uniqueId(`___DEFAULT`,`_`),INPUT_ID=uniqueId(`___INPUT`,`_`),props=__props,scopeName=usePopupUINavScopeName(`_promptPopup`,props),text=ref(props.defaultValue||``),defaultButtonIndex=props.buttons.findIndex(button=>button.extras&&button.extras.default),cancelButton=props.buttons.find(button=>button.extras&&button.extras.cancel),handleEnterButton=text$1=>{props.disableWhenInvalid&&props.validate&&!props.validate(text$1)||emit$1(`return`,text$1)},handleCancelWithBack=e=>{emit$1(`return`,cancelButton?cancelButton.value:null)};return onMounted(()=>{document.querySelector(`#${INPUT_ID} input`).focus()}),(_ctx,_cache)=>withDirectives((openBlock(),createElementBlock(`div`,{class:normalizeClass([`popup`]),"bng-ui-scope":unref(scopeName)},[createBaseVNode(`div`,_hoisted_2$241,[__props.title?(openBlock(),createElementBlock(`div`,_hoisted_3$214,toDisplayString(__props.title),1)):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_4$183,[__props.message?(openBlock(),createElementBlock(`div`,_hoisted_5$156,toDisplayString(__props.message),1)):createCommentVNode(``,!0),createVNode(unref(bngInput_default),{id:unref(INPUT_ID),modelValue:text.value,"onUpdate:modelValue":_cache[0]||=$event=>text.value=$event,maxlength:__props.maxLength,onKeyup:_cache[1]||=withKeys($event=>handleEnterButton(text.value),[`enter`]),validate:__props.validate,"error-message":__props.errorMessage},null,8,[`id`,`modelValue`,`maxlength`,`validate`,`error-message`])]),createBaseVNode(`div`,_hoisted_6$134,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.buttons,(button,index)=>(openBlock(),createBlock(unref(bngButton_default),mergeProps({key:index},{ref_for:!0},{...index==unref(defaultButtonIndex)&&{id:unref(DEFAULT_BUTTON_ID)},...button.extras},{disabled:__props.disableWhenInvalid&&index>0&&__props.validate&&!__props.validate(text.value),onClick:$event=>_ctx.$emit(`return`,typeof button.value==`function`?button.value(text.value):button.value)}),{default:withCtx(()=>[createTextVNode(toDisplayString(button.label),1)]),_:2},1040,[`disabled`,`onClick`]))),128))])])],8,_hoisted_1$293)),[[unref(BngOnUiNav_default),handleCancelWithBack,`back,menu`]])}},Prompt_default=__plugin_vue_export_helper_default(_sfc_main$332,[[`__scopeId`,`data-v-cce4437b`]]),__default__$9={position:popupPosition.left},_sfc_main$331=Object.assign(__default__$9,{__name:`ScreenOverlay`,props:{view:Object},emits:[`return`],setup(__props){return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(__props.view),{onClose:_cache[0]||=$event=>_ctx.$emit(`return`,!0)},null,32))}}),ScreenOverlay_default=_sfc_main$331,popup_components_exports=__export({Confirmation:()=>Confirmation_default,FormDialog:()=>FormDialog_default,Progress:()=>Progress_default,Prompt:()=>Prompt_default,ScreenOverlay:()=>ScreenOverlay_default}),popupLimit=5,activityLimit=3,count=-1;const PopupTypes=Object.freeze({activity:10,normal:100,priority:1e3});var PopupTypesBack=Object.freeze(Object.keys(PopupTypes).reduce((res,key)=>({...res,[String(PopupTypes[key])]:key}),{})),PopupTypesPairs=Object.freeze(Object.keys(PopupTypes).map(key=>[PopupTypes[key],key]).sort((a$1,b)=>a$1[0]-b[0]));function getPopupTypeName(type=PopupTypes.normal){let strType=String(type);if(strType in PopupTypesBack)return PopupTypesBack[strType];for(let[ptype,pname]of PopupTypesPairs)if(typepopupsAll.filter(itm=>itm.type>=PopupTypes.normal)),activitiesFiltered=computed(()=>popupsAll.filter(itm=>itm.typepopupsFiltered.value.length>0?popupsFiltered.value.slice(-popupLimit):null),popupsWrapper:computed(()=>accumulateWrapper(popupsFiltered.value,getPopupWrapperDefaults())),activities:computed(()=>activitiesFiltered.value.length>0?activitiesFiltered.value.slice(-activityLimit):null),activitiesWrapper:computed(()=>accumulateWrapper(activitiesFiltered.value,getActivityWrapperDefaults()))});function accumulateWrapper(popups,wrapper){for(let popup of popups)wrapper.fade!==popup.wrapper.fade&&(wrapper.fade=popup.wrapper.fade),wrapper.blur!==popup.wrapper.blur&&(wrapper.blur=popup.wrapper.blur),popup.wrapper.style&&wrapper.style.push(...popup.wrapper.style);return wrapper}function addPopup(componentOrName,props={},type=PopupTypes.normal){let component=typeof componentOrName==`string`?popup_components_exports[componentOrName]:componentOrName;if(!component)throw Error(`There is no popup base component named "${componentOrName}".Available components: "${Object.keys(popup_components_exports).join(`", "`)}"`);let popup={id:++count,active:!1,type,typeName:getPopupTypeName(type),component:markRaw({ref:component}),componentName:component.__name,props:{__id:count,...props},position:[popupPosition.default],animated:!0,wrapper:type>=PopupTypes.normal?getPopupWrapperDefaults():getActivityWrapperDefaults()};component.position&&(popup.position=Array.isArray(component.position)?component.position:[component.position]),typeof component.animated==`boolean`&&(popup.animated=component.animated),`wrapper`in component&&(typeof component.wrapper.fade==`boolean`&&(popup.wrapper.fade=component.wrapper.fade),typeof component.wrapper.blur==`boolean`&&(popup.wrapper.blur=component.wrapper.blur),component.wrapper.style&&(popup.wrapper.style=Array.isArray(component.wrapper.style)?component.wrapper.style:[component.wrapper.style])),popup.promise=new Promise((resolve$1,reject)=>{popup._resolve=resolve$1,popup._reject=reject}),popup.return=result=>{for(let i=0;i0&&(popupsAll[popupsAll.length-1].active=!0),reportPopupState(popup,!1);break}result===void 0?popup._reject():popup._resolve(result)},popup.promise.close=popup.return;for(let i=0;itype)return popupsAll.splice(i,0,popup),reportPopupState(popup,!0),popup;return popupsAll.length>0&&(popupsAll[popupsAll.length-1].active=!1),popup.active=!0,popupsAll.push(popup),reportPopupState(popup,!0),popup}function closeLastPopups(count$1=1){popupsAll.slice(-count$1).forEach(popup=>popup.return())}const openMessage=(title,message)=>addPopup(`Confirmation`,{title,message,buttons:[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}}]}).promise,openConfirmation=(title,message,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,extras:{default:!0}},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],appearance=``)=>addPopup(`Confirmation`,{title,message,buttons,appearance}).promise,openPrompt=(message=``,title=``,{buttons=[{label:$translate.instant(`ui.common.okay`),value:text=>text},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}={})=>addPopup(`Prompt`,{message,title,buttons,defaultValue,maxLength,validate,errorMessage,disableWhenInvalid}).promise,openExperimental=(title,message,buttons=[{label:$translate.instant(`ui.common.yes`),value:!0},{label:$translate.instant(`ui.common.no`),value:!1}])=>addPopup(`Confirmation`,{title,message,buttons,appearance:`experimental`}).promise,openScreenOverlay=component=>addPopup(`ScreenOverlay`,{view:markRaw(component)},PopupTypes.activity).promise,openFormDialog=(component,formModel,formValidator,title,description,buttons=[{label:$translate.instant(`ui.common.okay`),value:!0,emitData:!0},{label:$translate.instant(`ui.common.cancel`),value:!1,extras:{cancel:!0,accent:ACCENTS.secondary}}],maxWidth)=>addPopup(`FormDialog`,{view:markRaw(component),formModel,formValidator,title,description,buttons,maxWidth},PopupTypes.normal).promise,openProgress=(message=``,title=``,{buttons=[],indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable}={})=>{let popup=addPopup(`Progress`,{message,title,buttons,indeterminate,min:min$1,max:max$1,initialValue,valueLabelFormat,timeout,cancellable,tunnel:{}});return popup.progress=popup.props.tunnel,popup.progress.done=popup.return,popup},fixedDelayPopup=(seconds,{makeRemainingText=s=>s?Math.round(s)+`s remaining...`:`Done!`,title=``}={})=>{let popup=openProgress(makeRemainingText(seconds),title,{timeout:seconds+1}),remaining=seconds,endTime=Date.now()+remaining*1e3,countdown=()=>{let timeLeft=(endTime-Date.now())/1e3;timeLeft>0?(remaining=timeLeft,requestAnimationFrame(countdown)):remaining=0,popup.progress.update(~~((seconds-remaining)*100/seconds),makeRemainingText(remaining))};return requestAnimationFrame(countdown),popup};var _hoisted_1$292={class:`activity-selector`},_hoisted_2$240={class:`activities-container`},_hoisted_3$213=[`onClick`],_hoisted_4$182={class:`selector-display`},selectConfig={label:x=>x.label,value:x=>x.value},_sfc_main$330={__name:`ActivitySelector`,props:{activities:{type:Array,required:!0},value:{type:[String,Number]},navLeftEvent:{type:String},navRightEvent:{type:String}},emits:[`valueChanged`],setup(__props,{expose:__expose,emit:__emit}){let props=__props,selectComponent=ref(),emit$1=__emit,activityOptions=computed(()=>props.activities.map((x,index)=>({label:index+1,value:x.value})));computed(()=>(activityOptions.value?activityOptions.value.find(x=>x.value===selectedValue.value):null)||{label:`?`,value:selectedValue.value});let selectedValue=ref(1);watch(()=>props.value,val=>selectedValue.value=val||props.activities[0].value,{immediate:!0});let onValueChanged=value=>{selectedValue.value=value,console.log(`onValueChanged`,value),emit$1(`valueChanged`,value)};return __expose({goNext:()=>selectComponent.value.goNext(),goPrev:()=>selectComponent.value.goPrev()}),computed(()=>`url("${getAssetURL(`icons/temp_debug/map_poi_target.svg`)}")`),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$292,[createBaseVNode(`div`,_hoisted_2$240,[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.activities,activity=>(openBlock(),createElementBlock(`div`,{key:activity,class:normalizeClass([`activity-icon`,{highlighted:activity.value===selectedValue.value}]),onClick:$event=>onValueChanged(activity.value)},[createVNode(unref(bngSpriteIcon_default),{src:`map_`+activity.icon,style:{width:`100%`,height:`100%`}},null,8,[`src`])],10,_hoisted_3$213))),128))]),createVNode(unref(bngSelect_default),{ref_key:`selectComponent`,ref:selectComponent,value:selectedValue.value,options:activityOptions.value,config:selectConfig,mute:``,loop:``,onChange:onValueChanged,navLeftEvent:__props.navLeftEvent,navRightEvent:__props.navRightEvent},{display:withCtx(({label})=>[createBaseVNode(`div`,_hoisted_4$182,[createBaseVNode(`span`,null,toDisplayString(label),1),createVNode(unref(bngDivider_default)),createBaseVNode(`span`,null,toDisplayString(__props.activities.length),1)])]),_:1},8,[`value`,`options`,`navLeftEvent`,`navRightEvent`])]))}},ActivitySelector_default=__plugin_vue_export_helper_default(_sfc_main$330,[[`__scopeId`,`data-v-53fb9327`]]),_hoisted_1$291={key:0,class:`activity-start`,"bng-ui-scope":`activityStart`},_hoisted_2$239={class:`activity-props`},_hoisted_3$212={class:`binding-spacer`},BNG_MAIN_STARS_TYPE=`BngMainStars`,_sfc_main$329={__name:`ActivityStart`,setup(__props){useUINavScope(`activityStart`);let activitySelector=ref(null),goNext=()=>activitySelector.value&&activitySelector.value.goNext(),goPrev=()=>activitySelector.value&&activitySelector.value.goPrev(),gameContextStore=useGameContextStore(),{activities}=storeToRefs(gameContextStore),{closeActivitiesPrompt}=gameContextStore,selectedActivityIndex=ref(0),availableActivities=ref([]),activityOptions=computed(()=>{let result=availableActivities.value?availableActivities.value.map((x,index)=>({id:index,value:index,icon:x.icon})):[];return doFiltering&&filterEvents(result.length>1),result}),selectedActivity=computed(()=>{if(selectedActivityIndex.value<0||!availableActivities.value||availableActivities.value.length===0)return null;let activity=availableActivities.value[selectedActivityIndex.value],labels=activity.props&&activity.props.length>0?activity.props.filter(x=>!x.type):[];return{heading:activity.heading,icon:activity.icon,preheadings:activity.preheadings,labels:labels.map(x=>({keyLabel:$translate.instant(x.keyLabel),valueLabel:$translate.instant(x.valueLabel),icon:icons[x.icon]})),stars:activity.props&&activity.props.length>0?activity.props.find(x=>x.type===BNG_MAIN_STARS_TYPE):null,startable:!0,buttonLabel:activity.buttonLabel,action:activity.action,missionInfoPerformActionIndex:activity.missionInfoPerformActionIndex}}),preheadings=computed(()=>selectedActivity.value&&selectedActivity.value.preheadings?selectedActivity.value.preheadings.map(x=>$translate.contextTranslate(x)):[]),invokeActivityAction=()=>{Lua_default.ui_missionInfo.performActivityAction(selectedActivity.value.missionInfoPerformActionIndex)};watch(selectedActivity,()=>{Lua_default.ui_missionInfo.setActivityIndexVisible(selectedActivityIndex.value)});let onActivitySelected=value=>{selectedActivityIndex.value=value},onCancel=()=>{closeActivitiesPrompt()},openPauseMenu=()=>{onCancel(),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(`MenuToggle`)};onBeforeMount(()=>{availableActivities.value=activities.value}),onMounted(()=>{getUINavServiceInstance().activate()}),onUnmounted(()=>{doFiltering=!1,getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam),Lua_default.ui_missionInfo.setActivityIndexVisible(-1)});let doFiltering=!0,filterEvents=withTabs=>getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.back,UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam,...withTabs?[UI_EVENTS.tab_l,UI_EVENTS.tab_r]:[]);return(_ctx,_cache)=>selectedActivity.value?withDirectives((openBlock(),createElementBlock(`div`,_hoisted_1$291,[activityOptions.value&&activityOptions.value.length>1?(openBlock(),createBlock(ActivitySelector_default,{key:0,ref_key:`activitySelector`,ref:activitySelector,activities:activityOptions.value,value:selectedActivityIndex.value,onValueChanged:onActivitySelected,navLeftEvent:`tab_l`,navRightEvent:`tab_r`},null,8,[`activities`,`value`])):createCommentVNode(``,!0),selectedActivity.value.heading?(openBlock(),createBlock(unref(bngScreenHeading_default),{key:1,mute:``,divider:``,preheadings:preheadings.value,"blur-delay":400},{default:withCtx(()=>[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.heading)),1),selectedActivity.value.description?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(`: `+toDisplayString(_ctx.$ctx_t(selectedActivity.value.description)),1)],64)):createCommentVNode(``,!0)]),_:1},8,[`preheadings`])):createCommentVNode(``,!0),createBaseVNode(`div`,_hoisted_2$239,[selectedActivity.value.stars&&selectedActivity.value.stars.defaultStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:0,"unlocked-stars":selectedActivity.value.stars.defaultUnlockedStarCount,"total-stars":selectedActivity.value.stars.defaultStarCount,class:`main-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),selectedActivity.value.stars&&selectedActivity.value.stars.bonusStarCount?(openBlock(),createBlock(unref(bngMainStars_default),{key:1,"unlocked-stars":selectedActivity.value.stars.bonusStarsUnlockedCount,"total-stars":selectedActivity.value.stars.bonusStarCount,class:`bonus-stars`},null,8,[`unlocked-stars`,`total-stars`])):createCommentVNode(``,!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(selectedActivity.value.labels,(label,index)=>(openBlock(),createBlock(unref(bngPropVal_default),{key:index,iconType:label.icon,keyLabel:label.keyLabel,valueLabel:label.valueLabel},null,8,[`iconType`,`keyLabel`,`valueLabel`]))),128))]),createBaseVNode(`div`,null,[withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).main,onClick:invokeActivityAction},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$212,[createVNode(unref(bngBinding_default),{action:`gameplay_interact`})]),selectedActivity.value.startable?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(_ctx.$ctx_t(selectedActivity.value.buttonLabel)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(_ctx.$tt(`ui.mission.action.locked`)),1)],64))]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`gameplay_interact`,{asMouse:!0}]]),withDirectives((openBlock(),createBlock(unref(bngButton_default),{accent:unref(ACCENTS).secondary,onClick:onCancel},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{"ui-event":`back`,controller:``}),createTextVNode(` `+toDisplayString(_ctx.$tt(`ui.common.close`)),1)]),_:1},8,[`accent`])),[[unref(BngOnUiNav_default),void 0,`back`,{asMouse:!0}]])])])),[[unref(BngOnUiNav_default),goPrev,`tab_l`,{up:!0}],[unref(BngOnUiNav_default),goNext,`tab_r`,{up:!0}],[unref(BngOnUiNav_default),openPauseMenu,`menu`]]):createCommentVNode(``,!0)}},ActivityStart_default=__plugin_vue_export_helper_default(_sfc_main$329,[[`__scopeId`,`data-v-1f131cb6`]]),_hoisted_1$290={class:`recovery-wrapper`,"bng-ui-scope":`recoveryPrompt`},_hoisted_2$238={class:`content`},_hoisted_3$211={class:`label`},_hoisted_4$181={key:0,class:`more-options`},_hoisted_5$155={key:0,class:`notification`},__default__$8={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$328=Object.assign(__default__$8,{__name:`Recovery`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`recoveryPrompt`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),popupData=ref({}),clickHandler=(index,button,fromController)=>{button.confirmationText||executeButtonAction(index,button)},executeButtonAction=(index,button)=>{Lua_default.core_recoveryPrompt.uiPopupButtonPressed(index+1),button.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},cancelClickHandler=()=>{Lua_default.core_recoveryPrompt.uiPopupCancelPressed(),popupData.value.cancelButton.keepMenuOpen||(closeRecoveryPrompt(),emit$1(`return`,!0))},updateRecoveryPopupData=()=>{Lua_default.core_recoveryPrompt.getUIData().then(value=>popupData.value=value)};return events$3.on(`updateRecoveryPopupData`,updateRecoveryPopupData),onMounted(()=>{getUINavServiceInstance().activate(),getUINavServiceInstance().clearFilteredEvents(),updateRecoveryPopupData()}),onUnmounted(()=>{events$3.off(`updateRecoveryPopupData`,updateRecoveryPopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$290,[createVNode(unref(bngCard_default),null,{buttons:withCtx(()=>[unref(popupData).cancelButton?withDirectives((openBlock(),createBlock(unref(bngButton_default),{key:0,label:unref(popupData).cancelButton.label,accent:unref(ACCENTS).attention,onClick:cancelClickHandler},null,8,[`label`,`accent`])),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]]):createCommentVNode(``,!0)]),default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(popupData).title),1)]),_:1}),createBaseVNode(`div`,_hoisted_2$238,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(popupData).buttons,(button,index)=>withDirectives((openBlock(),createBlock(unref(bngButton_default),{"show-hold":!!button.confirmationText,"hold-vertical":``,accent:unref(ACCENTS).outlined,class:`recovery-option-button`},{default:withCtx(()=>[createVNode(unref(bngImageTile_default),{class:`recovery-option-tile`,icon:unref(icons)[button.icon]},{default:withCtx(()=>[createBaseVNode(`span`,_hoisted_3$211,toDisplayString(_ctx.$ctx_t(button.label)),1),button.price?(openBlock(),createBlock(unref(bngDivider_default),{key:0})):createCommentVNode(``,!0),button.price?(openBlock(),createBlock(unref(bngUnit_default),{key:1,class:`units`,money:button.price.money.amount,options:{formatter:x=>~~x}},null,8,[`money`,`options`])):createCommentVNode(``,!0)]),_:2},1032,[`icon`]),button.keepMenuOpen?(openBlock(),createElementBlock(`span`,_hoisted_4$181,`⇢`)):createCommentVNode(``,!0)]),_:2},1032,[`show-hold`,`accent`])),[[unref(BngDisabled_default),!button.enabled],[unref(BngFocusIf_default),!index||button.enabled&&!unref(popupData).buttons[0].enabled],[unref(BngOnUiNav_default),void 0,`ok`,{asMouse:!0,focusRequired:!0}],[unref(BngClick_default),{clickCallback:e=>clickHandler(index,button,e.fromController),holdCallback:button.confirmationText?()=>executeButtonAction(index,button):null,holdDelay:500,repeatInterval:0}]])),256)),unref(popupData).warningMessage?(openBlock(),createElementBlock(`div`,_hoisted_5$155,toDisplayString(unref(popupData).warningMessage),1)):createCommentVNode(``,!0)])]),_:1})]))}}),Recovery_default=__plugin_vue_export_helper_default(_sfc_main$328,[[`__scopeId`,`data-v-8495e64c`]]),_hoisted_1$289={class:`item-container`,navigable:``,tabindex:`0`},_hoisted_2$237={class:`item-content`},_hoisted_3$210={class:`item-container indented`,navigable:``,tabindex:`0`},_hoisted_4$180={class:`item-content`},_sfc_main$327={__name:`FavoriteSelectionItem`,props:{data:Object,level:{type:Number,default:0}},emits:[`addedFunction`,`removedFunction`],setup(__props,{emit:__emit}){let emit$1=__emit,expandedStates=ref({}),focusedItem=ref(null),toggleExpanded=(idx,value)=>{expandedStates.value[idx]=value},select=item=>{focusedItem.value=item},deselect=item=>{focusedItem.value===item&&(focusedItem.value=null)},isFocused=item=>focusedItem.value===item,addActionToQuickAccess=item=>{console.log(`addActionToQuickAccess`,item),item&&item.uniqueID&&emit$1(`addedFunction`,item)},removeFunction=()=>{emit$1(`removedFunction`)};return(_ctx,_cache)=>{let _component_FavoriteSelectionItem=resolveComponent(`FavoriteSelectionItem`,!0);return openBlock(),createBlock(unref(accordion_default),{class:`favorite-selection-item`,expanded:__props.data.expanded},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(__props.data.items,(item,idx)=>(openBlock(),createElementBlock(`div`,{key:idx,class:`item-wrapper`},[item.items?(openBlock(),createBlock(unref(accordionItem_default),{key:0,navigable:``,static:!item.items,expanded:expandedStates.value[idx],onExpanded:$event=>toggleExpanded(idx,$event),"arrow-big":``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`,"expand-hint-inline":``},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_1$289,[createBaseVNode(`div`,_hoisted_2$237,[createVNode(unref(bngIcon_default),{type:unref(icons)[item.icon]},null,8,[`type`]),createTextVNode(` `+toDisplayString(item.title?unref($translate).instant(item.title):item.niceName),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,accent:`outlined`,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[0]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),default:withCtx(()=>[createVNode(_component_FavoriteSelectionItem,{data:item,level:__props.level+1,onAddedFunction:addActionToQuickAccess,onRemovedFunction:removeFunction},null,8,[`data`,`level`])]),_:2},1032,[`static`,`expanded`,`onExpanded`,`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`])):(openBlock(),createBlock(unref(accordionItem_default),{key:1,static:!0,navigable:``,onMouseover:withModifiers($event=>select(item),[`stop`]),onMouseleave:withModifiers($event=>deselect(item),[`stop`]),onFocusin:withModifiers($event=>select(item),[`stop`]),onFocusout:withModifiers($event=>deselect(item),[`stop`]),"primary-action":()=>addActionToQuickAccess(item),"primary-label":`ui.inputActions.menu.menu_item_select.title`},{caption:withCtx(()=>[createBaseVNode(`div`,_hoisted_3$210,[createBaseVNode(`div`,_hoisted_4$180,[item.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[item.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref($translate).instant(item.title)),1)]),item.uniqueID&&isFocused(item)?(openBlock(),createBlock(unref(bngButton_default),{key:0,class:`select-button`,onClick:$event=>addActionToQuickAccess(item),accent:`outlined`,"bng-no-nav":``},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`ok`,controller:``}),_cache[1]||=createTextVNode(` Select `,-1)]),_:1},8,[`onClick`])):createCommentVNode(``,!0)])]),_:2},1032,[`onMouseover`,`onMouseleave`,`onFocusin`,`onFocusout`,`primary-action`]))]))),128))]),_:1},8,[`expanded`])}}},FavoriteSelectionItem_default=__plugin_vue_export_helper_default(_sfc_main$327,[[`__scopeId`,`data-v-dd594aec`]]),_hoisted_1$288={class:`backgroundContainer`},_hoisted_2$236={key:0,class:`recovery-wrapper`,"bng-ui-scope":`favoriteSelection`},_hoisted_3$209={class:`current-action-container`},_hoisted_4$179={key:0},_hoisted_5$154={key:1},_hoisted_6$133={key:2},_hoisted_7$119={key:0,class:`content`},__default__$7={wrapper:{fade:!0,blur:!0,style:popupContainer.transparent},position:[popupPosition.center,popupPosition.center]},_sfc_main$326=Object.assign(__default__$7,{__name:`FavoriteSelection`,emits:[`return`],setup(__props,{emit:__emit}){let{events:events$3}=useBridge();useUINavScope(`favoriteSelection`);let emit$1=__emit,{closeRecoveryPrompt}=useGameContextStore(),data=ref({}),updateFavoritePopupData=()=>{Lua_default.core_quickAccess.getDynamicSlotConfigurationData().then(value=>data.value=value)};events$3.on(`radialFavoriteSelectionPopupData`,updateFavoritePopupData);let addedFunction=item=>{let config={uniqueID:item.uniqueID,level:item.level,type:item.type,mode:item.mode||`uniqueAction`};console.log(`addedFunction`,config),Lua_default.core_quickAccess.setDynamicSlotConfiguration(data.value.dynamicSlotKey,config),emit$1(`return`,!0)},removeFunction=()=>{Lua_default.core_quickAccess.removeActionFromQuickAccess(data.value.slotIndex),emit$1(`return`,!0)},close=()=>{emit$1(`return`,!0)};return onMounted(()=>{updateFavoritePopupData()}),onUnmounted(()=>{events$3.off(`radialFavoriteSelectionPopupData`,updateFavoritePopupData),window.bngVue.getCurrentRoute().name==`unknown`&&getUINavServiceInstance().setFilteredEventsAllExcept(UI_EVENTS.menu,UI_EVENTS.pause,UI_EVENTS.center_cam)}),(_ctx,_cache)=>(openBlock(),createElementBlock(`div`,_hoisted_1$288,[unref(data).dynamicSlotKey?(openBlock(),createElementBlock(`div`,_hoisted_2$236,[createVNode(unref(bngCard_default),null,{default:withCtx(()=>[createVNode(unref(bngCardHeading_default),{type:`ribbon`},{default:withCtx(()=>[createTextVNode(` Assign Action to: `+toDisplayString(unref(data).dynamicSlotData.breadcrumbs[0]),1)]),_:1}),createBaseVNode(`div`,_hoisted_3$209,[_cache[3]||=createBaseVNode(`div`,{class:`current-action-label`},`Currently Assigned Action:`,-1),unref(data).dynamicSlotData.mode===`uniqueAction`&&unref(data).uniqueAction?(openBlock(),createElementBlock(`div`,_hoisted_4$179,[unref(data).uniqueAction.icon?(openBlock(),createBlock(unref(bngIcon_default),{key:0,type:unref(icons)[unref(data).uniqueAction.icon]},null,8,[`type`])):createCommentVNode(``,!0),createTextVNode(` `+toDisplayString(unref(data).uniqueAction.title?unref($translate).instant(unref(data).uniqueAction.title):unref(data).uniqueAction.niceName),1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`recentActions`?(openBlock(),createElementBlock(`div`,_hoisted_5$154,[createVNode(unref(bngIcon_default),{type:unref(icons).timer},null,8,[`type`]),_cache[1]||=createTextVNode(` Most Recent Action `,-1)])):createCommentVNode(``,!0),unref(data).dynamicSlotData.mode===`empty`?(openBlock(),createElementBlock(`div`,_hoisted_6$133,[createVNode(unref(bngIcon_default),{type:unref(icons).circleSlashed},null,8,[`type`]),_cache[2]||=createTextVNode(` Empty `,-1)])):createCommentVNode(``,!0)]),_cache[5]||=createBaseVNode(`div`,{class:`divider`},null,-1),unref(data).items?(openBlock(),createElementBlock(`div`,_hoisted_7$119,[createVNode(FavoriteSelectionItem_default,{data:unref(data).items,onAddedFunction:addedFunction,onRemovedFunction:removeFunction},null,8,[`data`])])):createCommentVNode(``,!0),withDirectives((openBlock(),createBlock(unref(bngButton_default),{class:`cancel-button`,onClick:_cache[0]||=$event=>close(),accent:`attention`},{default:withCtx(()=>[createVNode(unref(bngBinding_default),{class:`input-icon`,"ui-event":`back`,controller:``}),_cache[4]||=createTextVNode(` Cancel `,-1)]),_:1})),[[unref(BngOnUiNav_default),void 0,`back,menu`,{asMouse:!0}]])]),_:1})])):createCommentVNode(``,!0)]))}}),FavoriteSelection_default=__plugin_vue_export_helper_default(_sfc_main$326,[[`__scopeId`,`data-v-88390882`]]);const useGameContextStore=defineStore(`gameContext`,()=>{let{events:events$3}=useBridge(),activities=ref([]),activityScreen=null,recoveryPrompt=null,radialFavoriteSelectionPrompt=null,deliveryEndScreen=null,simpleDelayPopup=null,startMission=missionId=>{let mission=activities.value.find(x=>x.id===missionId);mission||console.error(`Mission not found ${missionId}. cannot start`);let settings$1=mission.settings,userSettings=mission&&settings$1?settings$1.reduce((a$1,b)=>a$1[b.key]=b.value,a):{};Lua_default.gameplay_markerInteraction.startMissionById(mission.id,userSettings)},closeActivitiesPrompt=()=>{Lua_default.gameplay_markerInteraction.closeViewDetailPrompt(!0)};function openRecoveryPrompt(){recoveryPrompt=addPopup(Recovery_default).promise}function openDynamicSlotConfigurator(){radialFavoriteSelectionPrompt=addPopup(FavoriteSelection_default).promise}function openSimpleDelayPopup(data){simpleDelayPopup=fixedDelayPopup(data.timer,{title:data.heading})}let performActivityAction=activityActionIndex=>Lua_default.ui_missionInfo.performActivityAction(activityActionIndex);events$3.on(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.on(`ActivityAcceptClose`,closeActivitiesPopup),events$3.on(`MenuOpenModule`,closeActivitiesPopup),events$3.on(`ChangeState`,closeActivitiesPopup),events$3.on(`OpenRecoveryPrompt`,openRecoveryPrompt),events$3.on(`OpenDynamicSlotConfigurator`,openDynamicSlotConfigurator),events$3.on(`OpenSimpleDelayPopup`,openSimpleDelayPopup);let deliveryRewardData=ref(!1);function showDeliveryEndScreen(data){deliveryRewardData.value=data,window.bngVue.gotoGameState(`cargoDeliveryReward`)}events$3.on(`OpenDeliveryEndScreen`,showDeliveryEndScreen);function onActivityAcceptUpdate(data){activityScreen&&(activities.value||!data)&&closeActivitiesPopup(),window.location.hash===`#/play`&&(activities.value=data,activities.value&&activities.value.length>0&&(activityScreen=openScreenOverlay(ActivityStart_default)))}function closeActivitiesPopup(){activityScreen&&=(activityScreen.close(!0),null)}function closeRecoveryPrompt(){recoveryPrompt&&=(recoveryPrompt.close(!0),null)}function closeRadialFavoriteSelectionPrompt(){radialFavoriteSelectionPrompt&&=(radialFavoriteSelectionPrompt.close(!0),null)}function closeSimpleDelayPopup(){simpleDelayPopup&&=(simpleDelayPopup.progress.done(),null)}function closeDeliveryEndScreen(){deliveryEndScreen&&=(deliveryEndScreen.close(!0),null)}function dispose$2(){events$3.off(`ActivityAcceptUpdate`,onActivityAcceptUpdate),events$3.off(`ActivityAcceptClose`,closeActivitiesPopup)}return{activities,closeActivitiesPrompt,closeDeliveryEndScreen,closeRecoveryPrompt,closeRadialFavoriteSelectionPrompt,closeSimpleDelayPopup,deliveryRewardData,dispose:dispose$2,performActivityAction,startMission}});var PARSE_NESTED$1=`PARSE_NESTED`,bbcode_main_default=[[/\[url=https?:\/\/([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[url='https?:\/\/([^\s\]]+)'\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[forumurl=https?:\/\/([^\s\]]+)\](\S*?(?=\[\/forumurl\]))\[\/forumurl\]/gi,`$2`],[/\[url\]https?:\/\/(.*?(?=\[\/url\]))\[\/url\]/gi,`$1`],[/\[url=([^\s\]]+)\](.*?(?=\[\/url\]))\[\/url\]/gi,`$2`],[/\[h(\d)\](.*?(?=\[\/h\d\]))\[\/h\d\]/gi,`$2`],[/\[img\]\s*?(\S*?(?=\[\/img\]))\[\/img\]/gi,``],[/\shttp(s|):\/\/(\S*)/gi,`http$1://$2`],[/\[list=\d+\](.*?(?=\[\/list\]))\[\/list\]/gi,`
      $1
    `],[/\[list\]/gi,`
      `],[/\[\/list\]/gi,`
    `],[/\[olist\]/gi,`
      `],[/\[\/olist\]/gi,`
    `],[/\[(\*|\+)\]\s*?((.|\s)*?(?=\[(\*|\+)\]|\<\/ul\>|\<\/ol\>|\n\n|$))/gim,`
  • $2
  • `],[PARSE_NESTED$1,/\[b\](.*?(?=\[\/b\]))\[\/b\]/gi,`$1`],[PARSE_NESTED$1,/\[u\](.*?(?=\[\/u\]))\[\/u\]/gi,`$1`],[PARSE_NESTED$1,/\[s\](.*?(?=\[\/s\]))\[\/s\]/gi,`$1`],[PARSE_NESTED$1,/\[i\](.*?(?=\[\/i\]))\[\/i\]/gi,`$1`],[/\[strike\](.*?(?=\[\/strike\]))\[\/strike\]/gi,`$1`],[/\[code\](.*?(?=\[\/code\]))\[\/code\]/gi,`$1`],[/\[br\]/gi,`
    `],[/\n\n/gi,`

    `],[/\n/gi,`
    `],[/\[attach=?f?u?l?l?\](.*?(?=\[\/attach\]))\[\/attach\]/gi,``],[/\[USER=([\d]+)\](.*?(?=\[\/USER\]))\[\/USER\]/gi,`$2`],[/\[MEDIA=youtube\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,`
    `],[/\[MEDIA=beamng\](.*?(?=\[\/MEDIA\]))\[\/MEDIA\]/gi,``],[PARSE_NESTED$1,/\[size=(\d+)\]([^[]*(?:\[(?!size=\d+\]|\/size\])[^[]*)*)\[\/size\]/gi,`$2`],[PARSE_NESTED$1,/\[COLOR=([a-z0-9\#\, \'\"\(\)]+)\]([^[]*(?:\[(?!COLOR=[a-z0-9#\(\)]+\]|\/COLOR\])[^[]*)*)\[\/COLOR\]/gi,`$2`],[PARSE_NESTED$1,/\[font=([^\]]+)\](.*?(?=\[\/font\]))\[\/font\]/gi,`$2`],[/\[hr\]\[\/hr\]/gi,`
    `],[/\[spoiler=([^\]]+)\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler: $1
    $2
    `],[/\[spoiler\](.*?(?=\[\/spoiler\]))\[\/spoiler\]/gi,`
    Spoiler
    $1
    `],[PARSE_NESTED$1,/\[left\](.*?(?=\[\/left\]))\[\/left\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[center\](.*?(?=\[\/center\]))\[\/center\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\[right\](.*?(?=\[\/right\]))\[\/right\]/gi,`

    $1

    `],[PARSE_NESTED$1,/\*\*(.*?(?=\*\*))\*\*/gi,`$1`],[PARSE_NESTED$1,/\*(.*?(?=\*))\*/gi,`$1`],[PARSE_NESTED$1,/\[(.*?(?=\]\())\]\((https?:\/\/((.*?(?=\)))))\)/gi,`$1 ($2)`]],bbcode_vue_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``],[/\[(money|beamXP|stars|vouchers)=(.*?)\]/g,``]],bbcode_angular_default=[[/\[ico=([^\s\]]+)\s*\](.*?(?=\[\/ico\]))\[\/ico\]/gi,`$2`],[/\[ico=([^\s\]]+)\s*\]/gi,``],[/\[action=(.*?)\]\[showunassigned=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\](.*?)/gi,``],[/\[action=(.*?)\]/gi,``]],bbcode_exports=__export({parse:()=>parse$1,useExtensions:()=>useExtensions}),PARSE_NESTED=`PARSE_NESTED`,_extensions=bbcode_vue_default;const useExtensions=exts=>_extensions=exts,parse$1=(txt,extensions$1=_extensions)=>{let text=``+txt;return[...bbcode_main_default,...extensions$1].forEach(replacement=>{let{nested,fromTo}=replacementDetails(replacement);text=nested?parseNested(text,...fromTo):text.replace(...fromTo)}),text};window.angularParseBBCode=txt=>parse$1(txt,bbcode_angular_default);var replacementDetails=replacement=>({nested:replacement.length==3&&replacement[0]===PARSE_NESTED,fromTo:replacement.slice(-2)}),parseNested=(text,regex,template)=>{for(;~text.search(regex);)text=text.replace(regex,template);return text},markdown_exports=__export({parse:()=>parse});function parse(src){let h$1=``;return src.replace(/^\s+|\r|\s+$/g,``).replace(/\t/g,` `).split(/\n\n+/).forEach(function(b,f,R){f=b[0],R={"*":[/\n\* /,`
    • `,`
    `],1:[/\n[1-9]\d*\.? /,`
    1. `,`
    `]," ":[/\n {4}/,`
    `,`
    `,` `],">":[/\n> /,`
    `,`
    `,`
    @/ui/ui-vue/src/services/controls.js
          serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
          lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
        }
          serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
          lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
        }
        serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
        lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
      }
          serializeCheck(newDeviceContents.name) // log potential errors in computers set to non-english language
          lua.extensions.core_input_bindings.saveBindingsToDisk(newDeviceContents)
        }
        serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
        lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
      }
          serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
          lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
        }
        serializeCheck(deviceContents.name) // log potential errors in computers set to non-english language
        lua.extensions.core_input_bindings.saveBindingsToDisk(deviceContents)
      }
    @/ui/modules/options/options.js
            bngApi.serializeToLuaCheck(deviceContents.name) // log potential errors in computers set to non-english language
            bngApi.engineLua(`extensions.core_input_bindings.saveBindingsToDisk(${bngApi.serializeToLua(deviceContents)})`)
          }
          bngApi.serializeToLuaCheck(deviceContents.name) // log potential errors in computers set to non-english language
          bngApi.engineLua(`extensions.core_input_bindings.saveBindingsToDisk(${bngApi.serializeToLua(deviceContents)})`)
        },
            bngApi.serializeToLuaCheck(deviceContents.name)
            bngApi.engineLua(`extensions.core_input_bindings.saveBindingsToDisk(${bngApi.serializeToLua(deviceContents)})`)
          })