ai12z 3.0.12 → 3.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"names":["utils","__esModule","extend","indexOf","escapeExpression","isEmpty","createFrame","blockParams","appendContextPath","escape","badChars","possible","escapeChar","chr","obj","i","arguments","length","key","Object","prototype","hasOwnProperty","call","toString","isFunction","value","isArray","Array","array","len","string","toHTML","test","replace","object","frame","_parent","params","ids","path","contextPath","id","exports","errorProps","Exception","message","node","loc","line","undefined","endLineNumber","column","endColumn","start","end","tmp","Error","constructor","this","idx","captureStackTrace","lineNumber","defineProperty","enumerable","nop","module","_utils","require$$0","instance","registerHelper","context","options","inverse","fn","name","helpers","each","data","_interopRequireDefault","default","_exception","require$$1","_exception2","ret","execIteration","field","index","last","first","j","Symbol","iterator","newContext","it","next","done","push","priorKey","keys","forEach","conditional","hash","includeZero","args","level","log","apply","lookupProperty","registerDefaultHelpers","moveHelperToHooks","_helpersBlockHelperMissing","_helpersBlockHelperMissing2","_helpersEach","_helpersEach2","_helpersHelperMissing","require$$2","_helpersHelperMissing2","_helpersIf","require$$3","_helpersIf2","_helpersLog","require$$4","_helpersLog2","_helpersLookup","require$$5","_helpersLookup2","_helpersWith","require$$6","_helpersWith2","helperName","keepHelper","hooks","registerDecorator","props","container","partials","original","decorators","registerDefaultDecorators","_decoratorsInline","_decoratorsInline2","logger","methodMap","lookupLevel","levelMap","toLowerCase","parseInt","console","method","_len","_key","createNewLookupObject_1","createNewLookupObject","sources","create","concat","protoAccess","createProtoAccessControl","resultIsAllowed","resetLoggedProperties","_createNewLookupObject","_logger","_logger2","loggedProperties","runtimeOptions","defaultMethodWhiteList","defaultPropertyWhiteList","properties","whitelist","allowedProtoProperties","defaultValue","allowProtoPropertiesByDefault","methods","allowedProtoMethods","allowProtoMethodsByDefault","result","protoAccessControl","propertyName","checkWhiteList","protoAccessControlForType","logUnexpecedPropertyAccessOnce","base","HandlebarsEnvironment","_helpers","_decorators","_internalProtoAccess","VERSION","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","objectType","unregisterHelper","registerPartial","partial","unregisterPartial","unregisterDecorator","resetLoggedPropertyAccesses","SafeString","wrapHelper_1","wrapHelper","helper","transformOptionsFn","wrapper","runtime","checkRevision","template","wrapProgram","resolvePartial","invokePartial","noop","_interopRequireWildcard","newObj","Utils","_base","_internalWrapHelper","compilerInfo","compilerRevision","currentRevision","runtimeVersions","compilerVersions","templateSpec","env","main","decorator","main_d","VM","compiler","templateWasPrecompiledWithCompilerV7","invokePartialWrapper","extendedOptions","compile","compilerOptions","indent","lines","split","l","join","strict","parent","lookup","depths","lambda","current","programs","program","declaredBlockParams","programWrapper","depth","mergeIfNeeded","param","common","nullContext","seal","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","isTop","mergedHelpers","wrapHelpersToPassLookupProperty","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","prog","currentDepths","currentPartialBlock","partialBlock","partialBlockWrapper","Function","root","passLookupPropertyOption","Handlebars","globalThis","__defineGetter__","__magic__","$Handlebars","noConflict","_handlebarsBase","_handlebarsSafeString","_handlebarsSafeString2","_handlebarsException","_handlebarsException2","_handlebarsUtils","_handlebarsRuntime","_handlebarsNoConflict","_handlebarsNoConflict2","hb","spec","inst","AST","helperExpression","type","scopedId","simpleId","parts","handlebars","parser","trace","yy","symbols_","error","EOF","program_repetition0","statement","mustache","block","rawBlock","content","COMMENT","CONTENT","openRawBlock","rawBlock_repetition0","END_RAW_BLOCK","OPEN_RAW_BLOCK","openRawBlock_repetition0","openRawBlock_option0","CLOSE_RAW_BLOCK","openBlock","block_option0","closeBlock","openInverse","block_option1","OPEN_BLOCK","openBlock_repetition0","openBlock_option0","openBlock_option1","CLOSE","OPEN_INVERSE","openInverse_repetition0","openInverse_option0","openInverse_option1","openInverseChain","OPEN_INVERSE_CHAIN","openInverseChain_repetition0","openInverseChain_option0","openInverseChain_option1","inverseAndProgram","INVERSE","inverseChain","inverseChain_option0","OPEN_ENDBLOCK","OPEN","mustache_repetition0","mustache_option0","OPEN_UNESCAPED","mustache_repetition1","mustache_option1","CLOSE_UNESCAPED","OPEN_PARTIAL","partialName","partial_repetition0","partial_option0","openPartialBlock","OPEN_PARTIAL_BLOCK","openPartialBlock_repetition0","openPartialBlock_option0","sexpr","OPEN_SEXPR","sexpr_repetition0","sexpr_option0","CLOSE_SEXPR","hash_repetition_plus0","hashSegment","ID","EQUALS","OPEN_BLOCK_PARAMS","blockParams_repetition_plus0","CLOSE_BLOCK_PARAMS","dataName","STRING","NUMBER","BOOLEAN","UNDEFINED","NULL","DATA","pathSegments","SEP","$accept","$end","terminals_","productions_","performAction","anonymous","yytext","yyleng","yylineno","yystate","$$","_$","$0","$","prepareProgram","stripComment","strip","stripFlags","locInfo","prepareRawBlock","prepareBlock","open","chained","chain","prepareMustache","preparePartialBlock","pairs","Number","preparePath","part","separator","table","defaultActions","parseError","str","parse","input","self","stack","vstack","lstack","lexer","setInput","yylloc","yyloc","ranges","lex","token","symbol","state","action","r","yyval","p","newState","expected","errStr","showPosition","text","match","first_line","last_line","first_column","last_column","range","slice","_input","_more","_less","matched","conditionStack","offset","ch","unput","substr","oldLines","more","less","n","pastInput","past","upcomingInput","pre","c","tempMatch","rules","_currentRules","flex","matches","begin","condition","popState","pop","conditions","topState","pushState","yy_","$avoiding_name_collisions","YY_START","substring","mu","inclusive","emu","com","raw","INITIAL","Parser","Visitor","parents","mutating","acceptKey","accept","acceptRequired","acceptArray","splice","unshift","shift","Program","body","MustacheStatement","visitSubExpression","Decorator","BlockStatement","visitBlock","DecoratorBlock","PartialStatement","visitPartial","PartialBlockStatement","ContentStatement","CommentStatement","SubExpression","PathExpression","StringLiteral","NumberLiteral","BooleanLiteral","UndefinedLiteral","NullLiteral","Hash","HashPair","pair","_visitor","_visitor2","WhitespaceControl","doStandalone","ignoreStandalone","isRoot","isRootSeen","_isPrevWhitespace","isPrevWhitespace","_isNextWhitespace","isNextWhitespace","openStandalone","closeStandalone","inlineStandalone","close","omitRight","omitLeft","exec","firstInverse","lastInverse","openStrip","closeStrip","inverseStrip","prev","sibling","multiple","rightStripped","leftStripped","SourceLocation","validateClose","errorNode","source","charAt","comment","dig","isLiteral","escapeFlag","escaped","contents","inverted","statements","firstLoc","lastLoc","parseWithoutProcessing","_parser","_parser2","_whitespaceControl","_whitespaceControl2","Helpers","srcName","ast","Compiler","precompile","_ast","_ast2","equals","other","opcodes","opcode","otherOpcode","argEquals","children","guid","sourceNode","stringParams","trackIds","knownHelpers","helperMissing","blockHelperMissing","if","unless","with","compileProgram","childCompiler","bodyLength","isSimple","transformLiteralToPath","classifySexpr","helperSexpr","simpleSexpr","ambiguousSexpr","setupFullMustacheParams","explicitPartialContext","isDynamic","preventIndent","noEscape","isBlock","knownHelpersOnly","falsy","addDepth","scoped","blockParamId","blockParamIndex","number","bool","pushParam","isBlockParam","isHelper","isEligible","_name","pushParams","val","blockParamChild","omitEmpty","compat","environment","JavaScriptCompiler","compiled","compileInput","execOptions","setupOptions","a","b","literal","SourceNode","SourceMap","require","err","srcFile","chunks","src","add","prepend","toStringWithSourceMap","code","castChunk","chunk","codeGen","wrap","CodeGen","merge","empty","iter","currentLocation","functionCall","generateList","quotedString","objectLiteral","_this","entries","generateArray","_codeGen","_codeGen2","Literal","nameLookup","internalNameLookup","depthedLookup","aliasable","JSON","stringify","revision","versions","appendToBuffer","location","explicit","initializeBuffer","lookupPropertyFunctionIsUsed","asObject","isChild","environments","preamble","stackSlot","stackVars","aliases","registers","list","hashes","compileStack","inlineStack","compileChildren","pushSource","lookupPropertyFunctionVarDeclaration","createFunctionContext","_context","file","destName","map","lastContext","varDeclarations","locals","aliasCount","alias","referenceCount","mergeSource","appendOnly","forceBuffer","appendFirst","sourceSeen","bufferStart","bufferEnd","trim","blockValue","contextName","setupHelperArgs","blockName","popStack","ambiguousBlockValue","flushInline","topStack","lastHelper","appendContent","pendingContent","pendingLocation","append","isInline","replaceStack","local","appendEscaped","getContext","pushContext","pushStackLiteral","lookupOnContext","resolvePath","lookupBlockParam","lookupData","_this2","assumeObjects","strictLookup","resolvePossibleLambda","pushStringParam","pushString","emptyHash","pushHash","values","types","contexts","popHash","pushLiteral","pushProgram","programExpression","paramSize","foundDecorator","invokeHelper","nonHelper","setupHelper","possibleFunctionCalls","functionLookupCode","itemsSeparatedBy","callParams","items","invokeKnownHelper","invokeAmbiguous","helperCall","useRegister","paramsInit","setupParams","assignToHash","pushId","child","existing","matchExistingProgram","programParams","expr","item","callback","prefix","createdStack","usedLiteral","top","incrStack","topStackName","entry","wrapped","inline","blockHelper","foundHelper","callContext","objectArgs","hashIds","hashTypes","hashContexts","reservedWords","compilerWords","RESERVED_WORDS","isValidJavaScriptVariableName","requireTerminal","_handlebarsRuntime2","_handlebarsCompilerAst","_handlebarsCompilerAst2","_handlebarsCompilerBase","_handlebarsCompilerCompiler","_handlebarsCompilerJavascriptCompiler","_handlebarsCompilerJavascriptCompiler2","_handlebarsCompilerVisitor","_handlebarsCompilerVisitor2","_create","setBotElement","el","window","ai12zBot","setCtaElement","ai12zCta","setItemListElement","carousel","ai12zBotCss","Ai12zBotStyle0","tailwindMinCss","Ai12zBotStyle1","surveyMinCss","Ai12zBotStyle2","ai12zChatbotCss","Ai12zBotStyle3","Ai12zBot","cdnPath","imagesBase64List","toggleBox","isOpen","toggleBot","e","stopPropagation","isToggled","toggleListening","isListening","checkHistory","storedMessages","localStorage","getItem","visitorID","chatHistory","filter","_a","projectId","botSettings","pId","showHistory","botVersion","alertResults","sender","keyName","formSubmitted","emit","results","description","jsonObj","completedHtml","completeText","domId","implementor","renderedElement","messages","findIndex","surveyDomId","currentDomId","updateConversations","jsonData","sendMessage","scrollToBottom","renderSurvey","chat","Serializer","addProperty","visible","category","formModel","_c","_b","controlData","survey","Model","domELe","_d","shadowRoot","querySelector","Survey","model","_g","_f","hideCompleteButton","_k","_j","_h","_o","_m","_l","showCompletedPage","theme","applyTheme","onAfterRenderQuestionInput","_","htmlElement","question","onComplete","handleButtonClick","label","_event","inputEl","handleSend","handleMessage","aiMessageId","converter","showdown","Converter","aiMessageBubble","bubbleText","getAttribute","setAttribute","html","makeHtml","innerHTML","updateScreenSize","innerWidth","isMinimized","isOpened","isExpanded","eleValue","questionCounter","setItem","qCounter","inputValue","autoResetTimer","startTimer","showWelcomeScreen","now","Date","timestamp","toLocaleTimeString","hour","minute","isUser","generateUUID","images","conversationId","maxQuestion","msgLimit","getOrCreateVisitorId","setTimeout","invokeSocket","rowCount","showSubmit","Env","DATA_MODE","buttonClickHandler","event","hideInput","query","detail","sendQueryToBotHandler","deleteChatHistoryHandler","getConversationHistory","updatedHistory","conversationHistory","chatClickHandler","openChatHandler","isChatOpen","formSubmittedHandler","handleClickOutside","target","isMenuOpen","menuRef","contains","menuV2Ref","showMenu","plusIconRef","componentDidLoad","addEventListener","bind","document","jQueryScript","createElement","onload","loadSurveyScript","onerror","head","appendChild","ai12zHeading","disconnectedCallback","removeEventListener","displayText","sendQuery","warn","sendJSON","setLocalData","botData","minimize","getVisitorKey","searchResults","clearInterval","timer","mainObject","toggleMenu","adjustHeight","style","height","scrollHeight","connectedCallback","configBot","componentWillLoad","checkCustomSlot","formatTimestamp","socketConnection","payload","apiKey","dataKey","configId","configType","getConfig","dataMode","then","linkTarget","toggleTextarea","privacyTemplate","showPrivacy","slot","slotHasContent","tagName","isBot","watchStateHandler","_newValue","_oldValue","socket","off","handleBotMessages","generateMessage","hideSpinner","chatData","Promise","resolve","renderedBubble","display","processTemplateData","handletemplate","currentResponse","controlType","currentTemplate","targetContainer","msgId","llm","classList","renderTemplateData","waitForElementRender","scripts","querySelectorAll","script","newScript","scriptArray","parentNode","removeChild","scriptDom","initializeScript","processChatData","controlElement","getComponentByControlType","tmpControlType","width","remove","element","observer","MutationObserver","_mutations","disconnect","observe","childList","subtree","on","messageReceived","finalHtml","answer","updateAnchorTags","updateButtonEvents","buttons","RegExp","newContent","splitContent","before","newMessage","after","afterMessage","bubbleEle","currentDomElement","saveConversation","htmlContent","DOMParser","doc","parseFromString","anchorTags","from","anchor","updatedmsg","addEventListeners","watchSurveyDomIdHandler","form","completedHTML","pages","page","elements","includes","showCompleteButton","button","buttonElement","originalCall","funcName","argsStr","func","eval","msgArgs","tempArgs","rawObjectStr","parsedObj","jsonArgs","date","today","setHours","weekday","hour12","formatter","Intl","DateTimeFormat","formattedDate","format","toDateString","a12z_EndPoint","getEndpoint","io","transports","errored","attributes","dataAttributes","excludeTags","includeTags","base64Images","meta","getMetaInfo","messageSent","_response","onInputChange","files","uploadImage","newFile","tempImagesBase64List","mimeType","reader","FileReader","imagePreviewContainer","base64Image","newDiv","img","deleteSpan","textContent","onclick","imgSrc","readAsDataURL","onloadend","storedData","pastMessages","conversationExists","loadConversation","handleKeyDown","ev","shiftKey","preventDefault","setInterval","scroll","behavior","defaultTemplate","h","class","prose","right","botPosition","left","xmlns","fill","version","viewBox","d","handleFollowUp","_e","showButton","showTextarea","render","botWidth","botHeight","onClick","popover","returnMessage","popoverConfig","_q","_p","_s","_r","botLogo","botlogo","alt","_t","botName","ref","_v","_u","welcomeMessage","_x","_w","welcome","buttonsList","_z","_y","_1","_0","welcomeButtons","welcomelogo","_3","_2","image","chatList","_4","msg","botAvatar","cx","cy","stroke","_5","followUpElem","defaultChecked","onChange","htmlFor","click","points","_6","imageUpload","hideAllButtons","uploadElem","$event","rows","placeholder","_8","_7","botPlaceholderText","onKeyUp","onFocus","onStartRecord","_ev","onStopRecord","onSendTranscript","isAnimated","gridTemplateColumns","_9","minWidth","_10","maxWidth","paddingTop","_12","_11","role","opacity","pointerEvents","tabindex","transform","_14","_13","_15","_16","_17","isContent","_19","_18","_idx","_20","overflowAnchor","show","_22","_21","onKeyDown","enableMic","color","transformOrigin","botLaunchIcon","_23","ai12zCtaCss","Ai12zCtaStyle0","Ai12zCtaStyle1","Ai12zCta","dirty","isSubmitted","pButtonText","pPlaceholder","pHelpText","pNoResultsText","errorMsg","pheading","sendSurveyData","async","surveyData","detectTextByLang","language","navigator","languages","shortLang","loadLanguageFile","button_text","placeholder_text","help_text","results_text","error_message","catch","handleSubmit","followUp","imgFiles","formData","assign","search","ctaSettings","isChat","stateChanged","response","insight_id","status","thumbsId","lastMessage","insightId","startStream","autoSearch","displaySearchResults","docs","openModal","showModal","clearMemory","clearSearchHistory","requestAnimationFrame","searchInput","focus","botEle","socketService","SocketService","createInstance","ctaData","closeModal","stopStream","socketId","getSocketId","metaKey","allowClose","surveyHandler","_state","buttonClicked","isCta","langCode","import","clearInput","clearResults","handleOutsideClick","outsideContent","Math","random","v","checkStatus","enable","canRender","configCtaSettings","enableMobileView","categorize","isMac","userAgent","title","displayMessage","noResultsText","helpText","dialogWidth","dialogMaxWidth","Host","hidden","heading","onAction","buttonText","iconSrc","followUpLabel","isImageUpload","isEnableMic","SearchResult","categoryList","chats","voiceType","audioType","voice","onFeedback","feedback","sendFeedback","componentType","socketIn","chatExcludeTags","chatIncludeTags","ai12zSearchPanelCss","Ai12zSearchPanelStyle0","Ai12zSearchPanelStyle1","SearchPanel","handleFormSubmit","fetchSearchResults","newResults","handleInput","queryParams","URLSearchParams","searchText","href","redirectUrl","onSubmit","searchInputElem","onInput","onBlur","inputElement","Event","bubbles","writable","dispatchEvent"],"sources":["../../node_modules/handlebars/dist/cjs/handlebars/utils.js","../../node_modules/handlebars/dist/cjs/handlebars/exception.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/each.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/if.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/log.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers/with.js","../../node_modules/handlebars/dist/cjs/handlebars/helpers.js","../../node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js","../../node_modules/handlebars/dist/cjs/handlebars/decorators.js","../../node_modules/handlebars/dist/cjs/handlebars/logger.js","../../node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js","../../node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js","../../node_modules/handlebars/dist/cjs/handlebars/base.js","../../node_modules/handlebars/dist/cjs/handlebars/safe-string.js","../../node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js","../../node_modules/handlebars/dist/cjs/handlebars/runtime.js","../../node_modules/handlebars/dist/cjs/handlebars/no-conflict.js","../../node_modules/handlebars/dist/cjs/handlebars.runtime.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/base.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js","../../node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js","../../node_modules/handlebars/dist/cjs/handlebars.js","src/utils/global-store.ts","src/components/ai12z-bot/ai12z-bot.css?tag=ai12z-bot&encapsulation=shadow","src/global/tailwind.min.css?tag=ai12z-bot&encapsulation=shadow","src/global/survey.min.css?tag=ai12z-bot&encapsulation=shadow","src/components/ai12z-bot/ai12z-chatbot.css?tag=ai12z-bot&encapsulation=shadow","src/components/ai12z-bot/ai12z-bot.tsx","src/components/ai12z-cta/ai12z-cta.css?tag=ai12z-cta&encapsulation=shadow","src/global/tailwind.min.css?tag=ai12z-cta&encapsulation=shadow","src/components/ai12z-cta/ai12z-cta.tsx","src/components/ai12z-search-panel/ai12z-search-panel.css?tag=ai12z-search-panel&encapsulation=shadow","src/global/tailwind.min.css?tag=ai12z-search-panel&encapsulation=shadow","src/components/ai12z-search-panel/ai12z-search-panel.tsx"],"sourcesContent":["'use strict';\n\nexports.__esModule = true;\nexports.extend = extend;\nexports.indexOf = indexOf;\nexports.escapeExpression = escapeExpression;\nexports.isEmpty = isEmpty;\nexports.createFrame = createFrame;\nexports.blockParams = blockParams;\nexports.appendContextPath = appendContextPath;\nvar escape = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#x27;',\n '`': '&#x60;',\n '=': '&#x3D;'\n};\n\nvar badChars = /[&<>\"'`=]/g,\n possible = /[&<>\"'`=]/;\n\nfunction escapeChar(chr) {\n return escape[chr];\n}\n\nfunction extend(obj /* , ...source */) {\n for (var i = 1; i < arguments.length; i++) {\n for (var key in arguments[i]) {\n if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n obj[key] = arguments[i][key];\n }\n }\n }\n\n return obj;\n}\n\nvar toString = Object.prototype.toString;\n\nexports.toString = toString;\n// Sourced from lodash\n// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n/* eslint-disable func-style */\nvar isFunction = function isFunction(value) {\n return typeof value === 'function';\n};\n// fallback for older versions of Chrome and Safari\n/* istanbul ignore next */\nif (isFunction(/x/)) {\n exports.isFunction = isFunction = function (value) {\n return typeof value === 'function' && toString.call(value) === '[object Function]';\n };\n}\nexports.isFunction = isFunction;\n\n/* eslint-enable func-style */\n\n/* istanbul ignore next */\nvar isArray = Array.isArray || function (value) {\n return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n};\n\nexports.isArray = isArray;\n// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\nfunction indexOf(array, value) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n return -1;\n}\n\nfunction escapeExpression(string) {\n if (typeof string !== 'string') {\n // don't escape SafeStrings, since they're already safe\n if (string && string.toHTML) {\n return string.toHTML();\n } else if (string == null) {\n return '';\n } else if (!string) {\n return string + '';\n }\n\n // Force a string conversion as this will be done by the append regardless and\n // the regex test will do this transparently behind the scenes, causing issues if\n // an object's to string has escaped characters in it.\n string = '' + string;\n }\n\n if (!possible.test(string)) {\n return string;\n }\n return string.replace(badChars, escapeChar);\n}\n\nfunction isEmpty(value) {\n if (!value && value !== 0) {\n return true;\n } else if (isArray(value) && value.length === 0) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction createFrame(object) {\n var frame = extend({}, object);\n frame._parent = object;\n return frame;\n}\n\nfunction blockParams(params, ids) {\n params.path = ids;\n return params;\n}\n\nfunction appendContextPath(contextPath, id) {\n return (contextPath ? contextPath + '.' : '') + id;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3V0aWxzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRztBQUNiLEtBQUcsRUFBRSxPQUFPO0FBQ1osS0FBRyxFQUFFLE1BQU07QUFDWCxLQUFHLEVBQUUsTUFBTTtBQUNYLEtBQUcsRUFBRSxRQUFRO0FBQ2IsS0FBRyxFQUFFLFFBQVE7QUFDYixLQUFHLEVBQUUsUUFBUTtBQUNiLEtBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQzs7QUFFRixJQUFNLFFBQVEsR0FBRyxZQUFZO0lBQzNCLFFBQVEsR0FBRyxXQUFXLENBQUM7O0FBRXpCLFNBQVMsVUFBVSxDQUFDLEdBQUcsRUFBRTtBQUN2QixTQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUNwQjs7QUFFTSxTQUFTLE1BQU0sQ0FBQyxHQUFHLG9CQUFvQjtBQUM1QyxPQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN6QyxTQUFLLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUM1QixVQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7QUFDM0QsV0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztPQUM5QjtLQUNGO0dBQ0Y7O0FBRUQsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7O0FBS2hELElBQUksVUFBVSxHQUFHLG9CQUFTLEtBQUssRUFBRTtBQUMvQixTQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQztDQUNwQyxDQUFDOzs7QUFHRixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtBQUNuQixVQU9PLFVBQVUsR0FQakIsVUFBVSxHQUFHLFVBQVMsS0FBSyxFQUFFO0FBQzNCLFdBQ0UsT0FBTyxLQUFLLEtBQUssVUFBVSxJQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixDQUM1QztHQUNILENBQUM7Q0FDSDtRQUNRLFVBQVUsR0FBVixVQUFVOzs7OztBQUlaLElBQU0sT0FBTyxHQUNsQixLQUFLLENBQUMsT0FBTyxJQUNiLFVBQVMsS0FBSyxFQUFFO0FBQ2QsU0FBTyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxHQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixHQUN6QyxLQUFLLENBQUM7Q0FDWCxDQUFDOzs7OztBQUdHLFNBQVMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDcEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoRCxRQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUU7QUFDdEIsYUFBTyxDQUFDLENBQUM7S0FDVjtHQUNGO0FBQ0QsU0FBTyxDQUFDLENBQUMsQ0FBQztDQUNYOztBQUVNLFNBQVMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFO0FBQ3ZDLE1BQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFOztBQUU5QixRQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQzNCLGFBQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ3hCLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO0FBQ3pCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2xCLGFBQU8sTUFBTSxHQUFHLEVBQUUsQ0FBQztLQUNwQjs7Ozs7QUFLRCxVQUFNLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQztHQUN0Qjs7QUFFRCxNQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtBQUMxQixXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsU0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3Qzs7QUFFTSxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDN0IsTUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUMvQyxXQUFPLElBQUksQ0FBQztHQUNiLE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O0FBRU0sU0FBUyxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ2xDLE1BQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsT0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7QUFDdkIsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFTSxTQUFTLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLFFBQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFNBQU8sTUFBTSxDQUFDO0NBQ2Y7O0FBRU0sU0FBUyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFO0FBQ2pELFNBQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUEsR0FBSSxFQUFFLENBQUM7Q0FDcEQiLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBlc2NhcGUgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICAnXCInOiAnJnF1b3Q7JyxcbiAgXCInXCI6ICcmI3gyNzsnLFxuICAnYCc6ICcmI3g2MDsnLFxuICAnPSc6ICcmI3gzRDsnXG59O1xuXG5jb25zdCBiYWRDaGFycyA9IC9bJjw+XCInYD1dL2csXG4gIHBvc3NpYmxlID0gL1smPD5cIidgPV0vO1xuXG5mdW5jdGlvbiBlc2NhcGVDaGFyKGNocikge1xuICByZXR1cm4gZXNjYXBlW2Nocl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmQob2JqIC8qICwgLi4uc291cmNlICovKSB7XG4gIGZvciAobGV0IGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChsZXQga2V5IGluIGFyZ3VtZW50c1tpXSkge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmd1bWVudHNbaV0sIGtleSkpIHtcbiAgICAgICAgb2JqW2tleV0gPSBhcmd1bWVudHNbaV1ba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5leHBvcnQgbGV0IHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLy8gU291cmNlZCBmcm9tIGxvZGFzaFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2Jlc3RpZWpzL2xvZGFzaC9ibG9iL21hc3Rlci9MSUNFTlNFLnR4dFxuLyogZXNsaW50LWRpc2FibGUgZnVuYy1zdHlsZSAqL1xubGV0IGlzRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufTtcbi8vIGZhbGxiYWNrIGZvciBvbGRlciB2ZXJzaW9ucyBvZiBDaHJvbWUgYW5kIFNhZmFyaVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmlmIChpc0Z1bmN0aW9uKC94LykpIHtcbiAgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgdG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSdcbiAgICApO1xuICB9O1xufVxuZXhwb3J0IHsgaXNGdW5jdGlvbiB9O1xuLyogZXNsaW50LWVuYWJsZSBmdW5jLXN0eWxlICovXG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgY29uc3QgaXNBcnJheSA9XG4gIEFycmF5LmlzQXJyYXkgfHxcbiAgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0J1xuICAgICAgPyB0b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuLy8gT2xkZXIgSUUgdmVyc2lvbnMgZG8gbm90IGRpcmVjdGx5IHN1cHBvcnQgaW5kZXhPZiBzbyB3ZSBtdXN0IGltcGxlbWVudCBvdXIgb3duLCBzYWRseS5cbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYXJyYXkubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoYXJyYXlbaV0gPT09IHZhbHVlKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlRXhwcmVzc2lvbihzdHJpbmcpIHtcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgZXNjYXBlIFNhZmVTdHJpbmdzLCBzaW5jZSB0aGV5J3JlIGFscmVhZHkgc2FmZVxuICAgIGlmIChzdHJpbmcgJiYgc3RyaW5nLnRvSFRNTCkge1xuICAgICAgcmV0dXJuIHN0cmluZy50b0hUTUwoKTtcbiAgICB9IGVsc2UgaWYgKHN0cmluZyA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICghc3RyaW5nKSB7XG4gICAgICByZXR1cm4gc3RyaW5nICsgJyc7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgYSBzdHJpbmcgY29udmVyc2lvbiBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgYXBwZW5kIHJlZ2FyZGxlc3MgYW5kXG4gICAgLy8gdGhlIHJlZ2V4IHRlc3Qgd2lsbCBkbyB0aGlzIHRyYW5zcGFyZW50bHkgYmVoaW5kIHRoZSBzY2VuZXMsIGNhdXNpbmcgaXNzdWVzIGlmXG4gICAgLy8gYW4gb2JqZWN0J3MgdG8gc3RyaW5nIGhhcyBlc2NhcGVkIGNoYXJhY3RlcnMgaW4gaXQuXG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmc7XG4gIH1cblxuICBpZiAoIXBvc3NpYmxlLnRlc3Qoc3RyaW5nKSkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGJhZENoYXJzLCBlc2NhcGVDaGFyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSAmJiB2YWx1ZSAhPT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJhbWUob2JqZWN0KSB7XG4gIGxldCBmcmFtZSA9IGV4dGVuZCh7fSwgb2JqZWN0KTtcbiAgZnJhbWUuX3BhcmVudCA9IG9iamVjdDtcbiAgcmV0dXJuIGZyYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvY2tQYXJhbXMocGFyYW1zLCBpZHMpIHtcbiAgcGFyYW1zLnBhdGggPSBpZHM7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDb250ZXh0UGF0aChjb250ZXh0UGF0aCwgaWQpIHtcbiAgcmV0dXJuIChjb250ZXh0UGF0aCA/IGNvbnRleHRQYXRoICsgJy4nIDogJycpICsgaWQ7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\nfunction Exception(message, node) {\n var loc = node && node.loc,\n line = undefined,\n endLineNumber = undefined,\n column = undefined,\n endColumn = undefined;\n\n if (loc) {\n line = loc.start.line;\n endLineNumber = loc.end.line;\n column = loc.start.column;\n endColumn = loc.end.column;\n\n message += ' - ' + line + ':' + column;\n }\n\n var tmp = Error.prototype.constructor.call(this, message);\n\n // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n for (var idx = 0; idx < errorProps.length; idx++) {\n this[errorProps[idx]] = tmp[errorProps[idx]];\n }\n\n /* istanbul ignore else */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, Exception);\n }\n\n try {\n if (loc) {\n this.lineNumber = line;\n this.endLineNumber = endLineNumber;\n\n // Work around issue under safari where we can't directly set the column value\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(this, 'column', {\n value: column,\n enumerable: true\n });\n Object.defineProperty(this, 'endColumn', {\n value: endColumn,\n enumerable: true\n });\n } else {\n this.column = column;\n this.endColumn = endColumn;\n }\n }\n } catch (nop) {\n /* Ignore if the browser is very particular */\n }\n}\n\nException.prototype = new Error();\n\nexports['default'] = Exception;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2V4Y2VwdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFNLFVBQVUsR0FBRyxDQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxDQUNSLENBQUM7O0FBRUYsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRTtBQUNoQyxNQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUc7TUFDeEIsSUFBSSxZQUFBO01BQ0osYUFBYSxZQUFBO01BQ2IsTUFBTSxZQUFBO01BQ04sU0FBUyxZQUFBLENBQUM7O0FBRVosTUFBSSxHQUFHLEVBQUU7QUFDUCxRQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDdEIsaUJBQWEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztBQUM3QixVQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDMUIsYUFBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDOztBQUUzQixXQUFPLElBQUksS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO0dBQ3hDOztBQUVELE1BQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7OztBQUcxRCxPQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtBQUNoRCxRQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzlDOzs7QUFHRCxNQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRTtBQUMzQixTQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQzFDOztBQUVELE1BQUk7QUFDRixRQUFJLEdBQUcsRUFBRTtBQUNQLFVBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLFVBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDOzs7O0FBSW5DLFVBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtBQUN6QixjQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDcEMsZUFBSyxFQUFFLE1BQU07QUFDYixvQkFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0FBQ0gsY0FBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3ZDLGVBQUssRUFBRSxTQUFTO0FBQ2hCLG9CQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsWUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7T0FDNUI7S0FDRjtHQUNGLENBQUMsT0FBTyxHQUFHLEVBQUU7O0dBRWI7Q0FDRjs7QUFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7O3FCQUVuQixTQUFTIiwiZmlsZSI6ImV4Y2VwdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGVycm9yUHJvcHMgPSBbXG4gICdkZXNjcmlwdGlvbicsXG4gICdmaWxlTmFtZScsXG4gICdsaW5lTnVtYmVyJyxcbiAgJ2VuZExpbmVOdW1iZXInLFxuICAnbWVzc2FnZScsXG4gICduYW1lJyxcbiAgJ251bWJlcicsXG4gICdzdGFjaydcbl07XG5cbmZ1bmN0aW9uIEV4Y2VwdGlvbihtZXNzYWdlLCBub2RlKSB7XG4gIGxldCBsb2MgPSBub2RlICYmIG5vZGUubG9jLFxuICAgIGxpbmUsXG4gICAgZW5kTGluZU51bWJlcixcbiAgICBjb2x1bW4sXG4gICAgZW5kQ29sdW1uO1xuXG4gIGlmIChsb2MpIHtcbiAgICBsaW5lID0gbG9jLnN0YXJ0LmxpbmU7XG4gICAgZW5kTGluZU51bWJlciA9IGxvYy5lbmQubGluZTtcbiAgICBjb2x1bW4gPSBsb2Muc3RhcnQuY29sdW1uO1xuICAgIGVuZENvbHVtbiA9IGxvYy5lbmQuY29sdW1uO1xuXG4gICAgbWVzc2FnZSArPSAnIC0gJyArIGxpbmUgKyAnOicgKyBjb2x1bW47XG4gIH1cblxuICBsZXQgdG1wID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgLy8gVW5mb3J0dW5hdGVseSBlcnJvcnMgYXJlIG5vdCBlbnVtZXJhYmxlIGluIENocm9tZSAoYXQgbGVhc3QpLCBzbyBgZm9yIHByb3AgaW4gdG1wYCBkb2Vzbid0IHdvcmsuXG4gIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9yUHJvcHMubGVuZ3RoOyBpZHgrKykge1xuICAgIHRoaXNbZXJyb3JQcm9wc1tpZHhdXSA9IHRtcFtlcnJvclByb3BzW2lkeF1dO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGxvYykge1xuICAgICAgdGhpcy5saW5lTnVtYmVyID0gbGluZTtcbiAgICAgIHRoaXMuZW5kTGluZU51bWJlciA9IGVuZExpbmVOdW1iZXI7XG5cbiAgICAgIC8vIFdvcmsgYXJvdW5kIGlzc3VlIHVuZGVyIHNhZmFyaSB3aGVyZSB3ZSBjYW4ndCBkaXJlY3RseSBzZXQgdGhlIGNvbHVtbiB2YWx1ZVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjb2x1bW4nLCB7XG4gICAgICAgICAgdmFsdWU6IGNvbHVtbixcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2VuZENvbHVtbicsIHtcbiAgICAgICAgICB2YWx1ZTogZW5kQ29sdW1uLFxuICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjtcbiAgICAgICAgdGhpcy5lbmRDb2x1bW4gPSBlbmRDb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChub3ApIHtcbiAgICAvKiBJZ25vcmUgaWYgdGhlIGJyb3dzZXIgaXMgdmVyeSBwYXJ0aWN1bGFyICovXG4gIH1cbn1cblxuRXhjZXB0aW9uLnByb3RvdHlwZSA9IG5ldyBFcnJvcigpO1xuXG5leHBvcnQgZGVmYXVsdCBFeGNlcHRpb247XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerHelper('blockHelperMissing', function (context, options) {\n var inverse = options.inverse,\n fn = options.fn;\n\n if (context === true) {\n return fn(this);\n } else if (context === false || context == null) {\n return inverse(this);\n } else if (_utils.isArray(context)) {\n if (context.length > 0) {\n if (options.ids) {\n options.ids = [options.name];\n }\n\n return instance.helpers.each(context, options);\n } else {\n return inverse(this);\n }\n } else {\n if (options.data && options.ids) {\n var data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n options = { data: data };\n }\n\n return fn(context, options);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('each', function (context, options) {\n if (!options) {\n throw new _exception2['default']('Must pass iterator to #each');\n }\n\n var fn = options.fn,\n inverse = options.inverse,\n i = 0,\n ret = '',\n data = undefined,\n contextPath = undefined;\n\n if (options.data && options.ids) {\n contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n }\n\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n if (options.data) {\n data = _utils.createFrame(options.data);\n }\n\n function execIteration(field, index, last) {\n if (data) {\n data.key = field;\n data.index = index;\n data.first = index === 0;\n data.last = !!last;\n\n if (contextPath) {\n data.contextPath = contextPath + field;\n }\n }\n\n ret = ret + fn(context[field], {\n data: data,\n blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n });\n }\n\n if (context && typeof context === 'object') {\n if (_utils.isArray(context)) {\n for (var j = context.length; i < j; i++) {\n if (i in context) {\n execIteration(i, i, i === context.length - 1);\n }\n }\n } else if (typeof Symbol === 'function' && context[Symbol.iterator]) {\n var newContext = [];\n var iterator = context[Symbol.iterator]();\n for (var it = iterator.next(); !it.done; it = iterator.next()) {\n newContext.push(it.value);\n }\n context = newContext;\n for (var j = context.length; i < j; i++) {\n execIteration(i, i, i === context.length - 1);\n }\n } else {\n (function () {\n var priorKey = undefined;\n\n Object.keys(context).forEach(function (key) {\n // We're running the iterations one step out of sync so we can detect\n // the last iteration without have to scan the object twice and create\n // an itermediate keys array.\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1);\n }\n priorKey = key;\n i++;\n });\n if (priorKey !== undefined) {\n execIteration(priorKey, i - 1, true);\n }\n })();\n }\n }\n\n if (i === 0) {\n ret = inverse(this);\n }\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7QUFDbkUsWUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFlBQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUM1QyxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBjb250ZXh0W1N5bWJvbC5pdGVyYXRvcl0pIHtcbiAgICAgICAgY29uc3QgbmV3Q29udGV4dCA9IFtdO1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnRleHRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgICAgICBmb3IgKGxldCBpdCA9IGl0ZXJhdG9yLm5leHQoKTsgIWl0LmRvbmU7IGl0ID0gaXRlcmF0b3IubmV4dCgpKSB7XG4gICAgICAgICAgbmV3Q29udGV4dC5wdXNoKGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgICAgICAgZm9yIChsZXQgaiA9IGNvbnRleHQubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihpLCBpLCBpID09PSBjb250ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJpb3JLZXk7XG5cbiAgICAgICAgT2JqZWN0LmtleXMoY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIC8vIFdlJ3JlIHJ1bm5pbmcgdGhlIGl0ZXJhdGlvbnMgb25lIHN0ZXAgb3V0IG9mIHN5bmMgc28gd2UgY2FuIGRldGVjdFxuICAgICAgICAgIC8vIHRoZSBsYXN0IGl0ZXJhdGlvbiB3aXRob3V0IGhhdmUgdG8gc2NhbiB0aGUgb2JqZWN0IHR3aWNlIGFuZCBjcmVhdGVcbiAgICAgICAgICAvLyBhbiBpdGVybWVkaWF0ZSBrZXlzIGFycmF5LlxuICAgICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW9yS2V5ID0ga2V5O1xuICAgICAgICAgIGkrKztcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwcmlvcktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZXhlY0l0ZXJhdGlvbihwcmlvcktleSwgaSAtIDEsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGkgPT09IDApIHtcbiAgICAgIHJldCA9IGludmVyc2UodGhpcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('helperMissing', function () /* [args, ]options */{\n if (arguments.length === 1) {\n // A missing field in a {{foo}} construct.\n return undefined;\n } else {\n // Someone is actually trying to call something, blow up.\n throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('if', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#if requires exactly one argument');\n }\n if (_utils.isFunction(conditional)) {\n conditional = conditional.call(this);\n }\n\n // Default behavior is to render the positive path if the value is truthy and not empty.\n // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n return options.inverse(this);\n } else {\n return options.fn(this);\n }\n });\n\n instance.registerHelper('unless', function (conditional, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#unless requires exactly one argument');\n }\n return instance.helpers['if'].call(this, conditional, {\n fn: options.inverse,\n inverse: options.fn,\n hash: options.hash\n });\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('log', function () /* message, options */{\n var args = [undefined],\n options = arguments[arguments.length - 1];\n for (var i = 0; i < arguments.length - 1; i++) {\n args.push(arguments[i]);\n }\n\n var level = 1;\n if (options.hash.level != null) {\n level = options.hash.level;\n } else if (options.data && options.data.level != null) {\n level = options.data.level;\n }\n args[0] = level;\n\n instance.log.apply(instance, args);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (instance) {\n instance.registerHelper('lookup', function (obj, field, options) {\n if (!obj) {\n // Note for 5.0: Change to \"obj == null\" in 5.0\n return obj;\n }\n return options.lookupProperty(obj, field);\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('../utils');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nexports['default'] = function (instance) {\n instance.registerHelper('with', function (context, options) {\n if (arguments.length != 2) {\n throw new _exception2['default']('#with requires exactly one argument');\n }\n if (_utils.isFunction(context)) {\n context = context.call(this);\n }\n\n var fn = options.fn;\n\n if (!_utils.isEmpty(context)) {\n var data = options.data;\n if (options.data && options.ids) {\n data = _utils.createFrame(options.data);\n data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n }\n\n return fn(context, {\n data: data,\n blockParams: _utils.blockParams([context], [data && data.contextPath])\n });\n } else {\n return options.inverse(this);\n }\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultHelpers = registerDefaultHelpers;\nexports.moveHelperToHooks = moveHelperToHooks;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _helpersBlockHelperMissing = require('./helpers/block-helper-missing');\n\nvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\nvar _helpersEach = require('./helpers/each');\n\nvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\nvar _helpersHelperMissing = require('./helpers/helper-missing');\n\nvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\nvar _helpersIf = require('./helpers/if');\n\nvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\nvar _helpersLog = require('./helpers/log');\n\nvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\nvar _helpersLookup = require('./helpers/lookup');\n\nvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\nvar _helpersWith = require('./helpers/with');\n\nvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\nfunction registerDefaultHelpers(instance) {\n _helpersBlockHelperMissing2['default'](instance);\n _helpersEach2['default'](instance);\n _helpersHelperMissing2['default'](instance);\n _helpersIf2['default'](instance);\n _helpersLog2['default'](instance);\n _helpersLookup2['default'](instance);\n _helpersWith2['default'](instance);\n}\n\nfunction moveHelperToHooks(instance, helperName, keepHelper) {\n if (instance.helpers[helperName]) {\n instance.hooks[helperName] = instance.helpers[helperName];\n if (!keepHelper) {\n delete instance.helpers[helperName];\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nexports['default'] = function (instance) {\n instance.registerDecorator('inline', function (fn, props, container, options) {\n var ret = fn;\n if (!props.partials) {\n props.partials = {};\n ret = function (context, options) {\n // Create a new partials stack frame prior to exec.\n var original = container.partials;\n container.partials = _utils.extend({}, original, props.partials);\n var ret = fn(context, options);\n container.partials = original;\n return ret;\n };\n }\n\n props.partials[options.args[0]] = options.fn;\n\n return ret;\n });\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.registerDefaultDecorators = registerDefaultDecorators;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _decoratorsInline = require('./decorators/inline');\n\nvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\nfunction registerDefaultDecorators(instance) {\n _decoratorsInline2['default'](instance);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('./utils');\n\nvar logger = {\n methodMap: ['debug', 'info', 'warn', 'error'],\n level: 'info',\n\n // Maps a given level value to the `methodMap` indexes above.\n lookupLevel: function lookupLevel(level) {\n if (typeof level === 'string') {\n var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n if (levelMap >= 0) {\n level = levelMap;\n } else {\n level = parseInt(level, 10);\n }\n }\n\n return level;\n },\n\n // Can be overridden in the host environment\n log: function log(level) {\n level = logger.lookupLevel(level);\n\n if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n var method = logger.methodMap[level];\n // eslint-disable-next-line no-console\n if (!console[method]) {\n method = 'log';\n }\n\n for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n console[method].apply(console, message); // eslint-disable-line no-console\n }\n }\n};\n\nexports['default'] = logger;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.createNewLookupObject = createNewLookupObject;\n\nvar _utils = require('../utils');\n\n/**\n * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n * The resulting object can be used with \"object[property]\" to check if a property exists\n * @param {...object} sources a varargs parameter of source objects that will be merged\n * @returns {object}\n */\n\nfunction createNewLookupObject() {\n for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.createProtoAccessControl = createProtoAccessControl;\nexports.resultIsAllowed = resultIsAllowed;\nexports.resetLoggedProperties = resetLoggedProperties;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createNewLookupObject = require('./create-new-lookup-object');\n\nvar _logger = require('../logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar loggedProperties = Object.create(null);\n\nfunction createProtoAccessControl(runtimeOptions) {\n var defaultMethodWhiteList = Object.create(null);\n defaultMethodWhiteList['constructor'] = false;\n defaultMethodWhiteList['__defineGetter__'] = false;\n defaultMethodWhiteList['__defineSetter__'] = false;\n defaultMethodWhiteList['__lookupGetter__'] = false;\n\n var defaultPropertyWhiteList = Object.create(null);\n // eslint-disable-next-line no-proto\n defaultPropertyWhiteList['__proto__'] = false;\n\n return {\n properties: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n },\n methods: {\n whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n defaultValue: runtimeOptions.allowProtoMethodsByDefault\n }\n };\n}\n\nfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n if (typeof result === 'function') {\n return checkWhiteList(protoAccessControl.methods, propertyName);\n } else {\n return checkWhiteList(protoAccessControl.properties, propertyName);\n }\n}\n\nfunction checkWhiteList(protoAccessControlForType, propertyName) {\n if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n return protoAccessControlForType.whitelist[propertyName] === true;\n }\n if (protoAccessControlForType.defaultValue !== undefined) {\n return protoAccessControlForType.defaultValue;\n }\n logUnexpecedPropertyAccessOnce(propertyName);\n return false;\n}\n\nfunction logUnexpecedPropertyAccessOnce(propertyName) {\n if (loggedProperties[propertyName] !== true) {\n loggedProperties[propertyName] = true;\n _logger2['default'].log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n }\n}\n\nfunction resetLoggedProperties() {\n Object.keys(loggedProperties).forEach(function (propertyName) {\n delete loggedProperties[propertyName];\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMvQyxXQUFXOzs7O0FBRTlCLElBQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFdEMsU0FBUyx3QkFBd0IsQ0FBQyxjQUFjLEVBQUU7QUFDdkQsTUFBSSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pELHdCQUFzQixDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUM5Qyx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUNuRCx3QkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssQ0FBQzs7QUFFbkQsTUFBSSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUVuRCwwQkFBd0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRTlDLFNBQU87QUFDTCxjQUFVLEVBQUU7QUFDVixlQUFTLEVBQUUsNkNBQ1Qsd0JBQXdCLEVBQ3hCLGNBQWMsQ0FBQyxzQkFBc0IsQ0FDdEM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQyw2QkFBNkI7S0FDM0Q7QUFDRCxXQUFPLEVBQUU7QUFDUCxlQUFTLEVBQUUsNkNBQ1Qsc0JBQXNCLEVBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDbkM7QUFDRCxrQkFBWSxFQUFFLGNBQWMsQ0FBQywwQkFBMEI7S0FDeEQ7R0FDRixDQUFDO0NBQ0g7O0FBRU0sU0FBUyxlQUFlLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRTtBQUN4RSxNQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRTtBQUNoQyxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDakUsTUFBTTtBQUNMLFdBQU8sY0FBYyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztHQUNwRTtDQUNGOztBQUVELFNBQVMsY0FBYyxDQUFDLHlCQUF5QixFQUFFLFlBQVksRUFBRTtBQUMvRCxNQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxTQUFTLEVBQUU7QUFDbkUsV0FBTyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDO0dBQ25FO0FBQ0QsTUFBSSx5QkFBeUIsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO0FBQ3hELFdBQU8seUJBQXlCLENBQUMsWUFBWSxDQUFDO0dBQy9DO0FBQ0QsZ0NBQThCLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDN0MsU0FBTyxLQUFLLENBQUM7Q0FDZDs7QUFFRCxTQUFTLDhCQUE4QixDQUFDLFlBQVksRUFBRTtBQUNwRCxNQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksRUFBRTtBQUMzQyxvQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDdEMsd0JBQU8sR0FBRyxDQUNSLE9BQU8sRUFDUCxpRUFBK0QsWUFBWSxvSUFDSCxvSEFDMkMsQ0FDcEgsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxxQkFBcUIsR0FBRztBQUN0QyxRQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsWUFBWSxFQUFJO0FBQ3BELFdBQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDdkMsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoicHJvdG8tYWNjZXNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlTmV3TG9va3VwT2JqZWN0IH0gZnJvbSAnLi9jcmVhdGUtbmV3LWxvb2t1cC1vYmplY3QnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuLi9sb2dnZXInO1xuXG5jb25zdCBsb2dnZWRQcm9wZXJ0aWVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChydW50aW1lT3B0aW9ucykge1xuICBsZXQgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ2NvbnN0cnVjdG9yJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19kZWZpbmVHZXR0ZXJfXyddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lU2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2xvb2t1cEdldHRlcl9fJ10gPSBmYWxzZTtcblxuICBsZXQgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvXG4gIGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdFsnX19wcm90b19fJ10gPSBmYWxzZTtcblxuICByZXR1cm4ge1xuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIHdoaXRlbGlzdDogY3JlYXRlTmV3TG9va3VwT2JqZWN0KFxuICAgICAgICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b1Byb3BlcnRpZXNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9Qcm9wZXJ0aWVzQnlEZWZhdWx0XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdCxcbiAgICAgICAgcnVudGltZU9wdGlvbnMuYWxsb3dlZFByb3RvTWV0aG9kc1xuICAgICAgKSxcbiAgICAgIGRlZmF1bHRWYWx1ZTogcnVudGltZU9wdGlvbnMuYWxsb3dQcm90b01ldGhvZHNCeURlZmF1bHRcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN1bHRJc0FsbG93ZWQocmVzdWx0LCBwcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkge1xuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBjaGVja1doaXRlTGlzdChwcm90b0FjY2Vzc0NvbnRyb2wubWV0aG9kcywgcHJvcGVydHlOYW1lKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLnByb3BlcnRpZXMsIHByb3BlcnR5TmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZSwgcHJvcGVydHlOYW1lKSB7XG4gIGlmIChwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLndoaXRlbGlzdFtwcm9wZXJ0eU5hbWVdICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSA9PT0gdHJ1ZTtcbiAgfVxuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwcm90b0FjY2Vzc0NvbnRyb2xGb3JUeXBlLmRlZmF1bHRWYWx1ZTtcbiAgfVxuICBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKTtcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsb2dVbmV4cGVjZWRQcm9wZXJ0eUFjY2Vzc09uY2UocHJvcGVydHlOYW1lKSB7XG4gIGlmIChsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gIT09IHRydWUpIHtcbiAgICBsb2dnZWRQcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV0gPSB0cnVlO1xuICAgIGxvZ2dlci5sb2coXG4gICAgICAnZXJyb3InLFxuICAgICAgYEhhbmRsZWJhcnM6IEFjY2VzcyBoYXMgYmVlbiBkZW5pZWQgdG8gcmVzb2x2ZSB0aGUgcHJvcGVydHkgXCIke3Byb3BlcnR5TmFtZX1cIiBiZWNhdXNlIGl0IGlzIG5vdCBhbiBcIm93biBwcm9wZXJ0eVwiIG9mIGl0cyBwYXJlbnQuXFxuYCArXG4gICAgICAgIGBZb3UgY2FuIGFkZCBhIHJ1bnRpbWUgb3B0aW9uIHRvIGRpc2FibGUgdGhlIGNoZWNrIG9yIHRoaXMgd2FybmluZzpcXG5gICtcbiAgICAgICAgYFNlZSBodHRwczovL2hhbmRsZWJhcnNqcy5jb20vYXBpLXJlZmVyZW5jZS9ydW50aW1lLW9wdGlvbnMuaHRtbCNvcHRpb25zLXRvLWNvbnRyb2wtcHJvdG90eXBlLWFjY2VzcyBmb3IgZGV0YWlsc2BcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldExvZ2dlZFByb3BlcnRpZXMoKSB7XG4gIE9iamVjdC5rZXlzKGxvZ2dlZFByb3BlcnRpZXMpLmZvckVhY2gocHJvcGVydHlOYW1lID0+IHtcbiAgICBkZWxldGUgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdO1xuICB9KTtcbn1cbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.HandlebarsEnvironment = HandlebarsEnvironment;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utils = require('./utils');\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _helpers = require('./helpers');\n\nvar _decorators = require('./decorators');\n\nvar _logger = require('./logger');\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nvar VERSION = '4.7.8';\nexports.VERSION = VERSION;\nvar COMPILER_REVISION = 8;\nexports.COMPILER_REVISION = COMPILER_REVISION;\nvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\nexports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\nvar REVISION_CHANGES = {\n 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n 2: '== 1.0.0-rc.3',\n 3: '== 1.0.0-rc.4',\n 4: '== 1.x.x',\n 5: '== 2.0.0-alpha.x',\n 6: '>= 2.0.0-beta.1',\n 7: '>= 4.0.0 <4.3.0',\n 8: '>= 4.3.0'\n};\n\nexports.REVISION_CHANGES = REVISION_CHANGES;\nvar objectType = '[object Object]';\n\nfunction HandlebarsEnvironment(helpers, partials, decorators) {\n this.helpers = helpers || {};\n this.partials = partials || {};\n this.decorators = decorators || {};\n\n _helpers.registerDefaultHelpers(this);\n _decorators.registerDefaultDecorators(this);\n}\n\nHandlebarsEnvironment.prototype = {\n constructor: HandlebarsEnvironment,\n\n logger: _logger2['default'],\n log: _logger2['default'].log,\n\n registerHelper: function registerHelper(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple helpers');\n }\n _utils.extend(this.helpers, name);\n } else {\n this.helpers[name] = fn;\n }\n },\n unregisterHelper: function unregisterHelper(name) {\n delete this.helpers[name];\n },\n\n registerPartial: function registerPartial(name, partial) {\n if (_utils.toString.call(name) === objectType) {\n _utils.extend(this.partials, name);\n } else {\n if (typeof partial === 'undefined') {\n throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n }\n this.partials[name] = partial;\n }\n },\n unregisterPartial: function unregisterPartial(name) {\n delete this.partials[name];\n },\n\n registerDecorator: function registerDecorator(name, fn) {\n if (_utils.toString.call(name) === objectType) {\n if (fn) {\n throw new _exception2['default']('Arg not supported with multiple decorators');\n }\n _utils.extend(this.decorators, name);\n } else {\n this.decorators[name] = fn;\n }\n },\n unregisterDecorator: function unregisterDecorator(name) {\n delete this.decorators[name];\n },\n /**\n * Reset the memory of illegal property accesses that have already been logged.\n * @deprecated should only be used in handlebars test-cases\n */\n resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n _internalProtoAccess.resetLoggedProperties();\n }\n};\n\nvar log = _logger2['default'].log;\n\nexports.log = log;\nexports.createFrame = _utils.createFrame;\nexports.logger = _logger2['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy44JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19\n","// Build out our basic SafeString type\n'use strict';\n\nexports.__esModule = true;\nfunction SafeString(string) {\n this.string = string;\n}\n\nSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n return '' + this.string;\n};\n\nexports['default'] = SafeString;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\nexports.wrapHelper = wrapHelper;\n\nfunction wrapHelper(helper, transformOptionsFn) {\n if (typeof helper !== 'function') {\n // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n return helper;\n }\n var wrapper = function wrapper() /* dynamic arguments */{\n var options = arguments[arguments.length - 1];\n arguments[arguments.length - 1] = transformOptionsFn(options);\n return helper.apply(this, arguments);\n };\n return wrapper;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.checkRevision = checkRevision;\nexports.template = template;\nexports.wrapProgram = wrapProgram;\nexports.resolvePartial = resolvePartial;\nexports.invokePartial = invokePartial;\nexports.noop = noop;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _utils = require('./utils');\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _exception = require('./exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _base = require('./base');\n\nvar _helpers = require('./helpers');\n\nvar _internalWrapHelper = require('./internal/wrapHelper');\n\nvar _internalProtoAccess = require('./internal/proto-access');\n\nfunction checkRevision(compilerInfo) {\n var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n currentRevision = _base.COMPILER_REVISION;\n\n if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n return;\n }\n\n if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n } else {\n // Use the embedded version info since the runtime doesn't know about this revision yet\n throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n }\n}\n\nfunction template(templateSpec, env) {\n /* istanbul ignore next */\n if (!env) {\n throw new _exception2['default']('No environment passed to template');\n }\n if (!templateSpec || !templateSpec.main) {\n throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n }\n\n templateSpec.main.decorator = templateSpec.main_d;\n\n // Note: Using env.VM references rather than local var references throughout this section to allow\n // for external users to override these as pseudo-supported APIs.\n env.VM.checkRevision(templateSpec.compiler);\n\n // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n function invokePartialWrapper(partial, context, options) {\n if (options.hash) {\n context = Utils.extend({}, context, options.hash);\n if (options.ids) {\n options.ids[0] = true;\n }\n }\n partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n var extendedOptions = Utils.extend({}, options, {\n hooks: this.hooks,\n protoAccessControl: this.protoAccessControl\n });\n\n var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n if (result == null && env.compile) {\n options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n result = options.partials[options.name](context, extendedOptions);\n }\n if (result != null) {\n if (options.indent) {\n var lines = result.split('\\n');\n for (var i = 0, l = lines.length; i < l; i++) {\n if (!lines[i] && i + 1 === l) {\n break;\n }\n\n lines[i] = options.indent + lines[i];\n }\n result = lines.join('\\n');\n }\n return result;\n } else {\n throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n }\n }\n\n // Just add water\n var container = {\n strict: function strict(obj, name, loc) {\n if (!obj || !(name in obj)) {\n throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n loc: loc\n });\n }\n return container.lookupProperty(obj, name);\n },\n lookupProperty: function lookupProperty(parent, propertyName) {\n var result = parent[propertyName];\n if (result == null) {\n return result;\n }\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return result;\n }\n\n if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n return result;\n }\n return undefined;\n },\n lookup: function lookup(depths, name) {\n var len = depths.length;\n for (var i = 0; i < len; i++) {\n var result = depths[i] && container.lookupProperty(depths[i], name);\n if (result != null) {\n return depths[i][name];\n }\n }\n },\n lambda: function lambda(current, context) {\n return typeof current === 'function' ? current.call(context) : current;\n },\n\n escapeExpression: Utils.escapeExpression,\n invokePartial: invokePartialWrapper,\n\n fn: function fn(i) {\n var ret = templateSpec[i];\n ret.decorator = templateSpec[i + '_d'];\n return ret;\n },\n\n programs: [],\n program: function program(i, data, declaredBlockParams, blockParams, depths) {\n var programWrapper = this.programs[i],\n fn = this.fn(i);\n if (data || depths || blockParams || declaredBlockParams) {\n programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n } else if (!programWrapper) {\n programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n }\n return programWrapper;\n },\n\n data: function data(value, depth) {\n while (value && depth--) {\n value = value._parent;\n }\n return value;\n },\n mergeIfNeeded: function mergeIfNeeded(param, common) {\n var obj = param || common;\n\n if (param && common && param !== common) {\n obj = Utils.extend({}, common, param);\n }\n\n return obj;\n },\n // An empty object to use as replacement for null-contexts\n nullContext: Object.seal({}),\n\n noop: env.VM.noop,\n compilerInfo: templateSpec.compiler\n };\n\n function ret(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var data = options.data;\n\n ret._setup(options);\n if (!options.partial && templateSpec.useData) {\n data = initData(context, data);\n }\n var depths = undefined,\n blockParams = templateSpec.useBlockParams ? [] : undefined;\n if (templateSpec.useDepths) {\n if (options.depths) {\n depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n } else {\n depths = [context];\n }\n }\n\n function main(context /*, options*/) {\n return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n }\n\n main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n return main(context, options);\n }\n\n ret.isTop = true;\n\n ret._setup = function (options) {\n if (!options.partial) {\n var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n wrapHelpersToPassLookupProperty(mergedHelpers, container);\n container.helpers = mergedHelpers;\n\n if (templateSpec.usePartial) {\n // Use mergeIfNeeded here to prevent compiling global partials multiple times\n container.partials = container.mergeIfNeeded(options.partials, env.partials);\n }\n if (templateSpec.usePartial || templateSpec.useDecorators) {\n container.decorators = Utils.extend({}, env.decorators, options.decorators);\n }\n\n container.hooks = {};\n container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n } else {\n container.protoAccessControl = options.protoAccessControl; // internal option\n container.helpers = options.helpers;\n container.partials = options.partials;\n container.decorators = options.decorators;\n container.hooks = options.hooks;\n }\n };\n\n ret._child = function (i, data, blockParams, depths) {\n if (templateSpec.useBlockParams && !blockParams) {\n throw new _exception2['default']('must pass block params');\n }\n if (templateSpec.useDepths && !depths) {\n throw new _exception2['default']('must pass parent depths');\n }\n\n return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n };\n return ret;\n}\n\nfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n function prog(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n var currentDepths = depths;\n if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n currentDepths = [context].concat(depths);\n }\n\n return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n }\n\n prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n prog.program = i;\n prog.depth = depths ? depths.length : 0;\n prog.blockParams = declaredBlockParams || 0;\n return prog;\n}\n\n/**\n * This is currently part of the official API, therefore implementation details should not be changed.\n */\n\nfunction resolvePartial(partial, context, options) {\n if (!partial) {\n if (options.name === '@partial-block') {\n partial = options.data['partial-block'];\n } else {\n partial = options.partials[options.name];\n }\n } else if (!partial.call && !options.name) {\n // This is a dynamic partial that returned a string\n options.name = partial;\n partial = options.partials[partial];\n }\n return partial;\n}\n\nfunction invokePartial(partial, context, options) {\n // Use the current closure context to save the partial-block if this partial\n var currentPartialBlock = options.data && options.data['partial-block'];\n options.partial = true;\n if (options.ids) {\n options.data.contextPath = options.ids[0] || options.data.contextPath;\n }\n\n var partialBlock = undefined;\n if (options.fn && options.fn !== noop) {\n (function () {\n options.data = _base.createFrame(options.data);\n // Wrapper function to get access to currentPartialBlock from the closure\n var fn = options.fn;\n partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n // Restore the partial-block from the closure for the execution of the block\n // i.e. the part inside the block of the partial call.\n options.data = _base.createFrame(options.data);\n options.data['partial-block'] = currentPartialBlock;\n return fn(context, options);\n };\n if (fn.partials) {\n options.partials = Utils.extend({}, options.partials, fn.partials);\n }\n })();\n }\n\n if (partial === undefined && partialBlock) {\n partial = partialBlock;\n }\n\n if (partial === undefined) {\n throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n } else if (partial instanceof Function) {\n return partial(context, options);\n }\n}\n\nfunction noop() {\n return '';\n}\n\nfunction initData(context, data) {\n if (!data || !('root' in data)) {\n data = data ? _base.createFrame(data) : {};\n data.root = context;\n }\n return data;\n}\n\nfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n if (fn.decorator) {\n var props = {};\n prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n Utils.extend(prog, props);\n }\n return prog;\n}\n\nfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n Object.keys(mergedHelpers).forEach(function (helperName) {\n var helper = mergedHelpers[helperName];\n mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n });\n}\n\nfunction passLookupPropertyOption(helper, container) {\n var lookupProperty = container.lookupProperty;\n return _internalWrapHelper.wrapHelper(helper, function (options) {\n return Utils.extend({ lookupProperty: lookupProperty }, options);\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztH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QUFDbkMsV0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxFQUFkLGNBQWMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0dBQ2xELENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6InJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi9leGNlcHRpb24nO1xuaW1wb3J0IHtcbiAgQ09NUElMRVJfUkVWSVNJT04sXG4gIGNyZWF0ZUZyYW1lLFxuICBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04sXG4gIFJFVklTSU9OX0NIQU5HRVNcbn0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1vdmVIZWxwZXJUb0hvb2tzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHdyYXBIZWxwZXIgfSBmcm9tICcuL2ludGVybmFsL3dyYXBIZWxwZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sLFxuICByZXN1bHRJc0FsbG93ZWRcbn0gZnJvbSAnLi9pbnRlcm5hbC9wcm90by1hY2Nlc3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tSZXZpc2lvbihjb21waWxlckluZm8pIHtcbiAgY29uc3QgY29tcGlsZXJSZXZpc2lvbiA9IChjb21waWxlckluZm8gJiYgY29tcGlsZXJJbmZvWzBdKSB8fCAxLFxuICAgIGN1cnJlbnRSZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OO1xuXG4gIGlmIChcbiAgICBjb21waWxlclJldmlzaW9uID49IExBU1RfQ09NUEFUSUJMRV9DT01QSUxFUl9SRVZJU0lPTiAmJlxuICAgIGNvbXBpbGVyUmV2aXNpb24gPD0gQ09NUElMRVJfUkVWSVNJT05cbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbXBpbGVyUmV2aXNpb24gPCBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04pIHtcbiAgICBjb25zdCBydW50aW1lVmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW2N1cnJlbnRSZXZpc2lvbl0sXG4gICAgICBjb21waWxlclZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjb21waWxlclJldmlzaW9uXTtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGFuIG9sZGVyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHByZWNvbXBpbGVyIHRvIGEgbmV3ZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIHJ1bnRpbWVWZXJzaW9ucyArXG4gICAgICAgICcpIG9yIGRvd25ncmFkZSB5b3VyIHJ1bnRpbWUgdG8gYW4gb2xkZXIgdmVyc2lvbiAoJyArXG4gICAgICAgIGNvbXBpbGVyVmVyc2lvbnMgK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgdGhlIGVtYmVkZGVkIHZlcnNpb24gaW5mbyBzaW5jZSB0aGUgcnVudGltZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyByZXZpc2lvbiB5ZXRcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgJ1RlbXBsYXRlIHdhcyBwcmVjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBIYW5kbGViYXJzIHRoYW4gdGhlIGN1cnJlbnQgcnVudGltZS4gJyArXG4gICAgICAgICdQbGVhc2UgdXBkYXRlIHlvdXIgcnVudGltZSB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlckluZm9bMV0gK1xuICAgICAgICAnKS4nXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVtcGxhdGUodGVtcGxhdGVTcGVjLCBlbnYpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCFlbnYpIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdObyBlbnZpcm9ubWVudCBwYXNzZWQgdG8gdGVtcGxhdGUnKTtcbiAgfVxuICBpZiAoIXRlbXBsYXRlU3BlYyB8fCAhdGVtcGxhdGVTcGVjLm1haW4pIHtcbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHRlbXBsYXRlIG9iamVjdDogJyArIHR5cGVvZiB0ZW1wbGF0ZVNwZWMpO1xuICB9XG5cbiAgdGVtcGxhdGVTcGVjLm1haW4uZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjLm1haW5fZDtcblxuICAvLyBOb3RlOiBVc2luZyBlbnYuVk0gcmVmZXJlbmNlcyByYXRoZXIgdGhhbiBsb2NhbCB2YXIgcmVmZXJlbmNlcyB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbiB0byBhbGxvd1xuICAvLyBmb3IgZXh0ZXJuYWwgdXNlcnMgdG8gb3ZlcnJpZGUgdGhlc2UgYXMgcHNldWRvLXN1cHBvcnRlZCBBUElzLlxuICBlbnYuVk0uY2hlY2tSZXZpc2lvbih0ZW1wbGF0ZVNwZWMuY29tcGlsZXIpO1xuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZvciBwcmVjb21waWxlZCB0ZW1wbGF0ZXMgd2l0aCBjb21waWxlci12ZXJzaW9uIDcgKDw0LjMuMClcbiAgY29uc3QgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3ID1cbiAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXIgJiYgdGVtcGxhdGVTcGVjLmNvbXBpbGVyWzBdID09PSA3O1xuXG4gIGZ1bmN0aW9uIGludm9rZVBhcnRpYWxXcmFwcGVyKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5oYXNoKSB7XG4gICAgICBjb250ZXh0ID0gVXRpbHMuZXh0ZW5kKHt9LCBjb250ZXh0LCBvcHRpb25zLmhhc2gpO1xuICAgICAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIG9wdGlvbnMuaWRzWzBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFydGlhbCA9IGVudi5WTS5yZXNvbHZlUGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpO1xuXG4gICAgbGV0IGV4dGVuZGVkT3B0aW9ucyA9IFV0aWxzLmV4dGVuZCh7fSwgb3B0aW9ucywge1xuICAgICAgaG9va3M6IHRoaXMuaG9va3MsXG4gICAgICBwcm90b0FjY2Vzc0NvbnRyb2w6IHRoaXMucHJvdG9BY2Nlc3NDb250cm9sXG4gICAgfSk7XG5cbiAgICBsZXQgcmVzdWx0ID0gZW52LlZNLmludm9rZVBhcnRpYWwuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICBwYXJ0aWFsLFxuICAgICAgY29udGV4dCxcbiAgICAgIGV4dGVuZGVkT3B0aW9uc1xuICAgICk7XG5cbiAgICBpZiAocmVzdWx0ID09IG51bGwgJiYgZW52LmNvbXBpbGUpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHNbb3B0aW9ucy5uYW1lXSA9IGVudi5jb21waWxlKFxuICAgICAgICBwYXJ0aWFsLFxuICAgICAgICB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJPcHRpb25zLFxuICAgICAgICBlbnZcbiAgICAgICk7XG4gICAgICByZXN1bHQgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0oY29udGV4dCwgZXh0ZW5kZWRPcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICBpZiAob3B0aW9ucy5pbmRlbnQpIHtcbiAgICAgICAgbGV0IGxpbmVzID0gcmVzdWx0LnNwbGl0KCdcXG4nKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBsaW5lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICBpZiAoIWxpbmVzW2ldICYmIGkgKyAxID09PSBsKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaW5lc1tpXSA9IG9wdGlvbnMuaW5kZW50ICsgbGluZXNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gbGluZXMuam9pbignXFxuJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVGhlIHBhcnRpYWwgJyArXG4gICAgICAgICAgb3B0aW9ucy5uYW1lICtcbiAgICAgICAgICAnIGNvdWxkIG5vdCBiZSBjb21waWxlZCB3aGVuIHJ1bm5pbmcgaW4gcnVudGltZS1vbmx5IG1vZGUnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEp1c3QgYWRkIHdhdGVyXG4gIGxldCBjb250YWluZXIgPSB7XG4gICAgc3RyaWN0OiBmdW5jdGlvbihvYmosIG5hbWUsIGxvYykge1xuICAgICAgaWYgKCFvYmogfHwgIShuYW1lIGluIG9iaikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignXCInICsgbmFtZSArICdcIiBub3QgZGVmaW5lZCBpbiAnICsgb2JqLCB7XG4gICAgICAgICAgbG9jOiBsb2NcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5KG9iaiwgbmFtZSk7XG4gICAgfSxcbiAgICBsb29rdXBQcm9wZXJ0eTogZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgIGxldCByZXN1bHQgPSBwYXJlbnRbcHJvcGVydHlOYW1lXTtcbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3VsdElzQWxsb3dlZChyZXN1bHQsIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBsb29rdXA6IGZ1bmN0aW9uKGRlcHRocywgbmFtZSkge1xuICAgICAgY29uc3QgbGVuID0gZGVwdGhzLmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGRlcHRoc1tpXSAmJiBjb250YWluZXIubG9va3VwUHJvcGVydHkoZGVwdGhzW2ldLCBuYW1lKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGRlcHRoc1tpXVtuYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgbGFtYmRhOiBmdW5jdGlvbihjdXJyZW50LCBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGN1cnJlbnQgPT09ICdmdW5jdGlvbicgPyBjdXJyZW50LmNhbGwoY29udGV4dCkgOiBjdXJyZW50O1xuICAgIH0sXG5cbiAgICBlc2NhcGVFeHByZXNzaW9uOiBVdGlscy5lc2NhcGVFeHByZXNzaW9uLFxuICAgIGludm9rZVBhcnRpYWw6IGludm9rZVBhcnRpYWxXcmFwcGVyLFxuXG4gICAgZm46IGZ1bmN0aW9uKGkpIHtcbiAgICAgIGxldCByZXQgPSB0ZW1wbGF0ZVNwZWNbaV07XG4gICAgICByZXQuZGVjb3JhdG9yID0gdGVtcGxhdGVTcGVjW2kgKyAnX2QnXTtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSxcblxuICAgIHByb2dyYW1zOiBbXSxcbiAgICBwcm9ncmFtOiBmdW5jdGlvbihpLCBkYXRhLCBkZWNsYXJlZEJsb2NrUGFyYW1zLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgICBsZXQgcHJvZ3JhbVdyYXBwZXIgPSB0aGlzLnByb2dyYW1zW2ldLFxuICAgICAgICBmbiA9IHRoaXMuZm4oaSk7XG4gICAgICBpZiAoZGF0YSB8fCBkZXB0aHMgfHwgYmxvY2tQYXJhbXMgfHwgZGVjbGFyZWRCbG9ja1BhcmFtcykge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHdyYXBQcm9ncmFtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgaSxcbiAgICAgICAgICBmbixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGRlY2xhcmVkQmxvY2tQYXJhbXMsXG4gICAgICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICAgICAgZGVwdGhzXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKCFwcm9ncmFtV3JhcHBlcikge1xuICAgICAgICBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0gPSB3cmFwUHJvZ3JhbSh0aGlzLCBpLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJvZ3JhbVdyYXBwZXI7XG4gICAgfSxcblxuICAgIGRhdGE6IGZ1bmN0aW9uKHZhbHVlLCBkZXB0aCkge1xuICAgICAgd2hpbGUgKHZhbHVlICYmIGRlcHRoLS0pIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5fcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0sXG4gICAgbWVyZ2VJZk5lZWRlZDogZnVuY3Rpb24ocGFyYW0sIGNvbW1vbikge1xuICAgICAgbGV0IG9iaiA9IHBhcmFtIHx8IGNvbW1vbjtcblxuICAgICAgaWYgKHBhcmFtICYmIGNvbW1vbiAmJiBwYXJhbSAhPT0gY29tbW9uKSB7XG4gICAgICAgIG9iaiA9IFV0aWxzLmV4dGVuZCh7fSwgY29tbW9uLCBwYXJhbSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSxcbiAgICAvLyBBbiBlbXB0eSBvYmplY3QgdG8gdXNlIGFzIHJlcGxhY2VtZW50IGZvciBudWxsLWNvbnRleHRzXG4gICAgbnVsbENvbnRleHQ6IE9iamVjdC5zZWFsKHt9KSxcblxuICAgIG5vb3A6IGVudi5WTS5ub29wLFxuICAgIGNvbXBpbGVySW5mbzogdGVtcGxhdGVTcGVjLmNvbXBpbGVyXG4gIH07XG5cbiAgZnVuY3Rpb24gcmV0KGNvbnRleHQsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuXG4gICAgcmV0Ll9zZXR1cChvcHRpb25zKTtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCAmJiB0ZW1wbGF0ZVNwZWMudXNlRGF0YSkge1xuICAgICAgZGF0YSA9IGluaXREYXRhKGNvbnRleHQsIGRhdGEpO1xuICAgIH1cbiAgICBsZXQgZGVwdGhzLFxuICAgICAgYmxvY2tQYXJhbXMgPSB0ZW1wbGF0ZVNwZWMudXNlQmxvY2tQYXJhbXMgPyBbXSA6IHVuZGVmaW5lZDtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocykge1xuICAgICAgaWYgKG9wdGlvbnMuZGVwdGhzKSB7XG4gICAgICAgIGRlcHRocyA9XG4gICAgICAgICAgY29udGV4dCAhPSBvcHRpb25zLmRlcHRoc1swXVxuICAgICAgICAgICAgPyBbY29udGV4dF0uY29uY2F0KG9wdGlvbnMuZGVwdGhzKVxuICAgICAgICAgICAgOiBvcHRpb25zLmRlcHRocztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlcHRocyA9IFtjb250ZXh0XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWluKGNvbnRleHQgLyosIG9wdGlvbnMqLykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgJycgK1xuICAgICAgICB0ZW1wbGF0ZVNwZWMubWFpbihcbiAgICAgICAgICBjb250YWluZXIsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBtYWluID0gZXhlY3V0ZURlY29yYXRvcnMoXG4gICAgICB0ZW1wbGF0ZVNwZWMubWFpbixcbiAgICAgIG1haW4sXG4gICAgICBjb250YWluZXIsXG4gICAgICBvcHRpb25zLmRlcHRocyB8fCBbXSxcbiAgICAgIGRhdGEsXG4gICAgICBibG9ja1BhcmFtc1xuICAgICk7XG4gICAgcmV0dXJuIG1haW4oY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cblxuICByZXQuaXNUb3AgPSB0cnVlO1xuXG4gIHJldC5fc2V0dXAgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zLnBhcnRpYWwpIHtcbiAgICAgIGxldCBtZXJnZWRIZWxwZXJzID0gVXRpbHMuZXh0ZW5kKHt9LCBlbnYuaGVscGVycywgb3B0aW9ucy5oZWxwZXJzKTtcbiAgICAgIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKTtcbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gbWVyZ2VkSGVscGVycztcblxuICAgICAgaWYgKHRlbXBsYXRlU3BlYy51c2VQYXJ0aWFsKSB7XG4gICAgICAgIC8vIFVzZSBtZXJnZUlmTmVlZGVkIGhlcmUgdG8gcHJldmVudCBjb21waWxpbmcgZ2xvYmFsIHBhcnRpYWxzIG11bHRpcGxlIHRpbWVzXG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGNvbnRhaW5lci5tZXJnZUlmTmVlZGVkKFxuICAgICAgICAgIG9wdGlvbnMucGFydGlhbHMsXG4gICAgICAgICAgZW52LnBhcnRpYWxzXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwgfHwgdGVtcGxhdGVTcGVjLnVzZURlY29yYXRvcnMpIHtcbiAgICAgICAgY29udGFpbmVyLmRlY29yYXRvcnMgPSBVdGlscy5leHRlbmQoXG4gICAgICAgICAge30sXG4gICAgICAgICAgZW52LmRlY29yYXRvcnMsXG4gICAgICAgICAgb3B0aW9ucy5kZWNvcmF0b3JzXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IHt9O1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbChvcHRpb25zKTtcblxuICAgICAgbGV0IGtlZXBIZWxwZXJJbkhlbHBlcnMgPVxuICAgICAgICBvcHRpb25zLmFsbG93Q2FsbHNUb0hlbHBlck1pc3NpbmcgfHxcbiAgICAgICAgdGVtcGxhdGVXYXNQcmVjb21waWxlZFdpdGhDb21waWxlclY3O1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnaGVscGVyTWlzc2luZycsIGtlZXBIZWxwZXJJbkhlbHBlcnMpO1xuICAgICAgbW92ZUhlbHBlclRvSG9va3MoY29udGFpbmVyLCAnYmxvY2tIZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRhaW5lci5wcm90b0FjY2Vzc0NvbnRyb2wgPSBvcHRpb25zLnByb3RvQWNjZXNzQ29udHJvbDsgLy8gaW50ZXJuYWwgb3B0aW9uXG4gICAgICBjb250YWluZXIuaGVscGVycyA9IG9wdGlvbnMuaGVscGVycztcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IG9wdGlvbnMucGFydGlhbHM7XG4gICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IG9wdGlvbnMuZGVjb3JhdG9ycztcbiAgICAgIGNvbnRhaW5lci5ob29rcyA9IG9wdGlvbnMuaG9va3M7XG4gICAgfVxuICB9O1xuXG4gIHJldC5fY2hpbGQgPSBmdW5jdGlvbihpLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyAmJiAhYmxvY2tQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ211c3QgcGFzcyBibG9jayBwYXJhbXMnKTtcbiAgICB9XG4gICAgaWYgKHRlbXBsYXRlU3BlYy51c2VEZXB0aHMgJiYgIWRlcHRocykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIHBhcmVudCBkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gd3JhcFByb2dyYW0oXG4gICAgICBjb250YWluZXIsXG4gICAgICBpLFxuICAgICAgdGVtcGxhdGVTcGVjW2ldLFxuICAgICAgZGF0YSxcbiAgICAgIDAsXG4gICAgICBibG9ja1BhcmFtcyxcbiAgICAgIGRlcHRoc1xuICAgICk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cmFwUHJvZ3JhbShcbiAgY29udGFpbmVyLFxuICBpLFxuICBmbixcbiAgZGF0YSxcbiAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgYmxvY2tQYXJhbXMsXG4gIGRlcHRoc1xuKSB7XG4gIGZ1bmN0aW9uIHByb2coY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGN1cnJlbnREZXB0aHMgPSBkZXB0aHM7XG4gICAgaWYgKFxuICAgICAgZGVwdGhzICYmXG4gICAgICBjb250ZXh0ICE9IGRlcHRoc1swXSAmJlxuICAgICAgIShjb250ZXh0ID09PSBjb250YWluZXIubnVsbENvbnRleHQgJiYgZGVwdGhzWzBdID09PSBudWxsKVxuICAgICkge1xuICAgICAgY3VycmVudERlcHRocyA9IFtjb250ZXh0XS5jb25jYXQoZGVwdGhzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm4oXG4gICAgICBjb250YWluZXIsXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGFpbmVyLmhlbHBlcnMsXG4gICAgICBjb250YWluZXIucGFydGlhbHMsXG4gICAgICBvcHRpb25zLmRhdGEgfHwgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zICYmIFtvcHRpb25zLmJsb2NrUGFyYW1zXS5jb25jYXQoYmxvY2tQYXJhbXMpLFxuICAgICAgY3VycmVudERlcHRoc1xuICAgICk7XG4gIH1cblxuICBwcm9nID0gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcyk7XG5cbiAgcHJvZy5wcm9ncmFtID0gaTtcbiAgcHJvZy5kZXB0aCA9IGRlcHRocyA/IGRlcHRocy5sZW5ndGggOiAwO1xuICBwcm9nLmJsb2NrUGFyYW1zID0gZGVjbGFyZWRCbG9ja1BhcmFtcyB8fCAwO1xuICByZXR1cm4gcHJvZztcbn1cblxuLyoqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoZXJlZm9yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHNob3VsZCBub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgaWYgKCFwYXJ0aWFsKSB7XG4gICAgaWYgKG9wdGlvbnMubmFtZSA9PT0gJ0BwYXJ0aWFsLWJsb2NrJykge1xuICAgICAgcGFydGlhbCA9IG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdO1xuICAgIH1cbiAgfSBlbHNlIGlmICghcGFydGlhbC5jYWxsICYmICFvcHRpb25zLm5hbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZHluYW1pYyBwYXJ0aWFsIHRoYXQgcmV0dXJuZWQgYSBzdHJpbmdcbiAgICBvcHRpb25zLm5hbWUgPSBwYXJ0aWFsO1xuICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW3BhcnRpYWxdO1xuICB9XG4gIHJldHVybiBwYXJ0aWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlUGFydGlhbChwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gIC8vIFVzZSB0aGUgY3VycmVudCBjbG9zdXJlIGNvbnRleHQgdG8gc2F2ZSB0aGUgcGFydGlhbC1ibG9jayBpZiB0aGlzIHBhcnRpYWxcbiAgY29uc3QgY3VycmVudFBhcnRpYWxCbG9jayA9IG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXTtcbiAgb3B0aW9ucy5wYXJ0aWFsID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMuaWRzKSB7XG4gICAgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoID0gb3B0aW9ucy5pZHNbMF0gfHwgb3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoO1xuICB9XG5cbiAgbGV0IHBhcnRpYWxCbG9jaztcbiAgaWYgKG9wdGlvbnMuZm4gJiYgb3B0aW9ucy5mbiAhPT0gbm9vcCkge1xuICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgLy8gV3JhcHBlciBmdW5jdGlvbiB0byBnZXQgYWNjZXNzIHRvIGN1cnJlbnRQYXJ0aWFsQmxvY2sgZnJvbSB0aGUgY2xvc3VyZVxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG4gICAgcGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBmdW5jdGlvbiBwYXJ0aWFsQmxvY2tXcmFwcGVyKFxuICAgICAgY29udGV4dCxcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgICkge1xuICAgICAgLy8gUmVzdG9yZSB0aGUgcGFydGlhbC1ibG9jayBmcm9tIHRoZSBjbG9zdXJlIGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9ja1xuICAgICAgLy8gaS5lLiB0aGUgcGFydCBpbnNpZGUgdGhlIGJsb2NrIG9mIHRoZSBwYXJ0aWFsIGNhbGwuXG4gICAgICBvcHRpb25zLmRhdGEgPSBjcmVhdGVGcmFtZShvcHRpb25zLmRhdGEpO1xuICAgICAgb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ10gPSBjdXJyZW50UGFydGlhbEJsb2NrO1xuICAgICAgcmV0dXJuIGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgaWYgKGZuLnBhcnRpYWxzKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzID0gVXRpbHMuZXh0ZW5kKHt9LCBvcHRpb25zLnBhcnRpYWxzLCBmbi5wYXJ0aWFscyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCAmJiBwYXJ0aWFsQmxvY2spIHtcbiAgICBwYXJ0aWFsID0gcGFydGlhbEJsb2NrO1xuICB9XG5cbiAgaWYgKHBhcnRpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1RoZSBwYXJ0aWFsICcgKyBvcHRpb25zLm5hbWUgKyAnIGNvdWxkIG5vdCBiZSBmb3VuZCcpO1xuICB9IGVsc2UgaWYgKHBhcnRpYWwgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgIHJldHVybiBwYXJ0aWFsKGNvbnRleHQsIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge1xuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhKGNvbnRleHQsIGRhdGEpIHtcbiAgaWYgKCFkYXRhIHx8ICEoJ3Jvb3QnIGluIGRhdGEpKSB7XG4gICAgZGF0YSA9IGRhdGEgPyBjcmVhdGVGcmFtZShkYXRhKSA6IHt9O1xuICAgIGRhdGEucm9vdCA9IGNvbnRleHQ7XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGV4ZWN1dGVEZWNvcmF0b3JzKGZuLCBwcm9nLCBjb250YWluZXIsIGRlcHRocywgZGF0YSwgYmxvY2tQYXJhbXMpIHtcbiAgaWYgKGZuLmRlY29yYXRvcikge1xuICAgIGxldCBwcm9wcyA9IHt9O1xuICAgIHByb2cgPSBmbi5kZWNvcmF0b3IoXG4gICAgICBwcm9nLFxuICAgICAgcHJvcHMsXG4gICAgICBjb250YWluZXIsXG4gICAgICBkZXB0aHMgJiYgZGVwdGhzWzBdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgICBVdGlscy5leHRlbmQocHJvZywgcHJvcHMpO1xuICB9XG4gIHJldHVybiBwcm9nO1xufVxuXG5mdW5jdGlvbiB3cmFwSGVscGVyc1RvUGFzc0xvb2t1cFByb3BlcnR5KG1lcmdlZEhlbHBlcnMsIGNvbnRhaW5lcikge1xuICBPYmplY3Qua2V5cyhtZXJnZWRIZWxwZXJzKS5mb3JFYWNoKGhlbHBlck5hbWUgPT4ge1xuICAgIGxldCBoZWxwZXIgPSBtZXJnZWRIZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV0gPSBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFzc0xvb2t1cFByb3BlcnR5T3B0aW9uKGhlbHBlciwgY29udGFpbmVyKSB7XG4gIGNvbnN0IGxvb2t1cFByb3BlcnR5ID0gY29udGFpbmVyLmxvb2t1cFByb3BlcnR5O1xuICByZXR1cm4gd3JhcEhlbHBlcihoZWxwZXIsIG9wdGlvbnMgPT4ge1xuICAgIHJldHVybiBVdGlscy5leHRlbmQoeyBsb29rdXBQcm9wZXJ0eSB9LCBvcHRpb25zKTtcbiAgfSk7XG59XG4iXX0=\n","/* global globalThis */\n'use strict';\n\nexports.__esModule = true;\n\nexports['default'] = function (Handlebars) {\n /* istanbul ignore next */\n // https://mathiasbynens.be/notes/globalthis\n (function () {\n if (typeof globalThis === 'object') return;\n Object.prototype.__defineGetter__('__magic__', function () {\n return this;\n });\n __magic__.globalThis = __magic__; // eslint-disable-line no-undef\n delete Object.prototype.__magic__;\n })();\n\n var $Handlebars = globalThis.Handlebars;\n\n /* istanbul ignore next */\n Handlebars.noConflict = function () {\n if (globalThis.Handlebars === Handlebars) {\n globalThis.Handlebars = $Handlebars;\n }\n return Handlebars;\n };\n};\n\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUNlLFVBQVMsVUFBVSxFQUFFOzs7QUFHbEMsR0FBQyxZQUFXO0FBQ1YsUUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsT0FBTztBQUMzQyxVQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxZQUFXO0FBQ3hELGFBQU8sSUFBSSxDQUFDO0tBQ2IsQ0FBQyxDQUFDO0FBQ0gsYUFBUyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7QUFDakMsV0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztHQUNuQyxDQUFBLEVBQUcsQ0FBQzs7QUFFTCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDOzs7QUFHMUMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksVUFBVSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDeEMsZ0JBQVUsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxVQUFVLENBQUM7R0FDbkIsQ0FBQztDQUNIIiwiZmlsZSI6Im5vLWNvbmZsaWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIGdsb2JhbFRoaXMgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKEhhbmRsZWJhcnMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2dsb2JhbHRoaXNcbiAgKGZ1bmN0aW9uKCkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybjtcbiAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oJ19fbWFnaWNfXycsIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSk7XG4gICAgX19tYWdpY19fLmdsb2JhbFRoaXMgPSBfX21hZ2ljX187IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5fX21hZ2ljX187XG4gIH0pKCk7XG5cbiAgY29uc3QgJEhhbmRsZWJhcnMgPSBnbG9iYWxUaGlzLkhhbmRsZWJhcnM7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgSGFuZGxlYmFycy5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKGdsb2JhbFRoaXMuSGFuZGxlYmFycyA9PT0gSGFuZGxlYmFycykge1xuICAgICAgZ2xvYmFsVGhpcy5IYW5kbGViYXJzID0gJEhhbmRsZWJhcnM7XG4gICAgfVxuICAgIHJldHVybiBIYW5kbGViYXJzO1xuICB9O1xufVxuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nvar _handlebarsBase = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_handlebarsBase);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _handlebarsSafeString = require('./handlebars/safe-string');\n\nvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\nvar _handlebarsException = require('./handlebars/exception');\n\nvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\nvar _handlebarsUtils = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\nvar _handlebarsRuntime = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n\n Utils.extend(hb, base);\n hb.SafeString = _handlebarsSafeString2['default'];\n hb.Exception = _handlebarsException2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n\n hb.VM = runtime;\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nvar AST = {\n // Public API used to evaluate derived attributes regarding AST nodes\n helpers: {\n // a mustache is definitely a helper if:\n // * it is an eligible helper, and\n // * it has at least one parameter or hash segment\n helperExpression: function helperExpression(node) {\n return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n },\n\n scopedId: function scopedId(path) {\n return (/^\\.|this\\b/.test(path.original)\n );\n },\n\n // an ID is simple if it only has one part, and that part is not\n // `..` or `this`.\n simpleId: function simpleId(path) {\n return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n }\n }\n};\n\n// Must be exported as an object rather than the root of the module as the jison lexer\n// must modify the object to operate properly.\nexports['default'] = AST;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2FzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLEdBQUcsR0FBRzs7QUFFUixTQUFPLEVBQUU7Ozs7QUFJUCxvQkFBZ0IsRUFBRSwwQkFBUyxJQUFJLEVBQUU7QUFDL0IsYUFDRSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFDNUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixJQUNqQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFBLElBQzlCLENBQUMsRUFBRSxBQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLElBQUksQ0FBQSxBQUFDLEFBQUMsQ0FDdkQ7S0FDSDs7QUFFRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQU8sYUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQUM7S0FDekM7Ozs7QUFJRCxZQUFRLEVBQUUsa0JBQVMsSUFBSSxFQUFFO0FBQ3ZCLGFBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUNyRTtLQUNIO0dBQ0Y7Q0FDRixDQUFDOzs7O3FCQUlhLEdBQUciLCJmaWxlIjoiYXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibGV0IEFTVCA9IHtcbiAgLy8gUHVibGljIEFQSSB1c2VkIHRvIGV2YWx1YXRlIGRlcml2ZWQgYXR0cmlidXRlcyByZWdhcmRpbmcgQVNUIG5vZGVzXG4gIGhlbHBlcnM6IHtcbiAgICAvLyBhIG11c3RhY2hlIGlzIGRlZmluaXRlbHkgYSBoZWxwZXIgaWY6XG4gICAgLy8gKiBpdCBpcyBhbiBlbGlnaWJsZSBoZWxwZXIsIGFuZFxuICAgIC8vICogaXQgaGFzIGF0IGxlYXN0IG9uZSBwYXJhbWV0ZXIgb3IgaGFzaCBzZWdtZW50XG4gICAgaGVscGVyRXhwcmVzc2lvbjogZnVuY3Rpb24obm9kZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9kZS50eXBlID09PSAnU3ViRXhwcmVzc2lvbicgfHxcbiAgICAgICAgKChub2RlLnR5cGUgPT09ICdNdXN0YWNoZVN0YXRlbWVudCcgfHxcbiAgICAgICAgICBub2RlLnR5cGUgPT09ICdCbG9ja1N0YXRlbWVudCcpICYmXG4gICAgICAgICAgISEoKG5vZGUucGFyYW1zICYmIG5vZGUucGFyYW1zLmxlbmd0aCkgfHwgbm9kZS5oYXNoKSlcbiAgICAgICk7XG4gICAgfSxcblxuICAgIHNjb3BlZElkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gL15cXC58dGhpc1xcYi8udGVzdChwYXRoLm9yaWdpbmFsKTtcbiAgICB9LFxuXG4gICAgLy8gYW4gSUQgaXMgc2ltcGxlIGlmIGl0IG9ubHkgaGFzIG9uZSBwYXJ0LCBhbmQgdGhhdCBwYXJ0IGlzIG5vdFxuICAgIC8vIGAuLmAgb3IgYHRoaXNgLlxuICAgIHNpbXBsZUlkOiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBwYXRoLnBhcnRzLmxlbmd0aCA9PT0gMSAmJiAhQVNULmhlbHBlcnMuc2NvcGVkSWQocGF0aCkgJiYgIXBhdGguZGVwdGhcbiAgICAgICk7XG4gICAgfVxuICB9XG59O1xuXG4vLyBNdXN0IGJlIGV4cG9ydGVkIGFzIGFuIG9iamVjdCByYXRoZXIgdGhhbiB0aGUgcm9vdCBvZiB0aGUgbW9kdWxlIGFzIHRoZSBqaXNvbiBsZXhlclxuLy8gbXVzdCBtb2RpZnkgdGhlIG9iamVjdCB0byBvcGVyYXRlIHByb3Blcmx5LlxuZXhwb3J0IGRlZmF1bHQgQVNUO1xuIl19\n","// File ignored in coverage tests via setting in .istanbul.yml\n/* Jison generated parser */\n\"use strict\";\n\nexports.__esModule = true;\nvar handlebars = (function () {\n var parser = { trace: function trace() {},\n yy: {},\n symbols_: { \"error\": 2, \"root\": 3, \"program\": 4, \"EOF\": 5, \"program_repetition0\": 6, \"statement\": 7, \"mustache\": 8, \"block\": 9, \"rawBlock\": 10, \"partial\": 11, \"partialBlock\": 12, \"content\": 13, \"COMMENT\": 14, \"CONTENT\": 15, \"openRawBlock\": 16, \"rawBlock_repetition0\": 17, \"END_RAW_BLOCK\": 18, \"OPEN_RAW_BLOCK\": 19, \"helperName\": 20, \"openRawBlock_repetition0\": 21, \"openRawBlock_option0\": 22, \"CLOSE_RAW_BLOCK\": 23, \"openBlock\": 24, \"block_option0\": 25, \"closeBlock\": 26, \"openInverse\": 27, \"block_option1\": 28, \"OPEN_BLOCK\": 29, \"openBlock_repetition0\": 30, \"openBlock_option0\": 31, \"openBlock_option1\": 32, \"CLOSE\": 33, \"OPEN_INVERSE\": 34, \"openInverse_repetition0\": 35, \"openInverse_option0\": 36, \"openInverse_option1\": 37, \"openInverseChain\": 38, \"OPEN_INVERSE_CHAIN\": 39, \"openInverseChain_repetition0\": 40, \"openInverseChain_option0\": 41, \"openInverseChain_option1\": 42, \"inverseAndProgram\": 43, \"INVERSE\": 44, \"inverseChain\": 45, \"inverseChain_option0\": 46, \"OPEN_ENDBLOCK\": 47, \"OPEN\": 48, \"mustache_repetition0\": 49, \"mustache_option0\": 50, \"OPEN_UNESCAPED\": 51, \"mustache_repetition1\": 52, \"mustache_option1\": 53, \"CLOSE_UNESCAPED\": 54, \"OPEN_PARTIAL\": 55, \"partialName\": 56, \"partial_repetition0\": 57, \"partial_option0\": 58, \"openPartialBlock\": 59, \"OPEN_PARTIAL_BLOCK\": 60, \"openPartialBlock_repetition0\": 61, \"openPartialBlock_option0\": 62, \"param\": 63, \"sexpr\": 64, \"OPEN_SEXPR\": 65, \"sexpr_repetition0\": 66, \"sexpr_option0\": 67, \"CLOSE_SEXPR\": 68, \"hash\": 69, \"hash_repetition_plus0\": 70, \"hashSegment\": 71, \"ID\": 72, \"EQUALS\": 73, \"blockParams\": 74, \"OPEN_BLOCK_PARAMS\": 75, \"blockParams_repetition_plus0\": 76, \"CLOSE_BLOCK_PARAMS\": 77, \"path\": 78, \"dataName\": 79, \"STRING\": 80, \"NUMBER\": 81, \"BOOLEAN\": 82, \"UNDEFINED\": 83, \"NULL\": 84, \"DATA\": 85, \"pathSegments\": 86, \"SEP\": 87, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"EOF\", 14: \"COMMENT\", 15: \"CONTENT\", 18: \"END_RAW_BLOCK\", 19: \"OPEN_RAW_BLOCK\", 23: \"CLOSE_RAW_BLOCK\", 29: \"OPEN_BLOCK\", 33: \"CLOSE\", 34: \"OPEN_INVERSE\", 39: \"OPEN_INVERSE_CHAIN\", 44: \"INVERSE\", 47: \"OPEN_ENDBLOCK\", 48: \"OPEN\", 51: \"OPEN_UNESCAPED\", 54: \"CLOSE_UNESCAPED\", 55: \"OPEN_PARTIAL\", 60: \"OPEN_PARTIAL_BLOCK\", 65: \"OPEN_SEXPR\", 68: \"CLOSE_SEXPR\", 72: \"ID\", 73: \"EQUALS\", 75: \"OPEN_BLOCK_PARAMS\", 77: \"CLOSE_BLOCK_PARAMS\", 80: \"STRING\", 81: \"NUMBER\", 82: \"BOOLEAN\", 83: \"UNDEFINED\", 84: \"NULL\", 85: \"DATA\", 87: \"SEP\" },\n productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = yy.prepareProgram($$[$0]);\n break;\n case 3:\n this.$ = $$[$0];\n break;\n case 4:\n this.$ = $$[$0];\n break;\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n this.$ = $$[$0];\n break;\n case 7:\n this.$ = $$[$0];\n break;\n case 8:\n this.$ = $$[$0];\n break;\n case 9:\n this.$ = {\n type: 'CommentStatement',\n value: yy.stripComment($$[$0]),\n strip: yy.stripFlags($$[$0], $$[$0]),\n loc: yy.locInfo(this._$)\n };\n\n break;\n case 10:\n this.$ = {\n type: 'ContentStatement',\n original: $$[$0],\n value: $$[$0],\n loc: yy.locInfo(this._$)\n };\n\n break;\n case 11:\n this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n break;\n case 12:\n this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };\n break;\n case 13:\n this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n break;\n case 14:\n this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n break;\n case 15:\n this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n break;\n case 16:\n this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n break;\n case 17:\n this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n break;\n case 18:\n this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };\n break;\n case 19:\n var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n program.chained = true;\n\n this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };\n\n break;\n case 20:\n this.$ = $$[$0];\n break;\n case 21:\n this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };\n break;\n case 22:\n this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n break;\n case 23:\n this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n break;\n case 24:\n this.$ = {\n type: 'PartialStatement',\n name: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1],\n indent: '',\n strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n loc: yy.locInfo(this._$)\n };\n\n break;\n case 25:\n this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n break;\n case 26:\n this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };\n break;\n case 27:\n this.$ = $$[$0];\n break;\n case 28:\n this.$ = $$[$0];\n break;\n case 29:\n this.$ = {\n type: 'SubExpression',\n path: $$[$0 - 3],\n params: $$[$0 - 2],\n hash: $$[$0 - 1],\n loc: yy.locInfo(this._$)\n };\n\n break;\n case 30:\n this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };\n break;\n case 31:\n this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };\n break;\n case 32:\n this.$ = yy.id($$[$0 - 1]);\n break;\n case 33:\n this.$ = $$[$0];\n break;\n case 34:\n this.$ = $$[$0];\n break;\n case 35:\n this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };\n break;\n case 36:\n this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };\n break;\n case 37:\n this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };\n break;\n case 38:\n this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };\n break;\n case 39:\n this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };\n break;\n case 40:\n this.$ = $$[$0];\n break;\n case 41:\n this.$ = $$[$0];\n break;\n case 42:\n this.$ = yy.preparePath(true, $$[$0], this._$);\n break;\n case 43:\n this.$ = yy.preparePath(false, $$[$0], this._$);\n break;\n case 44:\n $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];\n break;\n case 45:\n this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];\n break;\n case 46:\n this.$ = [];\n break;\n case 47:\n $$[$0 - 1].push($$[$0]);\n break;\n case 48:\n this.$ = [];\n break;\n case 49:\n $$[$0 - 1].push($$[$0]);\n break;\n case 50:\n this.$ = [];\n break;\n case 51:\n $$[$0 - 1].push($$[$0]);\n break;\n case 58:\n this.$ = [];\n break;\n case 59:\n $$[$0 - 1].push($$[$0]);\n break;\n case 64:\n this.$ = [];\n break;\n case 65:\n $$[$0 - 1].push($$[$0]);\n break;\n case 70:\n this.$ = [];\n break;\n case 71:\n $$[$0 - 1].push($$[$0]);\n break;\n case 78:\n this.$ = [];\n break;\n case 79:\n $$[$0 - 1].push($$[$0]);\n break;\n case 82:\n this.$ = [];\n break;\n case 83:\n $$[$0 - 1].push($$[$0]);\n break;\n case 86:\n this.$ = [];\n break;\n case 87:\n $$[$0 - 1].push($$[$0]);\n break;\n case 90:\n this.$ = [];\n break;\n case 91:\n $$[$0 - 1].push($$[$0]);\n break;\n case 94:\n this.$ = [];\n break;\n case 95:\n $$[$0 - 1].push($$[$0]);\n break;\n case 98:\n this.$ = [$$[$0]];\n break;\n case 99:\n $$[$0 - 1].push($$[$0]);\n break;\n case 100:\n this.$ = [$$[$0]];\n break;\n case 101:\n $$[$0 - 1].push($$[$0]);\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],\n defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] },\n parseError: function parseError(str, hash) {\n throw new Error(str);\n },\n parse: function parse(input) {\n var self = this,\n stack = [0],\n vstack = [null],\n lstack = [],\n table = this.table,\n yytext = \"\",\n yylineno = 0,\n yyleng = 0,\n recovering = 0,\n TERROR = 2,\n EOF = 1;\n this.lexer.setInput(input);\n this.lexer.yy = this.yy;\n this.yy.lexer = this.lexer;\n this.yy.parser = this;\n if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n var yyloc = this.lexer.yylloc;\n lstack.push(yyloc);\n var ranges = this.lexer.options && this.lexer.options.ranges;\n if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n function lex() {\n var token;\n token = self.lexer.lex() || 1;\n if (typeof token !== \"number\") {\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol,\n preErrorSymbol,\n state,\n action,\n a,\n r,\n yyval = {},\n p,\n len,\n newState,\n expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n if (!recovering) {\n expected = [];\n for (p in table[state]) if (this.terminals_[p] && p > 2) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n if (this.lexer.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });\n }\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(this.lexer.yytext);\n lstack.push(this.lexer.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = this.lexer.yyleng;\n yytext = this.lexer.yytext;\n yylineno = this.lexer.yylineno;\n yyloc = this.lexer.yylloc;\n if (recovering > 0) recovering--;\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column };\n if (ranges) {\n yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n }\n r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n /* Jison generated lexer */\n var lexer = (function () {\n var lexer = { EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n setInput: function setInput(input) {\n this._input = input;\n this._more = this._less = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = '';\n this.conditionStack = ['INITIAL'];\n this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };\n if (this.options.ranges) this.yylloc.range = [0, 0];\n this.offset = 0;\n return this;\n },\n input: function input() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) this.yylloc.range[1]++;\n\n this._input = this._input.slice(1);\n return ch;\n },\n unput: function unput(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);\n //this.yyleng -= len;\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n\n if (lines.length - 1) this.yylineno -= lines.length - 1;\n var r = this.yylloc.range;\n\n this.yylloc = { first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n return this;\n },\n more: function more() {\n this._more = true;\n return this;\n },\n less: function less(n) {\n this.unput(this.match.slice(n));\n },\n pastInput: function pastInput() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n },\n upcomingInput: function upcomingInput() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n },\n showPosition: function showPosition() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n next: function next() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) this.done = true;\n\n var token, match, tempMatch, index, col, lines;\n if (!this._more) {\n this.yytext = '';\n this.match = '';\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (!this.options.flex) break;\n }\n }\n if (match) {\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) this.yylineno += lines.length;\n this.yylloc = { first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) this.done = false;\n if (token) return token;else return;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), { text: \"\", token: null, line: this.yylineno });\n }\n },\n lex: function lex() {\n var r = this.next();\n if (typeof r !== 'undefined') {\n return r;\n } else {\n return this.lex();\n }\n },\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n popState: function popState() {\n return this.conditionStack.pop();\n },\n _currentRules: function _currentRules() {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n },\n topState: function topState() {\n return this.conditionStack[this.conditionStack.length - 2];\n },\n pushState: function begin(condition) {\n this.begin(condition);\n } };\n lexer.options = {};\n lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\n function strip(start, end) {\n return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);\n }\n\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n strip(0, 1);\n this.begin(\"mu\");\n } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n strip(0, 1);\n this.begin(\"emu\");\n } else {\n this.begin(\"mu\");\n }\n if (yy_.yytext) return 15;\n\n break;\n case 1:\n return 15;\n break;\n case 2:\n this.popState();\n return 15;\n\n break;\n case 3:\n this.begin('raw');return 15;\n break;\n case 4:\n this.popState();\n // Should be using `this.topState()` below, but it currently\n // returns the second top instead of the first top. Opened an\n // issue about it at https://github.com/zaach/jison/issues/291\n if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n return 15;\n } else {\n strip(5, 9);\n return 'END_RAW_BLOCK';\n }\n\n break;\n case 5:\n return 15;\n break;\n case 6:\n this.popState();\n return 14;\n\n break;\n case 7:\n return 65;\n break;\n case 8:\n return 68;\n break;\n case 9:\n return 19;\n break;\n case 10:\n this.popState();\n this.begin('raw');\n return 23;\n\n break;\n case 11:\n return 55;\n break;\n case 12:\n return 60;\n break;\n case 13:\n return 29;\n break;\n case 14:\n return 47;\n break;\n case 15:\n this.popState();return 44;\n break;\n case 16:\n this.popState();return 44;\n break;\n case 17:\n return 34;\n break;\n case 18:\n return 39;\n break;\n case 19:\n return 51;\n break;\n case 20:\n return 48;\n break;\n case 21:\n this.unput(yy_.yytext);\n this.popState();\n this.begin('com');\n\n break;\n case 22:\n this.popState();\n return 14;\n\n break;\n case 23:\n return 48;\n break;\n case 24:\n return 73;\n break;\n case 25:\n return 72;\n break;\n case 26:\n return 72;\n break;\n case 27:\n return 87;\n break;\n case 28:\n // ignore whitespace\n break;\n case 29:\n this.popState();return 54;\n break;\n case 30:\n this.popState();return 33;\n break;\n case 31:\n yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');return 80;\n break;\n case 32:\n yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");return 80;\n break;\n case 33:\n return 85;\n break;\n case 34:\n return 82;\n break;\n case 35:\n return 82;\n break;\n case 36:\n return 83;\n break;\n case 37:\n return 84;\n break;\n case 38:\n return 81;\n break;\n case 39:\n return 75;\n break;\n case 40:\n return 77;\n break;\n case 41:\n return 72;\n break;\n case 42:\n yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');return 72;\n break;\n case 43:\n return 'INVALID';\n break;\n case 44:\n return 5;\n break;\n }\n };\n lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/, /^(?:[^\\x00]+)/, /^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/, /^(?:\\{\\{\\{\\{(?=[^/]))/, /^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/, /^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/, /^(?:[\\s\\S]*?--(~)?\\}\\})/, /^(?:\\()/, /^(?:\\))/, /^(?:\\{\\{\\{\\{)/, /^(?:\\}\\}\\}\\})/, /^(?:\\{\\{(~)?>)/, /^(?:\\{\\{(~)?#>)/, /^(?:\\{\\{(~)?#\\*?)/, /^(?:\\{\\{(~)?\\/)/, /^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\^)/, /^(?:\\{\\{(~)?\\s*else\\b)/, /^(?:\\{\\{(~)?\\{)/, /^(?:\\{\\{(~)?&)/, /^(?:\\{\\{(~)?!--)/, /^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/, /^(?:\\{\\{(~)?\\*?)/, /^(?:=)/, /^(?:\\.\\.)/, /^(?:\\.(?=([=~}\\s\\/.)|])))/, /^(?:[\\/.])/, /^(?:\\s+)/, /^(?:\\}(~)?\\}\\})/, /^(?:(~)?\\}\\})/, /^(?:\"(\\\\[\"]|[^\"])*\")/, /^(?:'(\\\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\\s)])))/, /^(?:false(?=([~}\\s)])))/, /^(?:undefined(?=([~}\\s)])))/, /^(?:null(?=([~}\\s)])))/, /^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/, /^(?:as\\s+\\|)/, /^(?:\\|)/, /^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/, /^(?:\\[(\\\\\\]|[^\\]])*\\])/, /^(?:.)/, /^(?:$)/];\n lexer.conditions = { \"mu\": { \"rules\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], \"inclusive\": false }, \"emu\": { \"rules\": [2], \"inclusive\": false }, \"com\": { \"rules\": [6], \"inclusive\": false }, \"raw\": { \"rules\": [3, 4, 5], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 44], \"inclusive\": true } };\n return lexer;\n })();\n parser.lexer = lexer;\n function Parser() {\n this.yy = {};\n }Parser.prototype = parser;parser.Parser = Parser;\n return new Parser();\n})();exports[\"default\"] = handlebars;\nmodule.exports = exports[\"default\"];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3BhcnNlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQUksVUFBVSxHQUFHLENBQUMsWUFBVTtBQUM1QixRQUFJLE1BQU0sR0FBRyxFQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssR0FBSSxFQUFHO0FBQzFDLFVBQUUsRUFBRSxFQUFFO0FBQ04sZ0JBQVEsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMscUJBQXFCLEVBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFBRSxFQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLGNBQWMsRUFBQyxFQUFFLEVBQUMsc0JBQXNCLEVBQUMsRUFBRSxFQUFDLGVBQWUsRUFBQyxFQUFFLEVBQUMsZ0JBQWdCLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsMEJBQTBCLEVBQUMsRUFBRSxFQUFDLHNCQUFzQixFQUFDLEVBQUUsRUFBQyxpQkFBaUIsRUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsYUFBYSxFQUFDLEVBQUUsRUFBQyxlQUFlLEVBQUMsRUFBRSxFQUFDLFlBQVksRUFBQyxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDLG1CQUFtQixFQUFDLEVBQUUsRUFBQyxtQkFBbUIsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxjQUFjLEVBQUMsRUFB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RUFBRSxFQUFDLEtBQUssRUFBQztBQUM1ZSxvQkFBWSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFB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QUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0RiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3JKLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDckksMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNySSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQy9FLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzdFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCwyQkFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7O0FBRXZCLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOztBQUV0RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDO0FBQzFFLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEgsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0SCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUNILHdCQUFJLENBQUMsQ0FBQyxHQUFHO0FBQ1AsNEJBQUksRUFBRSxrQkFBa0I7QUFDeEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRTtBQUNWLDZCQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN0QywyQkFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztxQkFDekIsQ0FBQzs7QUFFTiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3RSwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzlHLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0gsd0JBQUksQ0FBQyxDQUFDLEdBQUc7QUFDUCw0QkFBSSxFQUFFLGVBQWU7QUFDckIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDhCQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7QUFDaEIsNEJBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQztBQUNkLDJCQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3FCQUN6QixDQUFDOztBQUVOLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDekUsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDbkcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDcEcsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQ3BILDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDM0gsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDN0csMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQzlGLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3hCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2RCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDeEQsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBRSxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxBQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4RywwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztBQUMzRCwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNwQiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHNCQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QiwwQkFBTTtBQUFBLEFBQ04scUJBQUssRUFBRTtBQUFDLHdCQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFBQyxzQkFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEdBQUc7QUFBQyx3QkFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxHQUFHO0FBQUMsc0JBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9CLDBCQUFNO0FBQUEsYUFDTDtTQUNBO0FBQ0QsYUFBSyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUMsR0FBRyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxFQUFDLEVBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQy8vVixzQkFBYyxFQUFFLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQztBQUNsTSxrQkFBVSxFQUFFLFNBQVMsVUFBVSxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFD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QUNOLHFCQUFLLENBQUM7QUFBRSwyQkFBTyxFQUFFLENBQUM7QUFDbEIsMEJBQU07QUFBQSxBQUNOLHFCQUFLLEVBQUU7QUFDMkIsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNoQix3QkFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQiwyQkFBTyxFQUFFLENBQUM7O0FBRTVDLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsd0JBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxBQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQUMsMkJBQU8sRUFBRSxDQUFDO0FBQ2xCLDBCQUFNO0FBQUEsQUFDTixxQkFBSyxFQUFFO0FBQ0wsd0JBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLHdCQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDaEIsd0JBQUksQ0FBQyxL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QyxXQUFXLEVBQUMsS0FBSyxFQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLEtBQUssRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEtBQUssRUFBQyxFQUFDLFNBQVMsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7QUFDM1UsZUFBTyxLQUFLLENBQUM7S0FBQyxDQUFBLEVBQUcsQ0FBQTtBQUNqQixVQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNyQixhQUFTLE1BQU0sR0FBSTtBQUFFLFlBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0tBQUUsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckYsV0FBTyxJQUFJLE1BQU0sRUFBQSxDQUFDO0NBQ2pCLENBQUEsRUFBRyxDQUFDLHFCQUFlLFVBQVUiLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRmlsZSBpZ25vcmVkIGluIGNvdmVyYWdlIHRlc3RzIHZpYSBzZXR0aW5nIGluIC5pc3RhbmJ1bC55bWxcbi8qIEppc29uIGdlbmVyYXRlZCBwYXJzZXIgKi9cbnZhciBoYW5kbGViYXJzID0gKGZ1bmN0aW9uKCl7XG52YXIgcGFyc2VyID0ge3RyYWNlOiBmdW5jdGlvbiB0cmFjZSAoKSB7IH0sXG55eToge30sXG5zeW1ib2xzXzoge1wiZXJyb3JcIjoyLFwicm9vdFwiOjMsXCJwcm9ncmFtXCI6NCxcIkVPRlwiOjUsXCJwcm9ncmFtX3JlcGV0aXRpb24wXCI6NixcInN0YXRlbWVudFwiOjcsXCJtdXN0YWNoZVwiOjgsXCJibG9ja1wiOjksXCJyYXdCbG9ja1wiOjEwLFwicGFydGlhbFwiOjExLFwicGFydGlhbEJsb2NrXCI6MTIsXCJjb250ZW50XCI6MTMsXCJDT01NRU5UXCI6MTQsXCJDT05URU5UXCI6MTUsXCJvcGVuUmF3QmxvY2tcIjoxNixcInJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MTcsXCJFTkRfUkFXX0JMT0NLXCI6MTgsXCJPUEVOX1JBV19CTE9DS1wiOjE5LFwiaGVscGVyTmFtZVwiOjIwLFwib3BlblJhd0Jsb2NrX3JlcGV0aXRpb24wXCI6MjEsXCJvcGVuUmF3QmxvY2tfb3B0aW9uMFwiOjIyLFwiQ0xPU0VfUkFXX0JMT0NLXCI6MjMsXCJvcGVuQmxvY2tcIjoyNCxcImJsb2NrX29wdGlvbjBcIjoyNSxcImNsb3NlQmxvY2tcIjoyNixcIm9wZW5JbnZlcnNlXCI6MjcsXCJibG9ja19vcHRpb24xXCI6MjgsXCJPUEVOX0JMT0NLXCI6MjksXCJvcGVuQmxvY2tfcmVwZXRpdGlvbjBcIjozMCxcIm9wZW5CbG9ja19vcHRpb24wXCI6MzEsXCJvcGVuQmxvY2tfb3B0aW9uMVwiOjMyLFwiQ0xPU0VcIjozMyxcIk9QRU5fSU5WRVJTRVwiOjM0LFwib3BlbkludmVyc2VfcmVwZXRpdGlvbjBcIjozNSxcIm9wZW5JbnZlcnNlX29wdGlvbjBcIjozNixcIm9wZW5JbnZlcnNlX29wdGlvbjFcIjozNyxcIm9wZW5JbnZlcnNlQ2hhaW5cIjozOCxcIk9QRU5fSU5WRVJTRV9DSEFJTlwiOjM5LFwib3BlbkludmVyc2VDaGFpbl9yZXBldGl0aW9uMFwiOjQwLFwib3BlbkludmVyc2VDaGFpbl9vcHRpb24wXCI6NDEsXCJvcGVuSW52ZXJzZUNoYWluX29wdGlvbjFcIjo0MixcImludmVyc2VBbmRQcm9ncmFtXCI6NDMsXCJJTlZFUlNFXCI6NDQsXCJpbnZlcnNlQ2hhaW5cIjo0NSxcImludmVyc2VDaGFpbl9vcHRpb24wXCI6NDYsXCJPUEVOX0VOREJMT0NLXCI6NDcsXCJPUEVOXCI6NDgsXCJtdXN0YWNoZV9yZXBldGl0aW9uMFwiOjQ5LFwibXVzdGFjaGVfb3B0aW9uMFwiOjUwLFwiT1BFTl9VTkVTQ0FQRURcIjo1MSxcIm11c3RhY2hlX3JlcGV0aXRpb24xXCI6NTIsXCJtdXN0YWNoZV9vcHRpb24xXCI6NTMsXCJDTE9TRV9VTkVTQ0FQRURcIjo1NCxcIk9QRU5fUEFSVElBTFwiOjU1LFwicGFydGlhbE5hbWVcIjo1NixcInBhcnRpYWxfcmVwZXRpdGlvbjBcIjo1NyxcInBhcnRpYWxfb3B0aW9uMFwiOjU4LFwib3BlblBhcnRpYWxCbG9ja1wiOjU5LFwiT1BFTl9QQVJUSUFMX0JMT0NLXCI6NjAsXCJvcGVuUGFydGlhbEJsb2NrX3JlcGV0aXRpb24wXCI6NjEsXCJvcGVuUGFydGlhbEJsb2NrX29wdGlvbjBcIjo2MixcInBhcmFtXCI6NjMsXCJzZXhwclwiOjY0LFwiT1BFTl9TRVhQUlwiOjY1LFwic2V4cHJfcmVwZXRpdGlvbjBcIjo2NixcInNleHByX29wdGlvbjBcIjo2NyxcIkNMT1NFX1NFWFBSXCI6NjgsXCJoYXNoXCI6NjksXCJoYXNoX3JlcGV0aXRpb25fcGx1czBcIjo3MCxcImhhc2hTZWdtZW50XCI6NzEsXCJJRFwiOjcyLFwiRVFVQUxTXCI6NzMsXCJibG9ja1BhcmFtc1wiOjc0LFwiT1BFTl9CTE9DS19QQVJBTVNcIjo3NSxcImJsb2NrUGFyYW1zX3JlcGV0aXRpb25fcGx1czBcIjo3NixcIkNMT1NFX0JMT0NLX1BBUkFNU1wiOjc3LFwicGF0aFwiOjc4LFwiZGF0YU5hbWVcIjo3OSxcIlNUUklOR1wiOjgwLFwiTlVNQkVSXCI6ODEsXCJCT09MRUFOXCI6ODIsXCJVTkRFRklORURcIjo4MyxcIk5VTExcIjo4NCxcIkRBVEFcIjo4NSxcInBhdGhTZWdtZW50c1wiOjg2LFwiU0VQXCI6ODcsXCIkYWNjZXB0XCI6MCxcIiRlbmRcIjoxfSxcbnRlcm1pbmFsc186IHsyOlwiZXJyb3JcIiw1OlwiRU9GXCIsMTQ6XCJDT01NRU5UXCIsMTU6XCJDT05URU5UXCIsMTg6XCJFTkRfUkFXX0JMT0NLXCIsMTk6XCJPUEVOX1JBV19CTE9DS1wiLDIzOlwiQ0xPU0VfUkFXX0JMT0NLXCIsMjk6XCJPUEVOX0JMT0NLXCIsMzM6XCJDTE9TRVwiLDM0OlwiT1BFTl9JTlZFUlNFXCIsMzk6XCJPUEVOX0lOVkVSU0VfQ0hBSU5cIiw0NDpcIklOVkVSU0VcIiw0NzpcIk9QRU5fRU5EQkxPQ0tcIiw0ODpcIk9QRU5cIiw1MTpcIk9QRU5fVU5FU0NBUEVEXCIsNTQ6XCJDTE9TRV9VTkVTQ0FQRURcIiw1NTpcIk9QRU5fUEFSVElBTFwiLDYwOlwiT1BFTl9QQVJUSUFMX0JMT0NLXCIsNjU6XCJPUEVOX1NFWFBSXCIsNjg6XCJDTE9TRV9TRVhQUlwiLDcyOlwiSURcIiw3MzpcIkVRVUFMU1wiLDc1OlwiT1BFTl9CTE9DS19QQVJBTVNcIiw3NzpcIkNMT1NFX0JMT0NLX1BBUkFNU1wiLDgwOlwiU1RSSU5HXCIsODE6XCJOVU1CRVJcIiw4MjpcIkJPT0xFQU5cIiw4MzpcIlVOREVGSU5FRFwiLDg0OlwiTlVMTFwiLDg1OlwiREFUQVwiLDg3OlwiU0VQXCJ9LFxucHJvZHVjdGlvbnNfOiBbMCxbMywyXSxbNCwxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbNywxXSxbMTMsMV0sWzEwLDNdLFsxNiw1XSxbOSw0XSxbOSw0XSxbMjQsNl0sWzI3LDZdLFszOCw2XSxbNDMsMl0sWzQ1LDNdLFs0NSwxXSxbMjYsM10sWzgsNV0sWzgsNV0sWzExLDVdLFsxMiwzXSxbNTksNV0sWzYzLDFdLFs2MywxXSxbNjQsNV0sWzY5LDFdLFs3MSwzXSxbNzQsM10sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFs1NiwxXSxbNTYsMV0sWzc5LDJdLFs3OCwxXSxbODYsM10sWzg2LDFdLFs2LDBdLFs2LDJdLFsxNywwXSxbMTcsMl0sWzIxLDBdLFsyMSwyXSxbMjIsMF0sWzIyLDFdLFsyNSwwXSxbMjUsMV0sWzI4LDBdLFsyOCwxXSxbMzAsMF0sWzMwLDJdLFszMSwwXSxbMzEsMV0sWzMyLDBdLFszMiwxXSxbMzUsMF0sWzM1LDJdLFszNiwwXSxbMzYsMV0sWzM3LDBdLFszNywxXSxbNDAsMF0sWzQwLDJdLFs0MSwwXSxbNDEsMV0sWzQyLDBdLFs0MiwxXSxbNDYsMF0sWzQ2LDFdLFs0OSwwXSxbNDksMl0sWzUwLDBdLFs1MCwxXSxbNTIsMF0sWzUyLDJdLFs1MywwXSxbNTMsMV0sWzU3LDBdLFs1NywyXSxbNTgsMF0sWzU4LDFdLFs2MSwwXSxbNjEsMl0sWzYyLDBdLFs2MiwxXSxbNjYsMF0sWzY2LDJdLFs2NywwXSxbNjcsMV0sWzcwLDFdLFs3MCwyXSxbNzYsMV0sWzc2LDJdXSxcbnBlcmZvcm1BY3Rpb246IGZ1bmN0aW9uIGFub255bW91cyh5eXRleHQseXlsZW5nLHl5bGluZW5vLHl5LHl5c3RhdGUsJCQsXyRcbikge1xuXG52YXIgJDAgPSAkJC5sZW5ndGggLSAxO1xuc3dpdGNoICh5eXN0YXRlKSB7XG5jYXNlIDE6IHJldHVybiAkJFskMC0xXTsgXG5icmVhaztcbmNhc2UgMjp0aGlzLiQgPSB5eS5wcmVwYXJlUHJvZ3JhbSgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDM6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDQ6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDU6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDY6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDc6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDk6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbW1lbnRTdGF0ZW1lbnQnLFxuICAgICAgdmFsdWU6IHl5LnN0cmlwQ29tbWVudCgkJFskMF0pLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDBdLCAkJFskMF0pLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMTA6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ0NvbnRlbnRTdGF0ZW1lbnQnLFxuICAgICAgb3JpZ2luYWw6ICQkWyQwXSxcbiAgICAgIHZhbHVlOiAkJFskMF0sXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAxMTp0aGlzLiQgPSB5eS5wcmVwYXJlUmF3QmxvY2soJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDEyOnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtM10sIHBhcmFtczogJCRbJDAtMl0sIGhhc2g6ICQkWyQwLTFdIH07XG5icmVhaztcbmNhc2UgMTM6dGhpcy4kID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTNdLCAkJFskMC0yXSwgJCRbJDAtMV0sICQkWyQwXSwgZmFsc2UsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE0OnRoaXMuJCA9IHl5LnByZXBhcmVCbG9jaygkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMF0sIHRydWUsIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMuJCA9IHsgb3BlbjogJCRbJDAtNV0sIHBhdGg6ICQkWyQwLTRdLCBwYXJhbXM6ICQkWyQwLTNdLCBoYXNoOiAkJFskMC0yXSwgYmxvY2tQYXJhbXM6ICQkWyQwLTFdLCBzdHJpcDogeXkuc3RyaXBGbGFncygkJFskMC01XSwgJCRbJDBdKSB9O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMuJCA9IHsgcGF0aDogJCRbJDAtNF0sIHBhcmFtczogJCRbJDAtM10sIGhhc2g6ICQkWyQwLTJdLCBibG9ja1BhcmFtczogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTVdLCAkJFskMF0pIH07XG5icmVhaztcbmNhc2UgMTc6dGhpcy4kID0geyBwYXRoOiAkJFskMC00XSwgcGFyYW1zOiAkJFskMC0zXSwgaGFzaDogJCRbJDAtMl0sIGJsb2NrUGFyYW1zOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNV0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAxODp0aGlzLiQgPSB7IHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTFdLCAkJFskMC0xXSksIHByb2dyYW06ICQkWyQwXSB9O1xuYnJlYWs7XG5jYXNlIDE5OlxuICAgIHZhciBpbnZlcnNlID0geXkucHJlcGFyZUJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCAkJFskMF0sIGZhbHNlLCB0aGlzLl8kKSxcbiAgICAgICAgcHJvZ3JhbSA9IHl5LnByZXBhcmVQcm9ncmFtKFtpbnZlcnNlXSwgJCRbJDAtMV0ubG9jKTtcbiAgICBwcm9ncmFtLmNoYWluZWQgPSB0cnVlO1xuXG4gICAgdGhpcy4kID0geyBzdHJpcDogJCRbJDAtMl0uc3RyaXAsIHByb2dyYW06IHByb2dyYW0sIGNoYWluOiB0cnVlIH07XG4gIFxuYnJlYWs7XG5jYXNlIDIwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAyMTp0aGlzLiQgPSB7cGF0aDogJCRbJDAtMV0sIHN0cmlwOiB5eS5zdHJpcEZsYWdzKCQkWyQwLTJdLCAkJFskMF0pfTtcbmJyZWFrO1xuY2FzZSAyMjp0aGlzLiQgPSB5eS5wcmVwYXJlTXVzdGFjaGUoJCRbJDAtM10sICQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDAtNF0sIHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksIHRoaXMuXyQpO1xuYnJlYWs7XG5jYXNlIDIzOnRoaXMuJCA9IHl5LnByZXBhcmVNdXN0YWNoZSgkJFskMC0zXSwgJCRbJDAtMl0sICQkWyQwLTFdLCAkJFskMC00XSwgeXkuc3RyaXBGbGFncygkJFskMC00XSwgJCRbJDBdKSwgdGhpcy5fJCk7XG5icmVhaztcbmNhc2UgMjQ6XG4gICAgdGhpcy4kID0ge1xuICAgICAgdHlwZTogJ1BhcnRpYWxTdGF0ZW1lbnQnLFxuICAgICAgbmFtZTogJCRbJDAtM10sXG4gICAgICBwYXJhbXM6ICQkWyQwLTJdLFxuICAgICAgaGFzaDogJCRbJDAtMV0sXG4gICAgICBpbmRlbnQ6ICcnLFxuICAgICAgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSksXG4gICAgICBsb2M6IHl5LmxvY0luZm8odGhpcy5fJClcbiAgICB9O1xuICBcbmJyZWFrO1xuY2FzZSAyNTp0aGlzLiQgPSB5eS5wcmVwYXJlUGFydGlhbEJsb2NrKCQkWyQwLTJdLCAkJFskMC0xXSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSAyNjp0aGlzLiQgPSB7IHBhdGg6ICQkWyQwLTNdLCBwYXJhbXM6ICQkWyQwLTJdLCBoYXNoOiAkJFskMC0xXSwgc3RyaXA6IHl5LnN0cmlwRmxhZ3MoJCRbJDAtNF0sICQkWyQwXSkgfTtcbmJyZWFrO1xuY2FzZSAyNzp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMjg6dGhpcy4kID0gJCRbJDBdO1xuYnJlYWs7XG5jYXNlIDI5OlxuICAgIHRoaXMuJCA9IHtcbiAgICAgIHR5cGU6ICdTdWJFeHByZXNzaW9uJyxcbiAgICAgIHBhdGg6ICQkWyQwLTNdLFxuICAgICAgcGFyYW1zOiAkJFskMC0yXSxcbiAgICAgIGhhc2g6ICQkWyQwLTFdLFxuICAgICAgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpXG4gICAgfTtcbiAgXG5icmVhaztcbmNhc2UgMzA6dGhpcy4kID0ge3R5cGU6ICdIYXNoJywgcGFpcnM6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzMTp0aGlzLiQgPSB7dHlwZTogJ0hhc2hQYWlyJywga2V5OiB5eS5pZCgkJFskMC0yXSksIHZhbHVlOiAkJFskMF0sIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzI6dGhpcy4kID0geXkuaWQoJCRbJDAtMV0pO1xuYnJlYWs7XG5jYXNlIDMzOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSAzNDp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgMzU6dGhpcy4kID0ge3R5cGU6ICdTdHJpbmdMaXRlcmFsJywgdmFsdWU6ICQkWyQwXSwgb3JpZ2luYWw6ICQkWyQwXSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNjp0aGlzLiQgPSB7dHlwZTogJ051bWJlckxpdGVyYWwnLCB2YWx1ZTogTnVtYmVyKCQkWyQwXSksIG9yaWdpbmFsOiBOdW1iZXIoJCRbJDBdKSwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzNzp0aGlzLiQgPSB7dHlwZTogJ0Jvb2xlYW5MaXRlcmFsJywgdmFsdWU6ICQkWyQwXSA9PT0gJ3RydWUnLCBvcmlnaW5hbDogJCRbJDBdID09PSAndHJ1ZScsIGxvYzogeXkubG9jSW5mbyh0aGlzLl8kKX07XG5icmVhaztcbmNhc2UgMzg6dGhpcy4kID0ge3R5cGU6ICdVbmRlZmluZWRMaXRlcmFsJywgb3JpZ2luYWw6IHVuZGVmaW5lZCwgdmFsdWU6IHVuZGVmaW5lZCwgbG9jOiB5eS5sb2NJbmZvKHRoaXMuXyQpfTtcbmJyZWFrO1xuY2FzZSAzOTp0aGlzLiQgPSB7dHlwZTogJ051bGxMaXRlcmFsJywgb3JpZ2luYWw6IG51bGwsIHZhbHVlOiBudWxsLCBsb2M6IHl5LmxvY0luZm8odGhpcy5fJCl9O1xuYnJlYWs7XG5jYXNlIDQwOnRoaXMuJCA9ICQkWyQwXTtcbmJyZWFrO1xuY2FzZSA0MTp0aGlzLiQgPSAkJFskMF07XG5icmVhaztcbmNhc2UgNDI6dGhpcy4kID0geXkucHJlcGFyZVBhdGgodHJ1ZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0Mzp0aGlzLiQgPSB5eS5wcmVwYXJlUGF0aChmYWxzZSwgJCRbJDBdLCB0aGlzLl8kKTtcbmJyZWFrO1xuY2FzZSA0NDogJCRbJDAtMl0ucHVzaCh7cGFydDogeXkuaWQoJCRbJDBdKSwgb3JpZ2luYWw6ICQkWyQwXSwgc2VwYXJhdG9yOiAkJFskMC0xXX0pOyB0aGlzLiQgPSAkJFskMC0yXTsgXG5icmVhaztcbmNhc2UgNDU6dGhpcy4kID0gW3twYXJ0OiB5eS5pZCgkJFskMF0pLCBvcmlnaW5hbDogJCRbJDBdfV07XG5icmVhaztcbmNhc2UgNDY6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNDc6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDQ4OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDQ5OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA1MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA1MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNTg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNTk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDY0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDY1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA3MDp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA3MTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgNzg6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgNzk6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDgyOnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDgzOiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA4Njp0aGlzLiQgPSBbXTtcbmJyZWFrO1xuY2FzZSA4NzokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgOTA6dGhpcy4kID0gW107XG5icmVhaztcbmNhc2UgOTE6JCRbJDAtMV0ucHVzaCgkJFskMF0pO1xuYnJlYWs7XG5jYXNlIDk0OnRoaXMuJCA9IFtdO1xuYnJlYWs7XG5jYXNlIDk1OiQkWyQwLTFdLnB1c2goJCRbJDBdKTtcbmJyZWFrO1xuY2FzZSA5ODp0aGlzLiQgPSBbJCRbJDBdXTtcbmJyZWFrO1xuY2FzZSA5OTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbmNhc2UgMTAwOnRoaXMuJCA9IFskJFskMF1dO1xuYnJlYWs7XG5jYXNlIDEwMTokJFskMC0xXS5wdXNoKCQkWyQwXSk7XG5icmVhaztcbn1cbn0sXG50YWJsZTogW3szOjEsNDoyLDU6WzIsNDZdLDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE6WzNdfSx7NTpbMSw0XX0sezU6WzIsMl0sNzo1LDg6Niw5OjcsMTA6OCwxMTo5LDEyOjEwLDEzOjExLDE0OlsxLDEyXSwxNTpbMSwyMF0sMTY6MTcsMTk6WzEsMjNdLDI0OjE1LDI3OjE2LDI5OlsxLDIxXSwzNDpbMSwyMl0sMzk6WzIsMl0sNDQ6WzIsMl0sNDc6WzIsMl0sNDg6WzEsMTNdLDUxOlsxLDE0XSw1NTpbMSwxOF0sNTk6MTksNjA6WzEsMjRdfSx7MTpbMiwxXX0sezU6WzIsNDddLDE0OlsyLDQ3XSwxNTpbMiw0N10sMTk6WzIsNDddLDI5OlsyLDQ3XSwzNDpbMiw0N10sMzk6WzIsNDddLDQ0OlsyLDQ3XSw0NzpbMiw0N10sNDg6WzIsNDddLDUxOlsyLDQ3XSw1NTpbMiw0N10sNjA6WzIsNDddfSx7NTpbMiwzXSwxNDpbMiwzXSwxNTpbMiwzXSwxOTpbMiwzXSwyOTpbMiwzXSwzNDpbMiwzXSwzOTpbMiwzXSw0NDpbMiwzXSw0NzpbMiwzXSw0ODpbMiwzXSw1MTpbMiwzXSw1NTpbMiwzXSw2MDpbMiwzXX0sezU6WzIsNF0sMTQ6WzIsNF0sMTU6WzIsNF0sMTk6WzIsNF0sMjk6WzIsNF0sMzQ6WzIsNF0sMzk6WzIsNF0sNDQ6WzIsNF0sNDc6WzIsNF0sNDg6WzIsNF0sNTE6WzIsNF0sNTU6WzIsNF0sNjA6WzIsNF19LHs1OlsyLDVdLDE0OlsyLDVdLDE1OlsyLDVdLDE5OlsyLDVdLDI5OlsyLDVdLDM0OlsyLDVdLDM5OlsyLDVdLDQ0OlsyLDVdLDQ3OlsyLDVdLDQ4OlsyLDVdLDUxOlsyLDVdLDU1OlsyLDVdLDYwOlsyLDVdfSx7NTpbMiw2XSwxNDpbMiw2XSwxNTpbMiw2XSwxOTpbMiw2XSwyOTpbMiw2XSwzNDpbMiw2XSwzOTpbMiw2XSw0NDpbMiw2XSw0NzpbMiw2XSw0ODpbMiw2XSw1MTpbMiw2XSw1NTpbMiw2XSw2MDpbMiw2XX0sezU6WzIsN10sMTQ6WzIsN10sMTU6WzIsN10sMTk6WzIsN10sMjk6WzIsN10sMzQ6WzIsN10sMzk6WzIsN10sNDQ6WzIsN10sNDc6WzIsN10sNDg6WzIsN10sNTE6WzIsN10sNTU6WzIsN10sNjA6WzIsN119LHs1OlsyLDhdLDE0OlsyLDhdLDE1OlsyLDhdLDE5OlsyLDhdLDI5OlsyLDhdLDM0OlsyLDhdLDM5OlsyLDhdLDQ0OlsyLDhdLDQ3OlsyLDhdLDQ4OlsyLDhdLDUxOlsyLDhdLDU1OlsyLDhdLDYwOlsyLDhdfSx7NTpbMiw5XSwxNDpbMiw5XSwxNTpbMiw5XSwxOTpbMiw5XSwyOTpbMiw5XSwzNDpbMiw5XSwzOTpbMiw5XSw0NDpbMiw5XSw0NzpbMiw5XSw0ODpbMiw5XSw1MTpbMiw5XSw1NTpbMiw5XSw2MDpbMiw5XX0sezIwOjI1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjM2LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6MzcsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sMzk6WzIsNDZdLDQ0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NDozOCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezE1OlsyLDQ4XSwxNzozOSwxODpbMiw0OF19LHsyMDo0MSw1Njo0MCw2NDo0Miw2NTpbMSw0M10sNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NDo0NCw2OjMsMTQ6WzIsNDZdLDE1OlsyLDQ2XSwxOTpbMiw0Nl0sMjk6WzIsNDZdLDM0OlsyLDQ2XSw0NzpbMiw0Nl0sNDg6WzIsNDZdLDUxOlsyLDQ2XSw1NTpbMiw0Nl0sNjA6WzIsNDZdfSx7NTpbMiwxMF0sMTQ6WzIsMTBdLDE1OlsyLDEwXSwxODpbMiwxMF0sMTk6WzIsMTBdLDI5OlsyLDEwXSwzNDpbMiwxMF0sMzk6WzIsMTBdLDQ0OlsyLDEwXSw0NzpbMiwxMF0sNDg6WzIsMTBdLDUxOlsyLDEwXSw1NTpbMiwxMF0sNjA6WzIsMTBdfSx7MjA6NDUsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDYsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDcsNzI6WzEsMzVdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7MjA6NDEsNTY6NDgsNjQ6NDIsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsyLDc4XSw0OTo0OSw2NTpbMiw3OF0sNzI6WzIsNzhdLDgwOlsyLDc4XSw4MTpbMiw3OF0sODI6WzIsNzhdLDgzOlsyLDc4XSw4NDpbMiw3OF0sODU6WzIsNzhdfSx7MjM6WzIsMzNdLDMzOlsyLDMzXSw1NDpbMiwzM10sNjU6WzIsMzNdLDY4OlsyLDMzXSw3MjpbMiwzM10sNzU6WzIsMzNdLDgwOlsyLDMzXSw4MTpbMiwzM10sODI6WzIsMzNdLDgzOlsyLDMzXSw4NDpbMiwzM10sODU6WzIsMzNdfSx7MjM6WzIsMzRdLDMzOlsyLDM0XSw1NDpbMiwzNF0sNjU6WzIsMzRdLDY4OlsyLDM0XSw3MjpbMiwzNF0sNzU6WzIsMzRdLDgwOlsyLDM0XSw4MTpbMiwzNF0sODI6WzIsMzRdLDgzOlsyLDM0XSw4NDpbMiwzNF0sODU6WzIsMzRdfSx7MjM6WzIsMzVdLDMzOlsyLDM1XSw1NDpbMiwzNV0sNjU6WzIsMzVdLDY4OlsyLDM1XSw3MjpbMiwzNV0sNzU6WzIsMzVdLDgwOlsyLDM1XSw4MTpbMiwzNV0sODI6WzIsMzVdLDgzOlsyLDM1XSw4NDpbMiwzNV0sODU6WzIsMzVdfSx7MjM6WzIsMzZdLDMzOlsyLDM2XSw1NDpbMiwzNl0sNjU6WzIsMzZdLDY4OlsyLDM2XSw3MjpbMiwzNl0sNzU6WzIsMzZdLDgwOlsyLDM2XSw4MTpbMiwzNl0sODI6WzIsMzZdLDgzOlsyLDM2XSw4NDpbMiwzNl0sODU6WzIsMzZdfSx7MjM6WzIsMzddLDMzOlsyLDM3XSw1NDpbMiwzN10sNjU6WzIsMzddLDY4OlsyLDM3XSw3MjpbMiwzN10sNzU6WzIsMzddLDgwOlsyLDM3XSw4MTpbMiwzN10sODI6WzIsMzddLDgzOlsyLDM3XSw4NDpbMiwzN10sODU6WzIsMzddfSx7MjM6WzIsMzhdLDMzOlsyLDM4XSw1NDpbMiwzOF0sNjU6WzIsMzhdLDY4OlsyLDM4XSw3MjpbMiwzOF0sNzU6WzIsMzhdLDgwOlsyLDM4XSw4MTpbMiwzOF0sODI6WzIsMzhdLDgzOlsyLDM4XSw4NDpbMiwzOF0sODU6WzIsMzhdfSx7MjM6WzIsMzldLDMzOlsyLDM5XSw1NDpbMiwzOV0sNjU6WzIsMzldLDY4OlsyLDM5XSw3MjpbMiwzOV0sNzU6WzIsMzldLDgwOlsyLDM5XSw4MTpbMiwzOV0sODI6WzIsMzldLDgzOlsyLDM5XSw4NDpbMiwzOV0sODU6WzIsMzldfSx7MjM6WzIsNDNdLDMzOlsyLDQzXSw1NDpbMiw0M10sNjU6WzIsNDNdLDY4OlsyLDQzXSw3MjpbMiw0M10sNzU6WzIsNDNdLDgwOlsyLDQzXSw4MTpbMiw0M10sODI6WzIsNDNdLDgzOlsyLDQzXSw4NDpbMiw0M10sODU6WzIsNDNdLDg3OlsxLDUwXX0sezcyOlsxLDM1XSw4Njo1MX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDc1OlsyLDQ1XSw4MDpbMiw0NV0sODE6WzIsNDVdLDgyOlsyLDQ1XSw4MzpbMiw0NV0sODQ6WzIsNDVdLDg1OlsyLDQ1XSw4NzpbMiw0NV19LHs1Mjo1Miw1NDpbMiw4Ml0sNjU6WzIsODJdLDcyOlsyLDgyXSw4MDpbMiw4Ml0sODE6WzIsODJdLDgyOlsyLDgyXSw4MzpbMiw4Ml0sODQ6WzIsODJdLDg1OlsyLDgyXX0sezI1OjUzLDM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6NTQsNDc6WzIsNTRdfSx7Mjg6NTksNDM6NjAsNDQ6WzEsNThdLDQ3OlsyLDU2XX0sezEzOjYyLDE1OlsxLDIwXSwxODpbMSw2MV19LHszMzpbMiw4Nl0sNTc6NjMsNjU6WzIsODZdLDcyOlsyLDg2XSw4MDpbMiw4Nl0sODE6WzIsODZdLDgyOlsyLDg2XSw4MzpbMiw4Nl0sODQ6WzIsODZdLDg1OlsyLDg2XX0sezMzOlsyLDQwXSw2NTpbMiw0MF0sNzI6WzIsNDBdLDgwOlsyLDQwXSw4MTpbMiw0MF0sODI6WzIsNDBdLDgzOlsyLDQwXSw4NDpbMiw0MF0sODU6WzIsNDBdfSx7MzM6WzIsNDFdLDY1OlsyLDQxXSw3MjpbMiw0MV0sODA6WzIsNDFdLDgxOlsyLDQxXSw4MjpbMiw0MV0sODM6WzIsNDFdLDg0OlsyLDQxXSw4NTpbMiw0MV19LHsyMDo2NCw3MjpbMSwzNV0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo2NSw0NzpbMSw2Nl19LHszMDo2NywzMzpbMiw1OF0sNjU6WzIsNThdLDcyOlsyLDU4XSw3NTpbMiw1OF0sODA6WzIsNThdLDgxOlsyLDU4XSw4MjpbMiw1OF0sODM6WzIsNThdLDg0OlsyLDU4XSw4NTpbMiw1OF19LHszMzpbMiw2NF0sMzU6NjgsNjU6WzIsNjRdLDcyOlsyLDY0XSw3NTpbMiw2NF0sODA6WzIsNjRdLDgxOlsyLDY0XSw4MjpbMiw2NF0sODM6WzIsNjRdLDg0OlsyLDY0XSw4NTpbMiw2NF19LHsyMTo2OSwyMzpbMiw1MF0sNjU6WzIsNTBdLDcyOlsyLDUwXSw4MDpbMiw1MF0sODE6WzIsNTBdLDgyOlsyLDUwXSw4MzpbMiw1MF0sODQ6WzIsNTBdLDg1OlsyLDUwXX0sezMzOlsyLDkwXSw2MTo3MCw2NTpbMiw5MF0sNzI6WzIsOTBdLDgwOlsyLDkwXSw4MTpbMiw5MF0sODI6WzIsOTBdLDgzOlsyLDkwXSw4NDpbMiw5MF0sODU6WzIsOTBdfSx7MjA6NzQsMzM6WzIsODBdLDUwOjcxLDYzOjcyLDY0Ojc1LDY1OlsxLDQzXSw2OTo3Myw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHs3MjpbMSw3OV19LHsyMzpbMiw0Ml0sMzM6WzIsNDJdLDU0OlsyLDQyXSw2NTpbMiw0Ml0sNjg6WzIsNDJdLDcyOlsyLDQyXSw3NTpbMiw0Ml0sODA6WzIsNDJdLDgxOlsyLDQyXSw4MjpbMiw0Ml0sODM6WzIsNDJdLDg0OlsyLDQyXSw4NTpbMiw0Ml0sODc6WzEsNTBdfSx7MjA6NzQsNTM6ODAsNTQ6WzIsODRdLDYzOjgxLDY0Ojc1LDY1OlsxLDQzXSw2OTo4Miw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyNjo4Myw0NzpbMSw2Nl19LHs0NzpbMiw1NV19LHs0Ojg0LDY6MywxNDpbMiw0Nl0sMTU6WzIsNDZdLDE5OlsyLDQ2XSwyOTpbMiw0Nl0sMzQ6WzIsNDZdLDM5OlsyLDQ2XSw0NDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezQ3OlsyLDIwXX0sezIwOjg1LDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezQ6ODYsNjozLDE0OlsyLDQ2XSwxNTpbMiw0Nl0sMTk6WzIsNDZdLDI5OlsyLDQ2XSwzNDpbMiw0Nl0sNDc6WzIsNDZdLDQ4OlsyLDQ2XSw1MTpbMiw0Nl0sNTU6WzIsNDZdLDYwOlsyLDQ2XX0sezI2Ojg3LDQ3OlsxLDY2XX0sezQ3OlsyLDU3XX0sezU6WzIsMTFdLDE0OlsyLDExXSwxNTpbMiwxMV0sMTk6WzIsMTFdLDI5OlsyLDExXSwzNDpbMiwxMV0sMzk6WzIsMTFdLDQ0OlsyLDExXSw0NzpbMiwxMV0sNDg6WzIsMTFdLDUxOlsyLDExXSw1NTpbMiwxMV0sNjA6WzIsMTFdfSx7MTU6WzIsNDldLDE4OlsyLDQ5XX0sezIwOjc0LDMzOlsyLDg4XSw1ODo4OCw2Mzo4OSw2NDo3NSw2NTpbMSw0M10sNjk6OTAsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NjU6WzIsOTRdLDY2OjkxLDY4OlsyLDk0XSw3MjpbMiw5NF0sODA6WzIsOTRdLDgxOlsyLDk0XSw4MjpbMiw5NF0sODM6WzIsOTRdLDg0OlsyLDk0XSw4NTpbMiw5NF19LHs1OlsyLDI1XSwxNDpbMiwyNV0sMTU6WzIsMjVdLDE5OlsyLDI1XSwyOTpbMiwyNV0sMzQ6WzIsMjVdLDM5OlsyLDI1XSw0NDpbMiwyNV0sNDc6WzIsMjVdLDQ4OlsyLDI1XSw1MTpbMiwyNV0sNTU6WzIsMjVdLDYwOlsyLDI1XX0sezIwOjkyLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMxOjkzLDMzOlsyLDYwXSw2Mzo5NCw2NDo3NSw2NTpbMSw0M10sNjk6OTUsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDYwXSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDMzOlsyLDY2XSwzNjo5Niw2Mzo5Nyw2NDo3NSw2NTpbMSw0M10sNjk6OTgsNzA6NzYsNzE6NzcsNzI6WzEsNzhdLDc1OlsyLDY2XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezIwOjc0LDIyOjk5LDIzOlsyLDUyXSw2MzoxMDAsNjQ6NzUsNjU6WzEsNDNdLDY5OjEwMSw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzg6MjYsNzk6MjcsODA6WzEsMjhdLDgxOlsxLDI5XSw4MjpbMSwzMF0sODM6WzEsMzFdLDg0OlsxLDMyXSw4NTpbMSwzNF0sODY6MzN9LHsyMDo3NCwzMzpbMiw5Ml0sNjI6MTAyLDYzOjEwMyw2NDo3NSw2NTpbMSw0M10sNjk6MTA0LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDEwNV19LHszMzpbMiw3OV0sNjU6WzIsNzldLDcyOlsyLDc5XSw4MDpbMiw3OV0sODE6WzIsNzldLDgyOlsyLDc5XSw4MzpbMiw3OV0sODQ6WzIsNzldLDg1OlsyLDc5XX0sezMzOlsyLDgxXX0sezIzOlsyLDI3XSwzMzpbMiwyN10sNTQ6WzIsMjddLDY1OlsyLDI3XSw2ODpbMiwyN10sNzI6WzIsMjddLDc1OlsyLDI3XSw4MDpbMiwyN10sODE6WzIsMjddLDgyOlsyLDI3XSw4MzpbMiwyN10sODQ6WzIsMjddLDg1OlsyLDI3XX0sezIzOlsyLDI4XSwzMzpbMiwyOF0sNTQ6WzIsMjhdLDY1OlsyLDI4XSw2ODpbMiwyOF0sNzI6WzIsMjhdLDc1OlsyLDI4XSw4MDpbMiwyOF0sODE6WzIsMjhdLDgyOlsyLDI4XSw4MzpbMiwyOF0sODQ6WzIsMjhdLDg1OlsyLDI4XX0sezIzOlsyLDMwXSwzMzpbMiwzMF0sNTQ6WzIsMzBdLDY4OlsyLDMwXSw3MToxMDYsNzI6WzEsMTA3XSw3NTpbMiwzMF19LHsyMzpbMiw5OF0sMzM6WzIsOThdLDU0OlsyLDk4XSw2ODpbMiw5OF0sNzI6WzIsOThdLDc1OlsyLDk4XX0sezIzOlsyLDQ1XSwzMzpbMiw0NV0sNTQ6WzIsNDVdLDY1OlsyLDQ1XSw2ODpbMiw0NV0sNzI6WzIsNDVdLDczOlsxLDEwOF0sNzU6WzIsNDVdLDgwOlsyLDQ1XSw4MTpbMiw0NV0sODI6WzIsNDVdLDgzOlsyLDQ1XSw4NDpbMiw0NV0sODU6WzIsNDVdLDg3OlsyLDQ1XX0sezIzOlsyLDQ0XSwzMzpbMiw0NF0sNTQ6WzIsNDRdLDY1OlsyLDQ0XSw2ODpbMiw0NF0sNzI6WzIsNDRdLDc1OlsyLDQ0XSw4MDpbMiw0NF0sODE6WzIsNDRdLDgyOlsyLDQ0XSw4MzpbMiw0NF0sODQ6WzIsNDRdLDg1OlsyLDQ0XSw4NzpbMiw0NF19LHs1NDpbMSwxMDldfSx7NTQ6WzIsODNdLDY1OlsyLDgzXSw3MjpbMiw4M10sODA6WzIsODNdLDgxOlsyLDgzXSw4MjpbMiw4M10sODM6WzIsODNdLDg0OlsyLDgzXSw4NTpbMiw4M119LHs1NDpbMiw4NV19LHs1OlsyLDEzXSwxNDpbMiwxM10sMTU6WzIsMTNdLDE5OlsyLDEzXSwyOTpbMiwxM10sMzQ6WzIsMTNdLDM5OlsyLDEzXSw0NDpbMiwxM10sNDc6WzIsMTNdLDQ4OlsyLDEzXSw1MTpbMiwxM10sNTU6WzIsMTNdLDYwOlsyLDEzXX0sezM4OjU1LDM5OlsxLDU3XSw0Mzo1Niw0NDpbMSw1OF0sNDU6MTExLDQ2OjExMCw0NzpbMiw3Nl19LHszMzpbMiw3MF0sNDA6MTEyLDY1OlsyLDcwXSw3MjpbMiw3MF0sNzU6WzIsNzBdLDgwOlsyLDcwXSw4MTpbMiw3MF0sODI6WzIsNzBdLDgzOlsyLDcwXSw4NDpbMiw3MF0sODU6WzIsNzBdfSx7NDc6WzIsMThdfSx7NTpbMiwxNF0sMTQ6WzIsMTRdLDE1OlsyLDE0XSwxOTpbMiwxNF0sMjk6WzIsMTRdLDM0OlsyLDE0XSwzOTpbMiwxNF0sNDQ6WzIsMTRdLDQ3OlsyLDE0XSw0ODpbMiwxNF0sNTE6WzIsMTRdLDU1OlsyLDE0XSw2MDpbMiwxNF19LHszMzpbMSwxMTNdfSx7MzM6WzIsODddLDY1OlsyLDg3XSw3MjpbMiw4N10sODA6WzIsODddLDgxOlsyLDg3XSw4MjpbMiw4N10sODM6WzIsODddLDg0OlsyLDg3XSw4NTpbMiw4N119LHszMzpbMiw4OV19LHsyMDo3NCw2MzoxMTUsNjQ6NzUsNjU6WzEsNDNdLDY3OjExNCw2ODpbMiw5Nl0sNjk6MTE2LDcwOjc2LDcxOjc3LDcyOlsxLDc4XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezMzOlsxLDExN119LHszMjoxMTgsMzM6WzIsNjJdLDc0OjExOSw3NTpbMSwxMjBdfSx7MzM6WzIsNTldLDY1OlsyLDU5XSw3MjpbMiw1OV0sNzU6WzIsNTldLDgwOlsyLDU5XSw4MTpbMiw1OV0sODI6WzIsNTldLDgzOlsyLDU5XSw4NDpbMiw1OV0sODU6WzIsNTldfSx7MzM6WzIsNjFdLDc1OlsyLDYxXX0sezMzOlsyLDY4XSwzNzoxMjEsNzQ6MTIyLDc1OlsxLDEyMF19LHszMzpbMiw2NV0sNjU6WzIsNjVdLDcyOlsyLDY1XSw3NTpbMiw2NV0sODA6WzIsNjVdLDgxOlsyLDY1XSw4MjpbMiw2NV0sODM6WzIsNjVdLDg0OlsyLDY1XSw4NTpbMiw2NV19LHszMzpbMiw2N10sNzU6WzIsNjddfSx7MjM6WzEsMTIzXX0sezIzOlsyLDUxXSw2NTpbMiw1MV0sNzI6WzIsNTFdLDgwOlsyLDUxXSw4MTpbMiw1MV0sODI6WzIsNTFdLDgzOlsyLDUxXSw4NDpbMiw1MV0sODU6WzIsNTFdfSx7MjM6WzIsNTNdfSx7MzM6WzEsMTI0XX0sezMzOlsyLDkxXSw2NTpbMiw5MV0sNzI6WzIsOTFdLDgwOlsyLDkxXSw4MTpbMiw5MV0sODI6WzIsOTFdLDgzOlsyLDkxXSw4NDpbMiw5MV0sODU6WzIsOTFdfSx7MzM6WzIsOTNdfSx7NTpbMiwyMl0sMTQ6WzIsMjJdLDE1OlsyLDIyXSwxOTpbMiwyMl0sMjk6WzIsMjJdLDM0OlsyLDIyXSwzOTpbMiwyMl0sNDQ6WzIsMjJdLDQ3OlsyLDIyXSw0ODpbMiwyMl0sNTE6WzIsMjJdLDU1OlsyLDIyXSw2MDpbMiwyMl19LHsyMzpbMiw5OV0sMzM6WzIsOTldLDU0OlsyLDk5XSw2ODpbMiw5OV0sNzI6WzIsOTldLDc1OlsyLDk5XX0sezczOlsxLDEwOF19LHsyMDo3NCw2MzoxMjUsNjQ6NzUsNjU6WzEsNDNdLDcyOlsxLDM1XSw3ODoyNiw3OToyNyw4MDpbMSwyOF0sODE6WzEsMjldLDgyOlsxLDMwXSw4MzpbMSwzMV0sODQ6WzEsMzJdLDg1OlsxLDM0XSw4NjozM30sezU6WzIsMjNdLDE0OlsyLDIzXSwxNTpbMiwyM10sMTk6WzIsMjNdLDI5OlsyLDIzXSwzNDpbMiwyM10sMzk6WzIsMjNdLDQ0OlsyLDIzXSw0NzpbMiwyM10sNDg6WzIsMjNdLDUxOlsyLDIzXSw1NTpbMiwyM10sNjA6WzIsMjNdfSx7NDc6WzIsMTldfSx7NDc6WzIsNzddfSx7MjA6NzQsMzM6WzIsNzJdLDQxOjEyNiw2MzoxMjcsNjQ6NzUsNjU6WzEsNDNdLDY5OjEyOCw3MDo3Niw3MTo3Nyw3MjpbMSw3OF0sNzU6WzIsNzJdLDc4OjI2LDc5OjI3LDgwOlsxLDI4XSw4MTpbMSwyOV0sODI6WzEsMzBdLDgzOlsxLDMxXSw4NDpbMSwzMl0sODU6WzEsMzRdLDg2OjMzfSx7NTpbMiwyNF0sMTQ6WzIsMjRdLDE1OlsyLDI0XSwxOTpbMiwyNF0sMjk6WzIsMjRdLDM0OlsyLDI0XSwzOTpbMiwyNF0sNDQ6WzIsMjRdLDQ3OlsyLDI0XSw0ODpbMiwyNF0sNTE6WzIsMjRdLDU1OlsyLDI0XSw2MDpbMiwyNF19LHs2ODpbMSwxMjldfSx7NjU6WzIsOTVdLDY4OlsyLDk1XSw3MjpbMiw5NV0sODA6WzIsOTVdLDgxOlsyLDk1XSw4MjpbMiw5NV0sODM6WzIsOTVdLDg0OlsyLDk1XSw4NTpbMiw5NV19LHs2ODpbMiw5N119LHs1OlsyLDIxXSwxNDpbMiwyMV0sMTU6WzIsMjFdLDE5OlsyLDIxXSwyOTpbMiwyMV0sMzQ6WzIsMjFdLDM5OlsyLDIxXSw0NDpbMiwyMV0sNDc6WzIsMjFdLDQ4OlsyLDIxXSw1MTpbMiwyMV0sNTU6WzIsMjFdLDYwOlsyLDIxXX0sezMzOlsxLDEzMF19LHszMzpbMiw2M119LHs3MjpbMSwxMzJdLDc2OjEzMX0sezMzOlsxLDEzM119LHszMzpbMiw2OV19LHsxNTpbMiwxMl0sMTg6WzIsMTJdfSx7MTQ6WzIsMjZdLDE1OlsyLDI2XSwxOTpbMiwyNl0sMjk6WzIsMjZdLDM0OlsyLDI2XSw0NzpbMiwyNl0sNDg6WzIsMjZdLDUxOlsyLDI2XSw1NTpbMiwyNl0sNjA6WzIsMjZdfSx7MjM6WzIsMzFdLDMzOlsyLDMxXSw1NDpbMiwzMV0sNjg6WzIsMzFdLDcyOlsyLDMxXSw3NTpbMiwzMV19LHszMzpbMiw3NF0sNDI6MTM0LDc0OjEzNSw3NTpbMSwxMjBdfSx7MzM6WzIsNzFdLDY1OlsyLDcxXSw3MjpbMiw3MV0sNzU6WzIsNzFdLDgwOlsyLDcxXSw4MTpbMiw3MV0sODI6WzIsNzFdLDgzOlsyLDcxXSw4NDpbMiw3MV0sODU6WzIsNzFdfSx7MzM6WzIsNzNdLDc1OlsyLDczXX0sezIzOlsyLDI5XSwzMzpbMiwyOV0sNTQ6WzIsMjldLDY1OlsyLDI5XSw2ODpbMiwyOV0sNzI6WzIsMjldLDc1OlsyLDI5XSw4MDpbMiwyOV0sODE6WzIsMjldLDgyOlsyLDI5XSw4MzpbMiwyOV0sODQ6WzIsMjldLDg1OlsyLDI5XX0sezE0OlsyLDE1XSwxNTpbMiwxNV0sMTk6WzIsMTVdLDI5OlsyLDE1XSwzNDpbMiwxNV0sMzk6WzIsMTVdLDQ0OlsyLDE1XSw0NzpbMiwxNV0sNDg6WzIsMTVdLDUxOlsyLDE1XSw1NTpbMiwxNV0sNjA6WzIsMTVdfSx7NzI6WzEsMTM3XSw3NzpbMSwxMzZdfSx7NzI6WzIsMTAwXSw3NzpbMiwxMDBdfSx7MTQ6WzIsMTZdLDE1OlsyLDE2XSwxOTpbMiwxNl0sMjk6WzIsMTZdLDM0OlsyLDE2XSw0NDpbMiwxNl0sNDc6WzIsMTZdLDQ4OlsyLDE2XSw1MTpbMiwxNl0sNTU6WzIsMTZdLDYwOlsyLDE2XX0sezMzOlsxLDEzOF19LHszMzpbMiw3NV19LHszMzpbMiwzMl19LHs3MjpbMiwxMDFdLDc3OlsyLDEwMV19LHsxNDpbMiwxN10sMTU6WzIsMTddLDE5OlsyLDE3XSwyOTpbMiwxN10sMzQ6WzIsMTddLDM5OlsyLDE3XSw0NDpbMiwxN10sNDc6WzIsMTddLDQ4OlsyLDE3XSw1MTpbMiwxN10sNTU6WzIsMTddLDYwOlsyLDE3XX1dLFxuZGVmYXVsdEFjdGlvbnM6IHs0OlsyLDFdLDU0OlsyLDU1XSw1NjpbMiwyMF0sNjA6WzIsNTddLDczOlsyLDgxXSw4MjpbMiw4NV0sODY6WzIsMThdLDkwOlsyLDg5XSwxMDE6WzIsNTNdLDEwNDpbMiw5M10sMTEwOlsyLDE5XSwxMTE6WzIsNzddLDExNjpbMiw5N10sMTE5OlsyLDYzXSwxMjI6WzIsNjldLDEzNTpbMiw3NV0sMTM2OlsyLDMyXX0sXG5wYXJzZUVycm9yOiBmdW5jdGlvbiBwYXJzZUVycm9yIChzdHIsIGhhc2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3Ioc3RyKTtcbn0sXG5wYXJzZTogZnVuY3Rpb24gcGFyc2UoaW5wdXQpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXMsIHN0YWNrID0gWzBdLCB2c3RhY2sgPSBbbnVsbF0sIGxzdGFjayA9IFtdLCB0YWJsZSA9IHRoaXMudGFibGUsIHl5dGV4dCA9IFwiXCIsIHl5bGluZW5vID0gMCwgeXlsZW5nID0gMCwgcmVjb3ZlcmluZyA9IDAsIFRFUlJPUiA9IDIsIEVPRiA9IDE7XG4gICAgdGhpcy5sZXhlci5zZXRJbnB1dChpbnB1dCk7XG4gICAgdGhpcy5sZXhlci55eSA9IHRoaXMueXk7XG4gICAgdGhpcy55eS5sZXhlciA9IHRoaXMubGV4ZXI7XG4gICAgdGhpcy55eS5wYXJzZXIgPSB0aGlzO1xuICAgIGlmICh0eXBlb2YgdGhpcy5sZXhlci55eWxsb2MgPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICAgdGhpcy5sZXhlci55eWxsb2MgPSB7fTtcbiAgICB2YXIgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICBsc3RhY2sucHVzaCh5eWxvYyk7XG4gICAgdmFyIHJhbmdlcyA9IHRoaXMubGV4ZXIub3B0aW9ucyAmJiB0aGlzLmxleGVyLm9wdGlvbnMucmFuZ2VzO1xuICAgIGlmICh0eXBlb2YgdGhpcy55eS5wYXJzZUVycm9yID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRoaXMueXkucGFyc2VFcnJvcjtcbiAgICBmdW5jdGlvbiBwb3BTdGFjayhuKSB7XG4gICAgICAgIHN0YWNrLmxlbmd0aCA9IHN0YWNrLmxlbmd0aCAtIDIgKiBuO1xuICAgICAgICB2c3RhY2subGVuZ3RoID0gdnN0YWNrLmxlbmd0aCAtIG47XG4gICAgICAgIGxzdGFjay5sZW5ndGggPSBsc3RhY2subGVuZ3RoIC0gbjtcbiAgICB9XG4gICAgZnVuY3Rpb24gbGV4KCkge1xuICAgICAgICB2YXIgdG9rZW47XG4gICAgICAgIHRva2VuID0gc2VsZi5sZXhlci5sZXgoKSB8fCAxO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuICE9PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICB0b2tlbiA9IHNlbGYuc3ltYm9sc19bdG9rZW5dIHx8IHRva2VuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9XG4gICAgdmFyIHN5bWJvbCwgcHJlRXJyb3JTeW1ib2wsIHN0YXRlLCBhY3Rpb24sIGEsIHIsIHl5dmFsID0ge30sIHAsIGxlbiwgbmV3U3RhdGUsIGV4cGVjdGVkO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHN0YXRlID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRBY3Rpb25zW3N0YXRlXSkge1xuICAgICAgICAgICAgYWN0aW9uID0gdGhpcy5kZWZhdWx0QWN0aW9uc1tzdGF0ZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoc3ltYm9sID09PSBudWxsIHx8IHR5cGVvZiBzeW1ib2wgPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIHN5bWJvbCA9IGxleCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aW9uID0gdGFibGVbc3RhdGVdICYmIHRhYmxlW3N0YXRlXVtzeW1ib2xdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSBcInVuZGVmaW5lZFwiIHx8ICFhY3Rpb24ubGVuZ3RoIHx8ICFhY3Rpb25bMF0pIHtcbiAgICAgICAgICAgIHZhciBlcnJTdHIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFyZWNvdmVyaW5nKSB7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHAgaW4gdGFibGVbc3RhdGVdKVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXJtaW5hbHNfW3BdICYmIHAgPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZC5wdXNoKFwiJ1wiICsgdGhpcy50ZXJtaW5hbHNfW3BdICsgXCInXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGV4ZXIuc2hvd1Bvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGVyclN0ciA9IFwiUGFyc2UgZXJyb3Igb24gbGluZSBcIiArICh5eWxpbmVubyArIDEpICsgXCI6XFxuXCIgKyB0aGlzLmxleGVyLnNob3dQb3NpdGlvbigpICsgXCJcXG5FeHBlY3RpbmcgXCIgKyBleHBlY3RlZC5qb2luKFwiLCBcIikgKyBcIiwgZ290ICdcIiArICh0aGlzLnRlcm1pbmFsc19bc3ltYm9sXSB8fCBzeW1ib2wpICsgXCInXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyU3RyID0gXCJQYXJzZSBlcnJvciBvbiBsaW5lIFwiICsgKHl5bGluZW5vICsgMSkgKyBcIjogVW5leHBlY3RlZCBcIiArIChzeW1ib2wgPT0gMT9cImVuZCBvZiBpbnB1dFwiOlwiJ1wiICsgKHRoaXMudGVybWluYWxzX1tzeW1ib2xdIHx8IHN5bWJvbCkgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcihlcnJTdHIsIHt0ZXh0OiB0aGlzLmxleGVyLm1hdGNoLCB0b2tlbjogdGhpcy50ZXJtaW5hbHNfW3N5bWJvbF0gfHwgc3ltYm9sLCBsaW5lOiB0aGlzLmxleGVyLnl5bGluZW5vLCBsb2M6IHl5bG9jLCBleHBlY3RlZDogZXhwZWN0ZWR9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uWzBdIGluc3RhbmNlb2YgQXJyYXkgJiYgYWN0aW9uLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcnNlIEVycm9yOiBtdWx0aXBsZSBhY3Rpb25zIHBvc3NpYmxlIGF0IHN0YXRlOiBcIiArIHN0YXRlICsgXCIsIHRva2VuOiBcIiArIHN5bWJvbCk7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChhY3Rpb25bMF0pIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgc3RhY2sucHVzaChzeW1ib2wpO1xuICAgICAgICAgICAgdnN0YWNrLnB1c2godGhpcy5sZXhlci55eXRleHQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2godGhpcy5sZXhlci55eWxsb2MpO1xuICAgICAgICAgICAgc3RhY2sucHVzaChhY3Rpb25bMV0pO1xuICAgICAgICAgICAgc3ltYm9sID0gbnVsbDtcbiAgICAgICAgICAgIGlmICghcHJlRXJyb3JTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICB5eWxlbmcgPSB0aGlzLmxleGVyLnl5bGVuZztcbiAgICAgICAgICAgICAgICB5eXRleHQgPSB0aGlzLmxleGVyLnl5dGV4dDtcbiAgICAgICAgICAgICAgICB5eWxpbmVubyA9IHRoaXMubGV4ZXIueXlsaW5lbm87XG4gICAgICAgICAgICAgICAgeXlsb2MgPSB0aGlzLmxleGVyLnl5bGxvYztcbiAgICAgICAgICAgICAgICBpZiAocmVjb3ZlcmluZyA+IDApXG4gICAgICAgICAgICAgICAgICAgIHJlY292ZXJpbmctLTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3ltYm9sID0gcHJlRXJyb3JTeW1ib2w7XG4gICAgICAgICAgICAgICAgcHJlRXJyb3JTeW1ib2wgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGxlbiA9IHRoaXMucHJvZHVjdGlvbnNfW2FjdGlvblsxXV1bMV07XG4gICAgICAgICAgICB5eXZhbC4kID0gdnN0YWNrW3ZzdGFjay5sZW5ndGggLSBsZW5dO1xuICAgICAgICAgICAgeXl2YWwuXyQgPSB7Zmlyc3RfbGluZTogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5maXJzdF9saW5lLCBsYXN0X2xpbmU6IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gMV0ubGFzdF9saW5lLCBmaXJzdF9jb2x1bW46IGxzdGFja1tsc3RhY2subGVuZ3RoIC0gKGxlbiB8fCAxKV0uZmlyc3RfY29sdW1uLCBsYXN0X2NvbHVtbjogbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5sYXN0X2NvbHVtbn07XG4gICAgICAgICAgICBpZiAocmFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgeXl2YWwuXyQucmFuZ2UgPSBbbHN0YWNrW2xzdGFjay5sZW5ndGggLSAobGVuIHx8IDEpXS5yYW5nZVswXSwgbHN0YWNrW2xzdGFjay5sZW5ndGggLSAxXS5yYW5nZVsxXV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByID0gdGhpcy5wZXJmb3JtQWN0aW9uLmNhbGwoeXl2YWwsIHl5dGV4dCwgeXlsZW5nLCB5eWxpbmVubywgdGhpcy55eSwgYWN0aW9uWzFdLCB2c3RhY2ssIGxzdGFjayk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZW4pIHtcbiAgICAgICAgICAgICAgICBzdGFjayA9IHN0YWNrLnNsaWNlKDAsIC0xICogbGVuICogMik7XG4gICAgICAgICAgICAgICAgdnN0YWNrID0gdnN0YWNrLnNsaWNlKDAsIC0xICogbGVuKTtcbiAgICAgICAgICAgICAgICBsc3RhY2sgPSBsc3RhY2suc2xpY2UoMCwgLTEgKiBsZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLnByb2R1Y3Rpb25zX1thY3Rpb25bMV1dWzBdKTtcbiAgICAgICAgICAgIHZzdGFjay5wdXNoKHl5dmFsLiQpO1xuICAgICAgICAgICAgbHN0YWNrLnB1c2goeXl2YWwuXyQpO1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB0YWJsZVtzdGFja1tzdGFjay5sZW5ndGggLSAyXV1bc3RhY2tbc3RhY2subGVuZ3RoIC0gMV1dO1xuICAgICAgICAgICAgc3RhY2sucHVzaChuZXdTdGF0ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG59O1xuLyogSmlzb24gZ2VuZXJhdGVkIGxleGVyICovXG52YXIgbGV4ZXIgPSAoZnVuY3Rpb24oKXtcbnZhciBsZXhlciA9ICh7RU9GOjEsXG5wYXJzZUVycm9yOmZ1bmN0aW9uIHBhcnNlRXJyb3Ioc3RyLCBoYXNoKSB7XG4gICAgICAgIGlmICh0aGlzLnl5LnBhcnNlcikge1xuICAgICAgICAgICAgdGhpcy55eS5wYXJzZXIucGFyc2VFcnJvcihzdHIsIGhhc2gpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHN0cik7XG4gICAgICAgIH1cbiAgICB9LFxuc2V0SW5wdXQ6ZnVuY3Rpb24gKGlucHV0KSB7XG4gICAgICAgIHRoaXMuX2lucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0aGlzLl9sZXNzID0gdGhpcy5kb25lID0gZmFsc2U7XG4gICAgICAgIHRoaXMueXlsaW5lbm8gPSB0aGlzLnl5bGVuZyA9IDA7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy5tYXRjaGVkID0gdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB0aGlzLmNvbmRpdGlvblN0YWNrID0gWydJTklUSUFMJ107XG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6MSxmaXJzdF9jb2x1bW46MCxsYXN0X2xpbmU6MSxsYXN0X2NvbHVtbjowfTtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlID0gWzAsMF07XG4gICAgICAgIHRoaXMub2Zmc2V0ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbmlucHV0OmZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGNoID0gdGhpcy5faW5wdXRbMF07XG4gICAgICAgIHRoaXMueXl0ZXh0ICs9IGNoO1xuICAgICAgICB0aGlzLnl5bGVuZysrO1xuICAgICAgICB0aGlzLm9mZnNldCsrO1xuICAgICAgICB0aGlzLm1hdGNoICs9IGNoO1xuICAgICAgICB0aGlzLm1hdGNoZWQgKz0gY2g7XG4gICAgICAgIHZhciBsaW5lcyA9IGNoLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgaWYgKGxpbmVzKSB7XG4gICAgICAgICAgICB0aGlzLnl5bGluZW5vKys7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYy5sYXN0X2xpbmUrKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMueXlsbG9jLmxhc3RfY29sdW1uKys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHRoaXMueXlsbG9jLnJhbmdlWzFdKys7XG5cbiAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZSgxKTtcbiAgICAgICAgcmV0dXJuIGNoO1xuICAgIH0sXG51bnB1dDpmdW5jdGlvbiAoY2gpIHtcbiAgICAgICAgdmFyIGxlbiA9IGNoLmxlbmd0aDtcbiAgICAgICAgdmFyIGxpbmVzID0gY2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcblxuICAgICAgICB0aGlzLl9pbnB1dCA9IGNoICsgdGhpcy5faW5wdXQ7XG4gICAgICAgIHRoaXMueXl0ZXh0ID0gdGhpcy55eXRleHQuc3Vic3RyKDAsIHRoaXMueXl0ZXh0Lmxlbmd0aC1sZW4tMSk7XG4gICAgICAgIC8vdGhpcy55eWxlbmcgLT0gbGVuO1xuICAgICAgICB0aGlzLm9mZnNldCAtPSBsZW47XG4gICAgICAgIHZhciBvbGRMaW5lcyA9IHRoaXMubWF0Y2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTtcbiAgICAgICAgdGhpcy5tYXRjaCA9IHRoaXMubWF0Y2guc3Vic3RyKDAsIHRoaXMubWF0Y2gubGVuZ3RoLTEpO1xuICAgICAgICB0aGlzLm1hdGNoZWQgPSB0aGlzLm1hdGNoZWQuc3Vic3RyKDAsIHRoaXMubWF0Y2hlZC5sZW5ndGgtMSk7XG5cbiAgICAgICAgaWYgKGxpbmVzLmxlbmd0aC0xKSB0aGlzLnl5bGluZW5vIC09IGxpbmVzLmxlbmd0aC0xO1xuICAgICAgICB2YXIgciA9IHRoaXMueXlsbG9jLnJhbmdlO1xuXG4gICAgICAgIHRoaXMueXlsbG9jID0ge2ZpcnN0X2xpbmU6IHRoaXMueXlsbG9jLmZpcnN0X2xpbmUsXG4gICAgICAgICAgbGFzdF9saW5lOiB0aGlzLnl5bGluZW5vKzEsXG4gICAgICAgICAgZmlyc3RfY29sdW1uOiB0aGlzLnl5bGxvYy5maXJzdF9jb2x1bW4sXG4gICAgICAgICAgbGFzdF9jb2x1bW46IGxpbmVzID9cbiAgICAgICAgICAgICAgKGxpbmVzLmxlbmd0aCA9PT0gb2xkTGluZXMubGVuZ3RoID8gdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIDogMCkgKyBvbGRMaW5lc1tvbGRMaW5lcy5sZW5ndGggLSBsaW5lcy5sZW5ndGhdLmxlbmd0aCAtIGxpbmVzWzBdLmxlbmd0aDpcbiAgICAgICAgICAgICAgdGhpcy55eWxsb2MuZmlyc3RfY29sdW1uIC0gbGVuXG4gICAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJhbmdlcykge1xuICAgICAgICAgICAgdGhpcy55eWxsb2MucmFuZ2UgPSBbclswXSwgclswXSArIHRoaXMueXlsZW5nIC0gbGVuXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubW9yZTpmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX21vcmUgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9LFxubGVzczpmdW5jdGlvbiAobikge1xuICAgICAgICB0aGlzLnVucHV0KHRoaXMubWF0Y2guc2xpY2UobikpO1xuICAgIH0sXG5wYXN0SW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcGFzdCA9IHRoaXMubWF0Y2hlZC5zdWJzdHIoMCwgdGhpcy5tYXRjaGVkLmxlbmd0aCAtIHRoaXMubWF0Y2gubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIChwYXN0Lmxlbmd0aCA+IDIwID8gJy4uLic6JycpICsgcGFzdC5zdWJzdHIoLTIwKS5yZXBsYWNlKC9cXG4vZywgXCJcIik7XG4gICAgfSxcbnVwY29taW5nSW5wdXQ6ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgbmV4dCA9IHRoaXMubWF0Y2g7XG4gICAgICAgIGlmIChuZXh0Lmxlbmd0aCA8IDIwKSB7XG4gICAgICAgICAgICBuZXh0ICs9IHRoaXMuX2lucHV0LnN1YnN0cigwLCAyMC1uZXh0Lmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChuZXh0LnN1YnN0cigwLDIwKSsobmV4dC5sZW5ndGggPiAyMCA/ICcuLi4nOicnKSkucmVwbGFjZSgvXFxuL2csIFwiXCIpO1xuICAgIH0sXG5zaG93UG9zaXRpb246ZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcHJlID0gdGhpcy5wYXN0SW5wdXQoKTtcbiAgICAgICAgdmFyIGMgPSBuZXcgQXJyYXkocHJlLmxlbmd0aCArIDEpLmpvaW4oXCItXCIpO1xuICAgICAgICByZXR1cm4gcHJlICsgdGhpcy51cGNvbWluZ0lucHV0KCkgKyBcIlxcblwiICsgYytcIl5cIjtcbiAgICB9LFxubmV4dDpmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvbmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkVPRjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSB0cnVlO1xuXG4gICAgICAgIHZhciB0b2tlbixcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgdGVtcE1hdGNoLFxuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICBjb2wsXG4gICAgICAgICAgICBsaW5lcztcbiAgICAgICAgaWYgKCF0aGlzLl9tb3JlKSB7XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCA9ICcnO1xuICAgICAgICAgICAgdGhpcy5tYXRjaCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHZhciBydWxlcyA9IHRoaXMuX2N1cnJlbnRSdWxlcygpO1xuICAgICAgICBmb3IgKHZhciBpPTA7aSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB0ZW1wTWF0Y2ggPSB0aGlzLl9pbnB1dC5tYXRjaCh0aGlzLnJ1bGVzW3J1bGVzW2ldXSk7XG4gICAgICAgICAgICBpZiAodGVtcE1hdGNoICYmICghbWF0Y2ggfHwgdGVtcE1hdGNoWzBdLmxlbmd0aCA+IG1hdGNoWzBdLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICBtYXRjaCA9IHRlbXBNYXRjaDtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZmxleCkgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBsaW5lcyA9IG1hdGNoWzBdLm1hdGNoKC8oPzpcXHJcXG4/fFxcbikuKi9nKTtcbiAgICAgICAgICAgIGlmIChsaW5lcykgdGhpcy55eWxpbmVubyArPSBsaW5lcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLnl5bGxvYyA9IHtmaXJzdF9saW5lOiB0aGlzLnl5bGxvYy5sYXN0X2xpbmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2xpbmU6IHRoaXMueXlsaW5lbm8rMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X2NvbHVtbjogdGhpcy55eWxsb2MubGFzdF9jb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0X2NvbHVtbjogbGluZXMgPyBsaW5lc1tsaW5lcy5sZW5ndGgtMV0ubGVuZ3RoLWxpbmVzW2xpbmVzLmxlbmd0aC0xXS5tYXRjaCgvXFxyP1xcbj8vKVswXS5sZW5ndGggOiB0aGlzLnl5bGxvYy5sYXN0X2NvbHVtbiArIG1hdGNoWzBdLmxlbmd0aH07XG4gICAgICAgICAgICB0aGlzLnl5dGV4dCArPSBtYXRjaFswXTtcbiAgICAgICAgICAgIHRoaXMubWF0Y2ggKz0gbWF0Y2hbMF07XG4gICAgICAgICAgICB0aGlzLm1hdGNoZXMgPSBtYXRjaDtcbiAgICAgICAgICAgIHRoaXMueXlsZW5nID0gdGhpcy55eXRleHQubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnl5bGxvYy5yYW5nZSA9IFt0aGlzLm9mZnNldCwgdGhpcy5vZmZzZXQgKz0gdGhpcy55eWxlbmddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fbW9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5faW5wdXQgPSB0aGlzLl9pbnB1dC5zbGljZShtYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5tYXRjaGVkICs9IG1hdGNoWzBdO1xuICAgICAgICAgICAgdG9rZW4gPSB0aGlzLnBlcmZvcm1BY3Rpb24uY2FsbCh0aGlzLCB0aGlzLnl5LCB0aGlzLCBydWxlc1tpbmRleF0sdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5kb25lICYmIHRoaXMuX2lucHV0KSB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0b2tlbikgcmV0dXJuIHRva2VuO1xuICAgICAgICAgICAgZWxzZSByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2lucHV0ID09PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5FT0Y7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUVycm9yKCdMZXhpY2FsIGVycm9yIG9uIGxpbmUgJysodGhpcy55eWxpbmVubysxKSsnLiBVbnJlY29nbml6ZWQgdGV4dC5cXG4nK3RoaXMuc2hvd1Bvc2l0aW9uKCksXG4gICAgICAgICAgICAgICAgICAgIHt0ZXh0OiBcIlwiLCB0b2tlbjogbnVsbCwgbGluZTogdGhpcy55eWxpbmVub30pO1xuICAgICAgICB9XG4gICAgfSxcbmxleDpmdW5jdGlvbiBsZXggKCkge1xuICAgICAgICB2YXIgciA9IHRoaXMubmV4dCgpO1xuICAgICAgICBpZiAodHlwZW9mIHIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxleCgpO1xuICAgICAgICB9XG4gICAgfSxcbmJlZ2luOmZ1bmN0aW9uIGJlZ2luIChjb25kaXRpb24pIHtcbiAgICAgICAgdGhpcy5jb25kaXRpb25TdGFjay5wdXNoKGNvbmRpdGlvbik7XG4gICAgfSxcbnBvcFN0YXRlOmZ1bmN0aW9uIHBvcFN0YXRlICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2sucG9wKCk7XG4gICAgfSxcbl9jdXJyZW50UnVsZXM6ZnVuY3Rpb24gX2N1cnJlbnRSdWxlcyAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbnNbdGhpcy5jb25kaXRpb25TdGFja1t0aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xXV0ucnVsZXM7XG4gICAgfSxcbnRvcFN0YXRlOmZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMl07XG4gICAgfSxcbnB1c2hTdGF0ZTpmdW5jdGlvbiBiZWdpbiAoY29uZGl0aW9uKSB7XG4gICAgICAgIHRoaXMuYmVnaW4oY29uZGl0aW9uKTtcbiAgICB9fSk7XG5sZXhlci5vcHRpb25zID0ge307XG5sZXhlci5wZXJmb3JtQWN0aW9uID0gZnVuY3Rpb24gYW5vbnltb3VzKHl5LHl5XywkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zLFlZX1NUQVJUXG4pIHtcblxuXG5mdW5jdGlvbiBzdHJpcChzdGFydCwgZW5kKSB7XG4gIHJldHVybiB5eV8ueXl0ZXh0ID0geXlfLnl5dGV4dC5zdWJzdHJpbmcoc3RhcnQsIHl5Xy55eWxlbmcgLSBlbmQgKyBzdGFydCk7XG59XG5cblxudmFyIFlZU1RBVEU9WVlfU1RBUlRcbnN3aXRjaCgkYXZvaWRpbmdfbmFtZV9jb2xsaXNpb25zKSB7XG5jYXNlIDA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHl5Xy55eXRleHQuc2xpY2UoLTIpID09PSBcIlxcXFxcXFxcXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcCgwLDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYmVnaW4oXCJtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKHl5Xy55eXRleHQuc2xpY2UoLTEpID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDAsMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbihcImVtdVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJlZ2luKFwibXVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoeXlfLnl5dGV4dCkgcmV0dXJuIDE1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTpyZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgMjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSAzOnRoaXMuYmVnaW4oJ3JhdycpOyByZXR1cm4gMTU7XG5icmVhaztcbmNhc2UgNDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdWxkIGJlIHVzaW5nIGB0aGlzLnRvcFN0YXRlKClgIGJlbG93LCBidXQgaXQgY3VycmVudGx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJucyB0aGUgc2Vjb25kIHRvcCBpbnN0ZWFkIG9mIHRoZSBmaXJzdCB0b3AuIE9wZW5lZCBhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzc3VlIGFib3V0IGl0IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS96YWFjaC9qaXNvbi9pc3N1ZXMvMjkxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV0gPT09ICdyYXcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwKDUsIDkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdFTkRfUkFXX0JMT0NLJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJyZWFrO1xuY2FzZSA1OiByZXR1cm4gMTU7IFxuYnJlYWs7XG5jYXNlIDY6XG4gIHRoaXMucG9wU3RhdGUoKTtcbiAgcmV0dXJuIDE0O1xuXG5icmVhaztcbmNhc2UgNzpyZXR1cm4gNjU7XG5icmVhaztcbmNhc2UgODpyZXR1cm4gNjg7XG5icmVhaztcbmNhc2UgOTogcmV0dXJuIDE5OyBcbmJyZWFrO1xuY2FzZSAxMDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcFN0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5iZWdpbigncmF3Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5icmVhaztcbmNhc2UgMTE6cmV0dXJuIDU1O1xuYnJlYWs7XG5jYXNlIDEyOnJldHVybiA2MDtcbmJyZWFrO1xuY2FzZSAxMzpyZXR1cm4gMjk7XG5icmVhaztcbmNhc2UgMTQ6cmV0dXJuIDQ3O1xuYnJlYWs7XG5jYXNlIDE1OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE2OnRoaXMucG9wU3RhdGUoKTsgcmV0dXJuIDQ0O1xuYnJlYWs7XG5jYXNlIDE3OnJldHVybiAzNDtcbmJyZWFrO1xuY2FzZSAxODpyZXR1cm4gMzk7XG5icmVhaztcbmNhc2UgMTk6cmV0dXJuIDUxO1xuYnJlYWs7XG5jYXNlIDIwOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyMTpcbiAgdGhpcy51bnB1dCh5eV8ueXl0ZXh0KTtcbiAgdGhpcy5wb3BTdGF0ZSgpO1xuICB0aGlzLmJlZ2luKCdjb20nKTtcblxuYnJlYWs7XG5jYXNlIDIyOlxuICB0aGlzLnBvcFN0YXRlKCk7XG4gIHJldHVybiAxNDtcblxuYnJlYWs7XG5jYXNlIDIzOnJldHVybiA0ODtcbmJyZWFrO1xuY2FzZSAyNDpyZXR1cm4gNzM7XG5icmVhaztcbmNhc2UgMjU6cmV0dXJuIDcyO1xuYnJlYWs7XG5jYXNlIDI2OnJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSAyNzpyZXR1cm4gODc7XG5icmVhaztcbmNhc2UgMjg6Ly8gaWdub3JlIHdoaXRlc3BhY2VcbmJyZWFrO1xuY2FzZSAyOTp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiA1NDtcbmJyZWFrO1xuY2FzZSAzMDp0aGlzLnBvcFN0YXRlKCk7IHJldHVybiAzMztcbmJyZWFrO1xuY2FzZSAzMTp5eV8ueXl0ZXh0ID0gc3RyaXAoMSwyKS5yZXBsYWNlKC9cXFxcXCIvZywnXCInKTsgcmV0dXJuIDgwO1xuYnJlYWs7XG5jYXNlIDMyOnl5Xy55eXRleHQgPSBzdHJpcCgxLDIpLnJlcGxhY2UoL1xcXFwnL2csXCInXCIpOyByZXR1cm4gODA7XG5icmVhaztcbmNhc2UgMzM6cmV0dXJuIDg1O1xuYnJlYWs7XG5jYXNlIDM0OnJldHVybiA4MjtcbmJyZWFrO1xuY2FzZSAzNTpyZXR1cm4gODI7XG5icmVhaztcbmNhc2UgMzY6cmV0dXJuIDgzO1xuYnJlYWs7XG5jYXNlIDM3OnJldHVybiA4NDtcbmJyZWFrO1xuY2FzZSAzODpyZXR1cm4gODE7XG5icmVhaztcbmNhc2UgMzk6cmV0dXJuIDc1O1xuYnJlYWs7XG5jYXNlIDQwOnJldHVybiA3NztcbmJyZWFrO1xuY2FzZSA0MTpyZXR1cm4gNzI7XG5icmVhaztcbmNhc2UgNDI6eXlfLnl5dGV4dCA9IHl5Xy55eXRleHQucmVwbGFjZSgvXFxcXChbXFxcXFxcXV0pL2csJyQxJyk7IHJldHVybiA3MjtcbmJyZWFrO1xuY2FzZSA0MzpyZXR1cm4gJ0lOVkFMSUQnO1xuYnJlYWs7XG5jYXNlIDQ0OnJldHVybiA1O1xuYnJlYWs7XG59XG59O1xubGV4ZXIucnVsZXMgPSBbL14oPzpbXlxceDAwXSo/KD89KFxce1xceykpKS8sL14oPzpbXlxceDAwXSspLywvXig/OlteXFx4MDBdezIsfT8oPz0oXFx7XFx7fFxcXFxcXHtcXHt8XFxcXFxcXFxcXHtcXHt8JCkpKS8sL14oPzpcXHtcXHtcXHtcXHsoPz1bXi9dKSkvLC9eKD86XFx7XFx7XFx7XFx7XFwvW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PVs9fVxcc1xcLy5dKVxcfVxcfVxcfVxcfSkvLC9eKD86W15cXHgwMF0rPyg/PShcXHtcXHtcXHtcXHspKSkvLC9eKD86W1xcc1xcU10qPy0tKH4pP1xcfVxcfSkvLC9eKD86XFwoKS8sL14oPzpcXCkpLywvXig/Olxce1xce1xce1xceykvLC9eKD86XFx9XFx9XFx9XFx9KS8sL14oPzpcXHtcXHsofik/PikvLC9eKD86XFx7XFx7KH4pPyM+KS8sL14oPzpcXHtcXHsofik/I1xcKj8pLywvXig/Olxce1xceyh+KT9cXC8pLywvXig/Olxce1xceyh+KT9cXF5cXHMqKH4pP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xccyplbHNlXFxzKih+KT9cXH1cXH0pLywvXig/Olxce1xceyh+KT9cXF4pLywvXig/Olxce1xceyh+KT9cXHMqZWxzZVxcYikvLC9eKD86XFx7XFx7KH4pP1xceykvLC9eKD86XFx7XFx7KH4pPyYpLywvXig/Olxce1xceyh+KT8hLS0pLywvXig/Olxce1xceyh+KT8hW1xcc1xcU10qP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xcKj8pLywvXig/Oj0pLywvXig/OlxcLlxcLikvLC9eKD86XFwuKD89KFs9fn1cXHNcXC8uKXxdKSkpLywvXig/OltcXC8uXSkvLC9eKD86XFxzKykvLC9eKD86XFx9KH4pP1xcfVxcfSkvLC9eKD86KH4pP1xcfVxcfSkvLC9eKD86XCIoXFxcXFtcIl18W15cIl0pKlwiKS8sL14oPzonKFxcXFxbJ118W14nXSkqJykvLC9eKD86QCkvLC9eKD86dHJ1ZSg/PShbfn1cXHMpXSkpKS8sL14oPzpmYWxzZSg/PShbfn1cXHMpXSkpKS8sL14oPzp1bmRlZmluZWQoPz0oW359XFxzKV0pKSkvLC9eKD86bnVsbCg/PShbfn1cXHMpXSkpKS8sL14oPzotP1swLTldKyg/OlxcLlswLTldKyk/KD89KFt+fVxccyldKSkpLywvXig/OmFzXFxzK1xcfCkvLC9eKD86XFx8KS8sL14oPzooW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PShbPX59XFxzXFwvLil8XSkpKSkvLC9eKD86XFxbKFxcXFxcXF18W15cXF1dKSpcXF0pLywvXig/Oi4pLywvXig/OiQpL107XG5sZXhlci5jb25kaXRpb25zID0ge1wibXVcIjp7XCJydWxlc1wiOls3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NF0sXCJpbmNsdXNpdmVcIjpmYWxzZX0sXCJlbXVcIjp7XCJydWxlc1wiOlsyXSxcImluY2x1c2l2ZVwiOmZhbHNlfSxcImNvbVwiOntcInJ1bGVzXCI6WzZdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwicmF3XCI6e1wicnVsZXNcIjpbMyw0LDVdLFwiaW5jbHVzaXZlXCI6ZmFsc2V9LFwiSU5JVElBTFwiOntcInJ1bGVzXCI6WzAsMSw0NF0sXCJpbmNsdXNpdmVcIjp0cnVlfX07XG5yZXR1cm4gbGV4ZXI7fSkoKVxucGFyc2VyLmxleGVyID0gbGV4ZXI7XG5mdW5jdGlvbiBQYXJzZXIgKCkgeyB0aGlzLnl5ID0ge307IH1QYXJzZXIucHJvdG90eXBlID0gcGFyc2VyO3BhcnNlci5QYXJzZXIgPSBQYXJzZXI7XG5yZXR1cm4gbmV3IFBhcnNlcjtcbn0pKCk7ZXhwb3J0IGRlZmF1bHQgaGFuZGxlYmFycztcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction Visitor() {\n this.parents = [];\n}\n\nVisitor.prototype = {\n constructor: Visitor,\n mutating: false,\n\n // Visits a given value. If mutating, will replace the value if necessary.\n acceptKey: function acceptKey(node, name) {\n var value = this.accept(node[name]);\n if (this.mutating) {\n // Hacky sanity check: This may have a few false positives for type for the helper\n // methods but will generally do the right thing without a lot of overhead.\n if (value && !Visitor.prototype[value.type]) {\n throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n }\n node[name] = value;\n }\n },\n\n // Performs an accept operation with added sanity check to ensure\n // required keys are not removed.\n acceptRequired: function acceptRequired(node, name) {\n this.acceptKey(node, name);\n\n if (!node[name]) {\n throw new _exception2['default'](node.type + ' requires ' + name);\n }\n },\n\n // Traverses a given array. If mutating, empty respnses will be removed\n // for child elements.\n acceptArray: function acceptArray(array) {\n for (var i = 0, l = array.length; i < l; i++) {\n this.acceptKey(array, i);\n\n if (!array[i]) {\n array.splice(i, 1);\n i--;\n l--;\n }\n }\n },\n\n accept: function accept(object) {\n if (!object) {\n return;\n }\n\n /* istanbul ignore next: Sanity code */\n if (!this[object.type]) {\n throw new _exception2['default']('Unknown type: ' + object.type, object);\n }\n\n if (this.current) {\n this.parents.unshift(this.current);\n }\n this.current = object;\n\n var ret = this[object.type](object);\n\n this.current = this.parents.shift();\n\n if (!this.mutating || ret) {\n return ret;\n } else if (ret !== false) {\n return object;\n }\n },\n\n Program: function Program(program) {\n this.acceptArray(program.body);\n },\n\n MustacheStatement: visitSubExpression,\n Decorator: visitSubExpression,\n\n BlockStatement: visitBlock,\n DecoratorBlock: visitBlock,\n\n PartialStatement: visitPartial,\n PartialBlockStatement: function PartialBlockStatement(partial) {\n visitPartial.call(this, partial);\n\n this.acceptKey(partial, 'program');\n },\n\n ContentStatement: function ContentStatement() /* content */{},\n CommentStatement: function CommentStatement() /* comment */{},\n\n SubExpression: visitSubExpression,\n\n PathExpression: function PathExpression() /* path */{},\n\n StringLiteral: function StringLiteral() /* string */{},\n NumberLiteral: function NumberLiteral() /* number */{},\n BooleanLiteral: function BooleanLiteral() /* bool */{},\n UndefinedLiteral: function UndefinedLiteral() /* literal */{},\n NullLiteral: function NullLiteral() /* literal */{},\n\n Hash: function Hash(hash) {\n this.acceptArray(hash.pairs);\n },\n HashPair: function HashPair(pair) {\n this.acceptRequired(pair, 'value');\n }\n};\n\nfunction visitSubExpression(mustache) {\n this.acceptRequired(mustache, 'path');\n this.acceptArray(mustache.params);\n this.acceptKey(mustache, 'hash');\n}\nfunction visitBlock(block) {\n visitSubExpression.call(this, block);\n\n this.acceptKey(block, 'program');\n this.acceptKey(block, 'inverse');\n}\nfunction visitPartial(partial) {\n this.acceptRequired(partial, 'name');\n this.acceptArray(partial.params);\n this.acceptKey(partial, 'hash');\n}\n\nexports['default'] = Visitor;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztBQUVwQyxTQUFTLE9BQU8sR0FBRztBQUNqQixNQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztDQUNuQjs7QUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHO0FBQ2xCLGFBQVcsRUFBRSxPQUFPO0FBQ3BCLFVBQVEsRUFBRSxLQUFLOzs7QUFHZixXQUFTLEVBQUUsbUJBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUM5QixRQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7O0FBR2pCLFVBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7QUFDM0MsY0FBTSwyQkFDSix3QkFBd0IsR0FDdEIsS0FBSyxDQUFDLElBQUksR0FDVix5QkFBeUIsR0FDekIsSUFBSSxHQUNKLE1BQU0sR0FDTixJQUFJLENBQUMsSUFBSSxDQUNaLENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDcEI7R0FDRjs7OztBQUlELGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLElBQUksRUFBRTtBQUNuQyxRQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFM0IsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtBQUNmLFlBQU0sMkJBQWMsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDdEQ7R0FDRjs7OztBQUlELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FB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QztBQUNsQyxNQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsVUFBVSxDQUFDLEtBQUssRUFBRTtBQUN6QixvQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUVyQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztDQUNsQztBQUNELFNBQVMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUM3QixNQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxNQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqQyxNQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztDQUNqQzs7cUJBRWMsT0FBTyIsImZpbGUiOiJ2aXNpdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5mdW5jdGlvbiBWaXNpdG9yKCkge1xuICB0aGlzLnBhcmVudHMgPSBbXTtcbn1cblxuVmlzaXRvci5wcm90b3R5cGUgPSB7XG4gIGNvbnN0cnVjdG9yOiBWaXNpdG9yLFxuICBtdXRhdGluZzogZmFsc2UsXG5cbiAgLy8gVmlzaXRzIGEgZ2l2ZW4gdmFsdWUuIElmIG11dGF0aW5nLCB3aWxsIHJlcGxhY2UgdGhlIHZhbHVlIGlmIG5lY2Vzc2FyeS5cbiAgYWNjZXB0S2V5OiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5hY2NlcHQobm9kZVtuYW1lXSk7XG4gICAgaWYgKHRoaXMubXV0YXRpbmcpIHtcbiAgICAgIC8vIEhhY2t5IHNhbml0eSBjaGVjazogVGhpcyBtYXkgaGF2ZSBhIGZldyBmYWxzZSBwb3NpdGl2ZXMgZm9yIHR5cGUgZm9yIHRoZSBoZWxwZXJcbiAgICAgIC8vIG1ldGhvZHMgYnV0IHdpbGwgZ2VuZXJhbGx5IGRvIHRoZSByaWdodCB0aGluZyB3aXRob3V0IGEgbG90IG9mIG92ZXJoZWFkLlxuICAgICAgaWYgKHZhbHVlICYmICFWaXNpdG9yLnByb3RvdHlwZVt2YWx1ZS50eXBlXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAgICdVbmV4cGVjdGVkIG5vZGUgdHlwZSBcIicgK1xuICAgICAgICAgICAgdmFsdWUudHlwZSArXG4gICAgICAgICAgICAnXCIgZm91bmQgd2hlbiBhY2NlcHRpbmcgJyArXG4gICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICcgb24gJyArXG4gICAgICAgICAgICBub2RlLnR5cGVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIG5vZGVbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH0sXG5cbiAgLy8gUGVyZm9ybXMgYW4gYWNjZXB0IG9wZXJhdGlvbiB3aXRoIGFkZGVkIHNhbml0eSBjaGVjayB0byBlbnN1cmVcbiAgLy8gcmVxdWlyZWQga2V5cyBhcmUgbm90IHJlbW92ZWQuXG4gIGFjY2VwdFJlcXVpcmVkOiBmdW5jdGlvbihub2RlLCBuYW1lKSB7XG4gICAgdGhpcy5hY2NlcHRLZXkobm9kZSwgbmFtZSk7XG5cbiAgICBpZiAoIW5vZGVbbmFtZV0pIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24obm9kZS50eXBlICsgJyByZXF1aXJlcyAnICsgbmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIC8vIFRyYXZlcnNlcyBhIGdpdmVuIGFycmF5LiBJZiBtdXRhdGluZywgZW1wdHkgcmVzcG5zZXMgd2lsbCBiZSByZW1vdmVkXG4gIC8vIGZvciBjaGlsZCBlbGVtZW50cy5cbiAgYWNjZXB0QXJyYXk6IGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBhcnJheS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMuYWNjZXB0S2V5KGFycmF5LCBpKTtcblxuICAgICAgaWYgKCFhcnJheVtpXSkge1xuICAgICAgICBhcnJheS5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGktLTtcbiAgICAgICAgbC0tO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBhY2NlcHQ6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgIGlmICghb2JqZWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IFNhbml0eSBjb2RlICovXG4gICAgaWYgKCF0aGlzW29iamVjdC50eXBlXSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVW5rbm93biB0eXBlOiAnICsgb2JqZWN0LnR5cGUsIG9iamVjdCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgdGhpcy5wYXJlbnRzLnVuc2hpZnQodGhpcy5jdXJyZW50KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50ID0gb2JqZWN0O1xuXG4gICAgbGV0IHJldCA9IHRoaXNbb2JqZWN0LnR5cGVdKG9iamVjdCk7XG5cbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnBhcmVudHMuc2hpZnQoKTtcblxuICAgIGlmICghdGhpcy5tdXRhdGluZyB8fCByZXQpIHtcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfSBlbHNlIGlmIChyZXQgIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5hY2NlcHRBcnJheShwcm9ncmFtLmJvZHkpO1xuICB9LFxuXG4gIE11c3RhY2hlU3RhdGVtZW50OiB2aXNpdFN1YkV4cHJlc3Npb24sXG4gIERlY29yYXRvcjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIEJsb2NrU3RhdGVtZW50OiB2aXNpdEJsb2NrLFxuICBEZWNvcmF0b3JCbG9jazogdmlzaXRCbG9jayxcblxuICBQYXJ0aWFsU3RhdGVtZW50OiB2aXNpdFBhcnRpYWwsXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbCkge1xuICAgIHZpc2l0UGFydGlhbC5jYWxsKHRoaXMsIHBhcnRpYWwpO1xuXG4gICAgdGhpcy5hY2NlcHRLZXkocGFydGlhbCwgJ3Byb2dyYW0nKTtcbiAgfSxcblxuICBDb250ZW50U3RhdGVtZW50OiBmdW5jdGlvbigvKiBjb250ZW50ICovKSB7fSxcbiAgQ29tbWVudFN0YXRlbWVudDogZnVuY3Rpb24oLyogY29tbWVudCAqLykge30sXG5cbiAgU3ViRXhwcmVzc2lvbjogdmlzaXRTdWJFeHByZXNzaW9uLFxuXG4gIFBhdGhFeHByZXNzaW9uOiBmdW5jdGlvbigvKiBwYXRoICovKSB7fSxcblxuICBTdHJpbmdMaXRlcmFsOiBmdW5jdGlvbigvKiBzdHJpbmcgKi8pIHt9LFxuICBOdW1iZXJMaXRlcmFsOiBmdW5jdGlvbigvKiBudW1iZXIgKi8pIHt9LFxuICBCb29sZWFuTGl0ZXJhbDogZnVuY3Rpb24oLyogYm9vbCAqLykge30sXG4gIFVuZGVmaW5lZExpdGVyYWw6IGZ1bmN0aW9uKC8qIGxpdGVyYWwgKi8pIHt9LFxuICBOdWxsTGl0ZXJhbDogZnVuY3Rpb24oLyogbGl0ZXJhbCAqLykge30sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIHRoaXMuYWNjZXB0QXJyYXkoaGFzaC5wYWlycyk7XG4gIH0sXG4gIEhhc2hQYWlyOiBmdW5jdGlvbihwYWlyKSB7XG4gICAgdGhpcy5hY2NlcHRSZXF1aXJlZChwYWlyLCAndmFsdWUnKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdmlzaXRTdWJFeHByZXNzaW9uKG11c3RhY2hlKSB7XG4gIHRoaXMuYWNjZXB0UmVxdWlyZWQobXVzdGFjaGUsICdwYXRoJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkobXVzdGFjaGUucGFyYW1zKTtcbiAgdGhpcy5hY2NlcHRLZXkobXVzdGFjaGUsICdoYXNoJyk7XG59XG5mdW5jdGlvbiB2aXNpdEJsb2NrKGJsb2NrKSB7XG4gIHZpc2l0U3ViRXhwcmVzc2lvbi5jYWxsKHRoaXMsIGJsb2NrKTtcblxuICB0aGlzLmFjY2VwdEtleShibG9jaywgJ3Byb2dyYW0nKTtcbiAgdGhpcy5hY2NlcHRLZXkoYmxvY2ssICdpbnZlcnNlJyk7XG59XG5mdW5jdGlvbiB2aXNpdFBhcnRpYWwocGFydGlhbCkge1xuICB0aGlzLmFjY2VwdFJlcXVpcmVkKHBhcnRpYWwsICduYW1lJyk7XG4gIHRoaXMuYWNjZXB0QXJyYXkocGFydGlhbC5wYXJhbXMpO1xuICB0aGlzLmFjY2VwdEtleShwYXJ0aWFsLCAnaGFzaCcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWaXNpdG9yO1xuIl19\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _visitor = require('./visitor');\n\nvar _visitor2 = _interopRequireDefault(_visitor);\n\nfunction WhitespaceControl() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n this.options = options;\n}\nWhitespaceControl.prototype = new _visitor2['default']();\n\nWhitespaceControl.prototype.Program = function (program) {\n var doStandalone = !this.options.ignoreStandalone;\n\n var isRoot = !this.isRootSeen;\n this.isRootSeen = true;\n\n var body = program.body;\n for (var i = 0, l = body.length; i < l; i++) {\n var current = body[i],\n strip = this.accept(current);\n\n if (!strip) {\n continue;\n }\n\n var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n openStandalone = strip.openStandalone && _isPrevWhitespace,\n closeStandalone = strip.closeStandalone && _isNextWhitespace,\n inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\n if (strip.close) {\n omitRight(body, i, true);\n }\n if (strip.open) {\n omitLeft(body, i, true);\n }\n\n if (doStandalone && inlineStandalone) {\n omitRight(body, i);\n\n if (omitLeft(body, i)) {\n // If we are on a standalone node, save the indent info for partials\n if (current.type === 'PartialStatement') {\n // Pull out the whitespace from the final line\n current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n }\n }\n }\n if (doStandalone && openStandalone) {\n omitRight((current.program || current.inverse).body);\n\n // Strip out the previous content node if it's whitespace only\n omitLeft(body, i);\n }\n if (doStandalone && closeStandalone) {\n // Always strip the next node\n omitRight(body, i);\n\n omitLeft((current.inverse || current.program).body);\n }\n }\n\n return program;\n};\n\nWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n this.accept(block.program);\n this.accept(block.inverse);\n\n // Find the inverse program that is involed with whitespace stripping.\n var program = block.program || block.inverse,\n inverse = block.program && block.inverse,\n firstInverse = inverse,\n lastInverse = inverse;\n\n if (inverse && inverse.chained) {\n firstInverse = inverse.body[0].program;\n\n // Walk the inverse chain to find the last inverse that is actually in the chain.\n while (lastInverse.chained) {\n lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n }\n }\n\n var strip = {\n open: block.openStrip.open,\n close: block.closeStrip.close,\n\n // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n // so our parent can determine if we actually are standalone\n openStandalone: isNextWhitespace(program.body),\n closeStandalone: isPrevWhitespace((firstInverse || program).body)\n };\n\n if (block.openStrip.close) {\n omitRight(program.body, null, true);\n }\n\n if (inverse) {\n var inverseStrip = block.inverseStrip;\n\n if (inverseStrip.open) {\n omitLeft(program.body, null, true);\n }\n\n if (inverseStrip.close) {\n omitRight(firstInverse.body, null, true);\n }\n if (block.closeStrip.open) {\n omitLeft(lastInverse.body, null, true);\n }\n\n // Find standalone else statments\n if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n omitLeft(program.body);\n omitRight(firstInverse.body);\n }\n } else if (block.closeStrip.open) {\n omitLeft(program.body, null, true);\n }\n\n return strip;\n};\n\nWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n return mustache.strip;\n};\n\nWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n /* istanbul ignore next */\n var strip = node.strip || {};\n return {\n inlineStandalone: true,\n open: strip.open,\n close: strip.close\n };\n};\n\nfunction isPrevWhitespace(body, i, isRoot) {\n if (i === undefined) {\n i = body.length;\n }\n\n // Nodes that end with newlines are considered whitespace (but are special\n // cased for strip operations)\n var prev = body[i - 1],\n sibling = body[i - 2];\n if (!prev) {\n return isRoot;\n }\n\n if (prev.type === 'ContentStatement') {\n return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n }\n}\nfunction isNextWhitespace(body, i, isRoot) {\n if (i === undefined) {\n i = -1;\n }\n\n var next = body[i + 1],\n sibling = body[i + 2];\n if (!next) {\n return isRoot;\n }\n\n if (next.type === 'ContentStatement') {\n return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n }\n}\n\n// Marks the node to the right of the position as omitted.\n// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n//\n// If i is undefined, then the first child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\nfunction omitRight(body, i, multiple) {\n var current = body[i == null ? 0 : i + 1];\n if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n return;\n }\n\n var original = current.value;\n current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n current.rightStripped = current.value !== original;\n}\n\n// Marks the node to the left of the position as omitted.\n// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n//\n// If i is undefined then the last child will be marked as such.\n//\n// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n// content is met.\nfunction omitLeft(body, i, multiple) {\n var current = body[i == null ? body.length - 1 : i - 1];\n if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n return;\n }\n\n // We omit the last node if it's whitespace only and not preceded by a non-content node.\n var original = current.value;\n current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n current.leftStripped = current.value !== original;\n return current.leftStripped;\n}\n\nexports['default'] = WhitespaceControl;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL3doaXRlc3BhY2UtY29udHJvbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3VCQUFvQixXQUFXOzs7O0FBRS9CLFNBQVMsaUJBQWlCLEdBQWU7TUFBZCxPQUFPLHlEQUFHLEVBQUU7O0FBQ3JDLE1BQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0NBQ3hCO0FBQ0QsaUJBQWlCLENBQUMsU0FBUyxHQUFHLDBCQUFhLENBQUM7O0FBRTVDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDdEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDOztBQUVwRCxNQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7QUFDOUIsTUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7O0FBRXZCLE1BQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDeEIsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMzQyxRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25CLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUUvQixRQUFJLENBQUMsS0FBSyxFQUFFO0FBQ1YsZUFBUztLQUNWOztBQUVELFFBQUksaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkQsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDckQsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksaUJBQWlCO1FBQzFE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QUFDLE9BQU8sSUFDUixPQUFPLENBQUMsSUFBSSxLQUFLLGtCQUFrQixJQUNsQyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsWUFBWSxBQUFDLEVBQ25DO0FBQ0EsV0FBTztHQUNSOzs7QUFHRCxNQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzdCLFNBQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekUsU0FBTyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNsRCxTQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7Q0FDN0I7O3FCQUVjLGlCQUFpQiIsImZpbGUiOiJ3aGl0ZXNwYWNlLWNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVmlzaXRvciBmcm9tICcuL3Zpc2l0b3InO1xuXG5mdW5jdGlvbiBXaGl0ZXNwYWNlQ29udHJvbChvcHRpb25zID0ge30pIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbn1cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZSA9IG5ldyBWaXNpdG9yKCk7XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5Qcm9ncmFtID0gZnVuY3Rpb24ocHJvZ3JhbSkge1xuICBjb25zdCBkb1N0YW5kYWxvbmUgPSAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmU7XG5cbiAgbGV0IGlzUm9vdCA9ICF0aGlzLmlzUm9vdFNlZW47XG4gIHRoaXMuaXNSb290U2VlbiA9IHRydWU7XG5cbiAgbGV0IGJvZHkgPSBwcm9ncmFtLmJvZHk7XG4gIGZvciAobGV0IGkgPSAwLCBsID0gYm9keS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgY3VycmVudCA9IGJvZHlbaV0sXG4gICAgICBzdHJpcCA9IHRoaXMuYWNjZXB0KGN1cnJlbnQpO1xuXG4gICAgaWYgKCFzdHJpcCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgbGV0IF9pc1ByZXZXaGl0ZXNwYWNlID0gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpLFxuICAgICAgX2lzTmV4dFdoaXRlc3BhY2UgPSBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCksXG4gICAgICBvcGVuU3RhbmRhbG9uZSA9IHN0cmlwLm9wZW5TdGFuZGFsb25lICYmIF9pc1ByZXZXaGl0ZXNwYWNlLFxuICAgICAgY2xvc2VTdGFuZGFsb25lID0gc3RyaXAuY2xvc2VTdGFuZGFsb25lICYmIF9pc05leHRXaGl0ZXNwYWNlLFxuICAgICAgaW5saW5lU3RhbmRhbG9uZSA9XG4gICAgICAgIHN0cmlwLmlubGluZVN0YW5kYWxvbmUgJiYgX2lzUHJldldoaXRlc3BhY2UgJiYgX2lzTmV4dFdoaXRlc3BhY2U7XG5cbiAgICBpZiAoc3RyaXAuY2xvc2UpIHtcbiAgICAgIG9taXRSaWdodChib2R5LCBpLCB0cnVlKTtcbiAgICB9XG4gICAgaWYgKHN0cmlwLm9wZW4pIHtcbiAgICAgIG9taXRMZWZ0KGJvZHksIGksIHRydWUpO1xuICAgIH1cblxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgaW5saW5lU3RhbmRhbG9uZSkge1xuICAgICAgb21pdFJpZ2h0KGJvZHksIGkpO1xuXG4gICAgICBpZiAob21pdExlZnQoYm9keSwgaSkpIHtcbiAgICAgICAgLy8gSWYgd2UgYXJlIG9uIGEgc3RhbmRhbG9uZSBub2RlLCBzYXZlIHRoZSBpbmRlbnQgaW5mbyBmb3IgcGFydGlhbHNcbiAgICAgICAgaWYgKGN1cnJlbnQudHlwZSA9PT0gJ1BhcnRpYWxTdGF0ZW1lbnQnKSB7XG4gICAgICAgICAgLy8gUHVsbCBvdXQgdGhlIHdoaXRlc3BhY2UgZnJvbSB0aGUgZmluYWwgbGluZVxuICAgICAgICAgIGN1cnJlbnQuaW5kZW50ID0gLyhbIFxcdF0rJCkvLmV4ZWMoYm9keVtpIC0gMV0ub3JpZ2luYWwpWzFdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChkb1N0YW5kYWxvbmUgJiYgb3BlblN0YW5kYWxvbmUpIHtcbiAgICAgIG9taXRSaWdodCgoY3VycmVudC5wcm9ncmFtIHx8IGN1cnJlbnQuaW52ZXJzZSkuYm9keSk7XG5cbiAgICAgIC8vIFN0cmlwIG91dCB0aGUgcHJldmlvdXMgY29udGVudCBub2RlIGlmIGl0J3Mgd2hpdGVzcGFjZSBvbmx5XG4gICAgICBvbWl0TGVmdChib2R5LCBpKTtcbiAgICB9XG4gICAgaWYgKGRvU3RhbmRhbG9uZSAmJiBjbG9zZVN0YW5kYWxvbmUpIHtcbiAgICAgIC8vIEFsd2F5cyBzdHJpcCB0aGUgbmV4dCBub2RlXG4gICAgICBvbWl0UmlnaHQoYm9keSwgaSk7XG5cbiAgICAgIG9taXRMZWZ0KChjdXJyZW50LmludmVyc2UgfHwgY3VycmVudC5wcm9ncmFtKS5ib2R5KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvZ3JhbTtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5CbG9ja1N0YXRlbWVudCA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5EZWNvcmF0b3JCbG9jayA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsQmxvY2tTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgYmxvY2tcbikge1xuICB0aGlzLmFjY2VwdChibG9jay5wcm9ncmFtKTtcbiAgdGhpcy5hY2NlcHQoYmxvY2suaW52ZXJzZSk7XG5cbiAgLy8gRmluZCB0aGUgaW52ZXJzZSBwcm9ncmFtIHRoYXQgaXMgaW52b2xlZCB3aXRoIHdoaXRlc3BhY2Ugc3RyaXBwaW5nLlxuICBsZXQgcHJvZ3JhbSA9IGJsb2NrLnByb2dyYW0gfHwgYmxvY2suaW52ZXJzZSxcbiAgICBpbnZlcnNlID0gYmxvY2sucHJvZ3JhbSAmJiBibG9jay5pbnZlcnNlLFxuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UsXG4gICAgbGFzdEludmVyc2UgPSBpbnZlcnNlO1xuXG4gIGlmIChpbnZlcnNlICYmIGludmVyc2UuY2hhaW5lZCkge1xuICAgIGZpcnN0SW52ZXJzZSA9IGludmVyc2UuYm9keVswXS5wcm9ncmFtO1xuXG4gICAgLy8gV2FsayB0aGUgaW52ZXJzZSBjaGFpbiB0byBmaW5kIHRoZSBsYXN0IGludmVyc2UgdGhhdCBpcyBhY3R1YWxseSBpbiB0aGUgY2hhaW4uXG4gICAgd2hpbGUgKGxhc3RJbnZlcnNlLmNoYWluZWQpIHtcbiAgICAgIGxhc3RJbnZlcnNlID0gbGFzdEludmVyc2UuYm9keVtsYXN0SW52ZXJzZS5ib2R5Lmxlbmd0aCAtIDFdLnByb2dyYW07XG4gICAgfVxuICB9XG5cbiAgbGV0IHN0cmlwID0ge1xuICAgIG9wZW46IGJsb2NrLm9wZW5TdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBibG9jay5jbG9zZVN0cmlwLmNsb3NlLFxuXG4gICAgLy8gRGV0ZXJtaW5lIHRoZSBzdGFuZGFsb25lIGNhbmRpYWN5LiBCYXNpY2FsbHkgZmxhZyBvdXIgY29udGVudCBhcyBiZWluZyBwb3NzaWJseSBzdGFuZGFsb25lXG4gICAgLy8gc28gb3VyIHBhcmVudCBjYW4gZGV0ZXJtaW5lIGlmIHdlIGFjdHVhbGx5IGFyZSBzdGFuZGFsb25lXG4gICAgb3BlblN0YW5kYWxvbmU6IGlzTmV4dFdoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSxcbiAgICBjbG9zZVN0YW5kYWxvbmU6IGlzUHJldldoaXRlc3BhY2UoKGZpcnN0SW52ZXJzZSB8fCBwcm9ncmFtKS5ib2R5KVxuICB9O1xuXG4gIGlmIChibG9jay5vcGVuU3RyaXAuY2xvc2UpIHtcbiAgICBvbWl0UmlnaHQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChpbnZlcnNlKSB7XG4gICAgbGV0IGludmVyc2VTdHJpcCA9IGJsb2NrLmludmVyc2VTdHJpcDtcblxuICAgIGlmIChpbnZlcnNlU3RyaXAub3Blbikge1xuICAgICAgb21pdExlZnQocHJvZ3JhbS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAoaW52ZXJzZVN0cmlwLmNsb3NlKSB7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHksIG51bGwsIHRydWUpO1xuICAgIH1cbiAgICBpZiAoYmxvY2suY2xvc2VTdHJpcC5vcGVuKSB7XG4gICAgICBvbWl0TGVmdChsYXN0SW52ZXJzZS5ib2R5LCBudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBGaW5kIHN0YW5kYWxvbmUgZWxzZSBzdGF0bWVudHNcbiAgICBpZiAoXG4gICAgICAhdGhpcy5vcHRpb25zLmlnbm9yZVN0YW5kYWxvbmUgJiZcbiAgICAgIGlzUHJldldoaXRlc3BhY2UocHJvZ3JhbS5ib2R5KSAmJlxuICAgICAgaXNOZXh0V2hpdGVzcGFjZShmaXJzdEludmVyc2UuYm9keSlcbiAgICApIHtcbiAgICAgIG9taXRMZWZ0KHByb2dyYW0uYm9keSk7XG4gICAgICBvbWl0UmlnaHQoZmlyc3RJbnZlcnNlLmJvZHkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChibG9jay5jbG9zZVN0cmlwLm9wZW4pIHtcbiAgICBvbWl0TGVmdChwcm9ncmFtLmJvZHksIG51bGwsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHN0cmlwO1xufTtcblxuV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkRlY29yYXRvciA9IFdoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudCA9IGZ1bmN0aW9uKFxuICBtdXN0YWNoZVxuKSB7XG4gIHJldHVybiBtdXN0YWNoZS5zdHJpcDtcbn07XG5cbldoaXRlc3BhY2VDb250cm9sLnByb3RvdHlwZS5QYXJ0aWFsU3RhdGVtZW50ID0gV2hpdGVzcGFjZUNvbnRyb2wucHJvdG90eXBlLkNvbW1lbnRTdGF0ZW1lbnQgPSBmdW5jdGlvbihcbiAgbm9kZVxuKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCBzdHJpcCA9IG5vZGUuc3RyaXAgfHwge307XG4gIHJldHVybiB7XG4gICAgaW5saW5lU3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBvcGVuOiBzdHJpcC5vcGVuLFxuICAgIGNsb3NlOiBzdHJpcC5jbG9zZVxuICB9O1xufTtcblxuZnVuY3Rpb24gaXNQcmV2V2hpdGVzcGFjZShib2R5LCBpLCBpc1Jvb3QpIHtcbiAgaWYgKGkgPT09IHVuZGVmaW5lZCkge1xuICAgIGkgPSBib2R5Lmxlbmd0aDtcbiAgfVxuXG4gIC8vIE5vZGVzIHRoYXQgZW5kIHdpdGggbmV3bGluZXMgYXJlIGNvbnNpZGVyZWQgd2hpdGVzcGFjZSAoYnV0IGFyZSBzcGVjaWFsXG4gIC8vIGNhc2VkIGZvciBzdHJpcCBvcGVyYXRpb25zKVxuICBsZXQgcHJldiA9IGJvZHlbaSAtIDFdLFxuICAgIHNpYmxpbmcgPSBib2R5W2kgLSAyXTtcbiAgaWYgKCFwcmV2KSB7XG4gICAgcmV0dXJuIGlzUm9vdDtcbiAgfVxuXG4gIGlmIChwcmV2LnR5cGUgPT09ICdDb250ZW50U3RhdGVtZW50Jykge1xuICAgIHJldHVybiAoc2libGluZyB8fCAhaXNSb290ID8gL1xccj9cXG5cXHMqPyQvIDogLyhefFxccj9cXG4pXFxzKj8kLykudGVzdChcbiAgICAgIHByZXYub3JpZ2luYWxcbiAgICApO1xuICB9XG59XG5mdW5jdGlvbiBpc05leHRXaGl0ZXNwYWNlKGJvZHksIGksIGlzUm9vdCkge1xuICBpZiAoaSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaSA9IC0xO1xuICB9XG5cbiAgbGV0IG5leHQgPSBib2R5W2kgKyAxXSxcbiAgICBzaWJsaW5nID0gYm9keVtpICsgMl07XG4gIGlmICghbmV4dCkge1xuICAgIHJldHVybiBpc1Jvb3Q7XG4gIH1cblxuICBpZiAobmV4dC50eXBlID09PSAnQ29udGVudFN0YXRlbWVudCcpIHtcbiAgICByZXR1cm4gKHNpYmxpbmcgfHwgIWlzUm9vdCA/IC9eXFxzKj9cXHI/XFxuLyA6IC9eXFxzKj8oXFxyP1xcbnwkKS8pLnRlc3QoXG4gICAgICBuZXh0Lm9yaWdpbmFsXG4gICAgKTtcbiAgfVxufVxuXG4vLyBNYXJrcyB0aGUgbm9kZSB0byB0aGUgcmlnaHQgb2YgdGhlIHBvc2l0aW9uIGFzIG9taXR0ZWQuXG4vLyBJLmUuIHt7Zm9vfX0nICcgd2lsbCBtYXJrIHRoZSAnICcgbm9kZSBhcyBvbWl0dGVkLlxuLy9cbi8vIElmIGkgaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmaXJzdCBjaGlsZCB3aWxsIGJlIG1hcmtlZCBhcyBzdWNoLlxuLy9cbi8vIElmIG11bGl0cGxlIGlzIHRydXRoeSB0aGVuIGFsbCB3aGl0ZXNwYWNlIHdpbGwgYmUgc3RyaXBwZWQgb3V0IHVudGlsIG5vbi13aGl0ZXNwYWNlXG4vLyBjb250ZW50IGlzIG1ldC5cbmZ1bmN0aW9uIG9taXRSaWdodChib2R5LCBpLCBtdWx0aXBsZSkge1xuICBsZXQgY3VycmVudCA9IGJvZHlbaSA9PSBudWxsID8gMCA6IGkgKyAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQucmlnaHRTdHJpcHBlZClcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IG9yaWdpbmFsID0gY3VycmVudC52YWx1ZTtcbiAgY3VycmVudC52YWx1ZSA9IGN1cnJlbnQudmFsdWUucmVwbGFjZShcbiAgICBtdWx0aXBsZSA/IC9eXFxzKy8gOiAvXlsgXFx0XSpcXHI/XFxuPy8sXG4gICAgJydcbiAgKTtcbiAgY3VycmVudC5yaWdodFN0cmlwcGVkID0gY3VycmVudC52YWx1ZSAhPT0gb3JpZ2luYWw7XG59XG5cbi8vIE1hcmtzIHRoZSBub2RlIHRvIHRoZSBsZWZ0IG9mIHRoZSBwb3NpdGlvbiBhcyBvbWl0dGVkLlxuLy8gSS5lLiAnICd7e2Zvb319IHdpbGwgbWFyayB0aGUgJyAnIG5vZGUgYXMgb21pdHRlZC5cbi8vXG4vLyBJZiBpIGlzIHVuZGVmaW5lZCB0aGVuIHRoZSBsYXN0IGNoaWxkIHdpbGwgYmUgbWFya2VkIGFzIHN1Y2guXG4vL1xuLy8gSWYgbXVsaXRwbGUgaXMgdHJ1dGh5IHRoZW4gYWxsIHdoaXRlc3BhY2Ugd2lsbCBiZSBzdHJpcHBlZCBvdXQgdW50aWwgbm9uLXdoaXRlc3BhY2Vcbi8vIGNvbnRlbnQgaXMgbWV0LlxuZnVuY3Rpb24gb21pdExlZnQoYm9keSwgaSwgbXVsdGlwbGUpIHtcbiAgbGV0IGN1cnJlbnQgPSBib2R5W2kgPT0gbnVsbCA/IGJvZHkubGVuZ3RoIC0gMSA6IGkgLSAxXTtcbiAgaWYgKFxuICAgICFjdXJyZW50IHx8XG4gICAgY3VycmVudC50eXBlICE9PSAnQ29udGVudFN0YXRlbWVudCcgfHxcbiAgICAoIW11bHRpcGxlICYmIGN1cnJlbnQubGVmdFN0cmlwcGVkKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBXZSBvbWl0IHRoZSBsYXN0IG5vZGUgaWYgaXQncyB3aGl0ZXNwYWNlIG9ubHkgYW5kIG5vdCBwcmVjZWRlZCBieSBhIG5vbi1jb250ZW50IG5vZGUuXG4gIGxldCBvcmlnaW5hbCA9IGN1cnJlbnQudmFsdWU7XG4gIGN1cnJlbnQudmFsdWUgPSBjdXJyZW50LnZhbHVlLnJlcGxhY2UobXVsdGlwbGUgPyAvXFxzKyQvIDogL1sgXFx0XSskLywgJycpO1xuICBjdXJyZW50LmxlZnRTdHJpcHBlZCA9IGN1cnJlbnQudmFsdWUgIT09IG9yaWdpbmFsO1xuICByZXR1cm4gY3VycmVudC5sZWZ0U3RyaXBwZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFdoaXRlc3BhY2VDb250cm9sO1xuIl19\n","'use strict';\n\nexports.__esModule = true;\nexports.SourceLocation = SourceLocation;\nexports.id = id;\nexports.stripFlags = stripFlags;\nexports.stripComment = stripComment;\nexports.preparePath = preparePath;\nexports.prepareMustache = prepareMustache;\nexports.prepareRawBlock = prepareRawBlock;\nexports.prepareBlock = prepareBlock;\nexports.prepareProgram = prepareProgram;\nexports.preparePartialBlock = preparePartialBlock;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nfunction validateClose(open, close) {\n close = close.path ? close.path.original : close;\n\n if (open.path.original !== close) {\n var errorNode = { loc: open.path.loc };\n\n throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n }\n}\n\nfunction SourceLocation(source, locInfo) {\n this.source = source;\n this.start = {\n line: locInfo.first_line,\n column: locInfo.first_column\n };\n this.end = {\n line: locInfo.last_line,\n column: locInfo.last_column\n };\n}\n\nfunction id(token) {\n if (/^\\[.*\\]$/.test(token)) {\n return token.substring(1, token.length - 1);\n } else {\n return token;\n }\n}\n\nfunction stripFlags(open, close) {\n return {\n open: open.charAt(2) === '~',\n close: close.charAt(close.length - 3) === '~'\n };\n}\n\nfunction stripComment(comment) {\n return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n}\n\nfunction preparePath(data, parts, loc) {\n loc = this.locInfo(loc);\n\n var original = data ? '@' : '',\n dig = [],\n depth = 0;\n\n for (var i = 0, l = parts.length; i < l; i++) {\n var part = parts[i].part,\n\n // If we have [] syntax then we do not treat path references as operators,\n // i.e. foo.[this] resolves to approximately context.foo['this']\n isLiteral = parts[i].original !== part;\n original += (parts[i].separator || '') + part;\n\n if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n if (dig.length > 0) {\n throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n } else if (part === '..') {\n depth++;\n }\n } else {\n dig.push(part);\n }\n }\n\n return {\n type: 'PathExpression',\n data: data,\n depth: depth,\n parts: dig,\n original: original,\n loc: loc\n };\n}\n\nfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n // Must use charAt to support IE pre-10\n var escapeFlag = open.charAt(3) || open.charAt(2),\n escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\n var decorator = /\\*/.test(open);\n return {\n type: decorator ? 'Decorator' : 'MustacheStatement',\n path: path,\n params: params,\n hash: hash,\n escaped: escaped,\n strip: strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n validateClose(openRawBlock, close);\n\n locInfo = this.locInfo(locInfo);\n var program = {\n type: 'Program',\n body: contents,\n strip: {},\n loc: locInfo\n };\n\n return {\n type: 'BlockStatement',\n path: openRawBlock.path,\n params: openRawBlock.params,\n hash: openRawBlock.hash,\n program: program,\n openStrip: {},\n inverseStrip: {},\n closeStrip: {},\n loc: locInfo\n };\n}\n\nfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n if (close && close.path) {\n validateClose(openBlock, close);\n }\n\n var decorator = /\\*/.test(openBlock.open);\n\n program.blockParams = openBlock.blockParams;\n\n var inverse = undefined,\n inverseStrip = undefined;\n\n if (inverseAndProgram) {\n if (decorator) {\n throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n }\n\n if (inverseAndProgram.chain) {\n inverseAndProgram.program.body[0].closeStrip = close.strip;\n }\n\n inverseStrip = inverseAndProgram.strip;\n inverse = inverseAndProgram.program;\n }\n\n if (inverted) {\n inverted = inverse;\n inverse = program;\n program = inverted;\n }\n\n return {\n type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n path: openBlock.path,\n params: openBlock.params,\n hash: openBlock.hash,\n program: program,\n inverse: inverse,\n openStrip: openBlock.strip,\n inverseStrip: inverseStrip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}\n\nfunction prepareProgram(statements, loc) {\n if (!loc && statements.length) {\n var firstLoc = statements[0].loc,\n lastLoc = statements[statements.length - 1].loc;\n\n /* istanbul ignore else */\n if (firstLoc && lastLoc) {\n loc = {\n source: firstLoc.source,\n start: {\n line: firstLoc.start.line,\n column: firstLoc.start.column\n },\n end: {\n line: lastLoc.end.line,\n column: lastLoc.end.column\n }\n };\n }\n }\n\n return {\n type: 'Program',\n body: statements,\n strip: {},\n loc: loc\n };\n}\n\nfunction preparePartialBlock(open, program, close, locInfo) {\n validateClose(open, close);\n\n return {\n type: 'PartialBlockStatement',\n name: open.path,\n params: open.params,\n hash: open.hash,\n program: program,\n openStrip: open.strip,\n closeStrip: close && close.strip,\n loc: this.locInfo(locInfo)\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7eUJBQXNCLGNBQWM7Ozs7QUFFcEMsU0FBUyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtBQUNsQyxPQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7O0FBRWpELE1BQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO0FBQ2hDLFFBQUksU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7O0FBRXZDLFVBQU0sMkJBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsS0FBSyxFQUM5QyxTQUFTLENBQ1YsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRTtBQUM5QyxNQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUNyQixNQUFJLENBQUMsS0FBSyxHQUFHO0FBQ1gsUUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0FBQ3hCLFVBQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtHQUM3QixDQUFDO0FBQ0YsTUFBSSxDQUFDLEdBQUcsR0FBRztBQUNULFFBQUksRUFBRSxPQUFPLENBQUMsU0FBUztBQUN2QixVQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVc7R0FDNUIsQ0FBQztDQUNIOztBQUVNLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRTtBQUN4QixNQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDMUIsV0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQzdD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R0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7OztBQUdsRCxRQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUU7QUFDdkIsU0FBRyxHQUFHO0FBQ0osY0FBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0FBQ3ZCLGFBQUssRUFBRTtBQUNMLGNBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUk7QUFDekIsZ0JBQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU07U0FDOUI7QUFDRCxXQUFHLEVBQUU7QUFDSCxjQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0FBQ3RCLGdCQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1NBQzNCO09BQ0YsQ0FBQztLQUNIO0dBQ0Y7O0FBRUQsU0FBTztBQUNMLFFBQUksRUFBRSxTQUFTO0FBQ2YsUUFBSSxFQUFFLFVBQVU7QUFDaEIsU0FBSyxFQUFFLEVBQUU7QUFDVCxPQUFHLEVBQUUsR0FBRztHQUNULENBQUM7Q0FDSDs7QUFFTSxTQUFTLG1CQUFtQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUNqRSxlQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDOztBQUUzQixTQUFPO0FBQ0wsUUFBSSxFQUFFLHVCQUF1QjtBQUM3QixRQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7QUFDZixVQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07QUFDbkIsUUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0FBQ2YsV0FBTyxFQUFQLE9BQU87QUFDUCxhQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7QUFDckIsY0FBVSxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztBQUNoQyxPQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7R0FDM0IsQ0FBQztDQUNIIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpIHtcbiAgY2xvc2UgPSBjbG9zZS5wYXRoID8gY2xvc2UucGF0aC5vcmlnaW5hbCA6IGNsb3NlO1xuXG4gIGlmIChvcGVuLnBhdGgub3JpZ2luYWwgIT09IGNsb3NlKSB7XG4gICAgbGV0IGVycm9yTm9kZSA9IHsgbG9jOiBvcGVuLnBhdGgubG9jIH07XG5cbiAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgb3Blbi5wYXRoLm9yaWdpbmFsICsgXCIgZG9lc24ndCBtYXRjaCBcIiArIGNsb3NlLFxuICAgICAgZXJyb3JOb2RlXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU291cmNlTG9jYXRpb24oc291cmNlLCBsb2NJbmZvKSB7XG4gIHRoaXMuc291cmNlID0gc291cmNlO1xuICB0aGlzLnN0YXJ0ID0ge1xuICAgIGxpbmU6IGxvY0luZm8uZmlyc3RfbGluZSxcbiAgICBjb2x1bW46IGxvY0luZm8uZmlyc3RfY29sdW1uXG4gIH07XG4gIHRoaXMuZW5kID0ge1xuICAgIGxpbmU6IGxvY0luZm8ubGFzdF9saW5lLFxuICAgIGNvbHVtbjogbG9jSW5mby5sYXN0X2NvbHVtblxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWQodG9rZW4pIHtcbiAgaWYgKC9eXFxbLipcXF0kLy50ZXN0KHRva2VuKSkge1xuICAgIHJldHVybiB0b2tlbi5zdWJzdHJpbmcoMSwgdG9rZW4ubGVuZ3RoIC0gMSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpcEZsYWdzKG9wZW4sIGNsb3NlKSB7XG4gIHJldHVybiB7XG4gICAgb3Blbjogb3Blbi5jaGFyQXQoMikgPT09ICd+JyxcbiAgICBjbG9zZTogY2xvc2UuY2hhckF0KGNsb3NlLmxlbmd0aCAtIDMpID09PSAnfidcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmlwQ29tbWVudChjb21tZW50KSB7XG4gIHJldHVybiBjb21tZW50LnJlcGxhY2UoL15cXHtcXHt+PyEtPy0/LywgJycpLnJlcGxhY2UoLy0/LT9+P1xcfVxcfSQvLCAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGF0aChkYXRhLCBwYXJ0cywgbG9jKSB7XG4gIGxvYyA9IHRoaXMubG9jSW5mbyhsb2MpO1xuXG4gIGxldCBvcmlnaW5hbCA9IGRhdGEgPyAnQCcgOiAnJyxcbiAgICBkaWcgPSBbXSxcbiAgICBkZXB0aCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBsZXQgcGFydCA9IHBhcnRzW2ldLnBhcnQsXG4gICAgICAvLyBJZiB3ZSBoYXZlIFtdIHN5bnRheCB0aGVuIHdlIGRvIG5vdCB0cmVhdCBwYXRoIHJlZmVyZW5jZXMgYXMgb3BlcmF0b3JzLFxuICAgICAgLy8gaS5lLiBmb28uW3RoaXNdIHJlc29sdmVzIHRvIGFwcHJveGltYXRlbHkgY29udGV4dC5mb29bJ3RoaXMnXVxuICAgICAgaXNMaXRlcmFsID0gcGFydHNbaV0ub3JpZ2luYWwgIT09IHBhcnQ7XG4gICAgb3JpZ2luYWwgKz0gKHBhcnRzW2ldLnNlcGFyYXRvciB8fCAnJykgKyBwYXJ0O1xuXG4gICAgaWYgKCFpc0xpdGVyYWwgJiYgKHBhcnQgPT09ICcuLicgfHwgcGFydCA9PT0gJy4nIHx8IHBhcnQgPT09ICd0aGlzJykpIHtcbiAgICAgIGlmIChkaWcubGVuZ3RoID4gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHBhdGg6ICcgKyBvcmlnaW5hbCwgeyBsb2MgfSk7XG4gICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHtcbiAgICAgICAgZGVwdGgrKztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGlnLnB1c2gocGFydCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnUGF0aEV4cHJlc3Npb24nLFxuICAgIGRhdGEsXG4gICAgZGVwdGgsXG4gICAgcGFydHM6IGRpZyxcbiAgICBvcmlnaW5hbCxcbiAgICBsb2NcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVNdXN0YWNoZShwYXRoLCBwYXJhbXMsIGhhc2gsIG9wZW4sIHN0cmlwLCBsb2NJbmZvKSB7XG4gIC8vIE11c3QgdXNlIGNoYXJBdCB0byBzdXBwb3J0IElFIHByZS0xMFxuICBsZXQgZXNjYXBlRmxhZyA9IG9wZW4uY2hhckF0KDMpIHx8IG9wZW4uY2hhckF0KDIpLFxuICAgIGVzY2FwZWQgPSBlc2NhcGVGbGFnICE9PSAneycgJiYgZXNjYXBlRmxhZyAhPT0gJyYnO1xuXG4gIGxldCBkZWNvcmF0b3IgPSAvXFwqLy50ZXN0KG9wZW4pO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3InIDogJ011c3RhY2hlU3RhdGVtZW50JyxcbiAgICBwYXRoLFxuICAgIHBhcmFtcyxcbiAgICBoYXNoLFxuICAgIGVzY2FwZWQsXG4gICAgc3RyaXAsXG4gICAgbG9jOiB0aGlzLmxvY0luZm8obG9jSW5mbylcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVSYXdCbG9jayhvcGVuUmF3QmxvY2ssIGNvbnRlbnRzLCBjbG9zZSwgbG9jSW5mbykge1xuICB2YWxpZGF0ZUNsb3NlKG9wZW5SYXdCbG9jaywgY2xvc2UpO1xuXG4gIGxvY0luZm8gPSB0aGlzLmxvY0luZm8obG9jSW5mbyk7XG4gIGxldCBwcm9ncmFtID0ge1xuICAgIHR5cGU6ICdQcm9ncmFtJyxcbiAgICBib2R5OiBjb250ZW50cyxcbiAgICBzdHJpcDoge30sXG4gICAgbG9jOiBsb2NJbmZvXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5SYXdCbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlblJhd0Jsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuUmF3QmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIG9wZW5TdHJpcDoge30sXG4gICAgaW52ZXJzZVN0cmlwOiB7fSxcbiAgICBjbG9zZVN0cmlwOiB7fSxcbiAgICBsb2M6IGxvY0luZm9cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVCbG9jayhcbiAgb3BlbkJsb2NrLFxuICBwcm9ncmFtLFxuICBpbnZlcnNlQW5kUHJvZ3JhbSxcbiAgY2xvc2UsXG4gIGludmVydGVkLFxuICBsb2NJbmZvXG4pIHtcbiAgaWYgKGNsb3NlICYmIGNsb3NlLnBhdGgpIHtcbiAgICB2YWxpZGF0ZUNsb3NlKG9wZW5CbG9jaywgY2xvc2UpO1xuICB9XG5cbiAgbGV0IGRlY29yYXRvciA9IC9cXCovLnRlc3Qob3BlbkJsb2NrLm9wZW4pO1xuXG4gIHByb2dyYW0uYmxvY2tQYXJhbXMgPSBvcGVuQmxvY2suYmxvY2tQYXJhbXM7XG5cbiAgbGV0IGludmVyc2UsIGludmVyc2VTdHJpcDtcblxuICBpZiAoaW52ZXJzZUFuZFByb2dyYW0pIHtcbiAgICBpZiAoZGVjb3JhdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKFxuICAgICAgICAnVW5leHBlY3RlZCBpbnZlcnNlIGJsb2NrIG9uIGRlY29yYXRvcicsXG4gICAgICAgIGludmVyc2VBbmRQcm9ncmFtXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnZlcnNlQW5kUHJvZ3JhbS5jaGFpbikge1xuICAgICAgaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbS5ib2R5WzBdLmNsb3NlU3RyaXAgPSBjbG9zZS5zdHJpcDtcbiAgICB9XG5cbiAgICBpbnZlcnNlU3RyaXAgPSBpbnZlcnNlQW5kUHJvZ3JhbS5zdHJpcDtcbiAgICBpbnZlcnNlID0gaW52ZXJzZUFuZFByb2dyYW0ucHJvZ3JhbTtcbiAgfVxuXG4gIGlmIChpbnZlcnRlZCkge1xuICAgIGludmVydGVkID0gaW52ZXJzZTtcbiAgICBpbnZlcnNlID0gcHJvZ3JhbTtcbiAgICBwcm9ncmFtID0gaW52ZXJ0ZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRlY29yYXRvciA/ICdEZWNvcmF0b3JCbG9jaycgOiAnQmxvY2tTdGF0ZW1lbnQnLFxuICAgIHBhdGg6IG9wZW5CbG9jay5wYXRoLFxuICAgIHBhcmFtczogb3BlbkJsb2NrLnBhcmFtcyxcbiAgICBoYXNoOiBvcGVuQmxvY2suaGFzaCxcbiAgICBwcm9ncmFtLFxuICAgIGludmVyc2UsXG4gICAgb3BlblN0cmlwOiBvcGVuQmxvY2suc3RyaXAsXG4gICAgaW52ZXJzZVN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUHJvZ3JhbShzdGF0ZW1lbnRzLCBsb2MpIHtcbiAgaWYgKCFsb2MgJiYgc3RhdGVtZW50cy5sZW5ndGgpIHtcbiAgICBjb25zdCBmaXJzdExvYyA9IHN0YXRlbWVudHNbMF0ubG9jLFxuICAgICAgbGFzdExvYyA9IHN0YXRlbWVudHNbc3RhdGVtZW50cy5sZW5ndGggLSAxXS5sb2M7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChmaXJzdExvYyAmJiBsYXN0TG9jKSB7XG4gICAgICBsb2MgPSB7XG4gICAgICAgIHNvdXJjZTogZmlyc3RMb2Muc291cmNlLFxuICAgICAgICBzdGFydDoge1xuICAgICAgICAgIGxpbmU6IGZpcnN0TG9jLnN0YXJ0LmxpbmUsXG4gICAgICAgICAgY29sdW1uOiBmaXJzdExvYy5zdGFydC5jb2x1bW5cbiAgICAgICAgfSxcbiAgICAgICAgZW5kOiB7XG4gICAgICAgICAgbGluZTogbGFzdExvYy5lbmQubGluZSxcbiAgICAgICAgICBjb2x1bW46IGxhc3RMb2MuZW5kLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1Byb2dyYW0nLFxuICAgIGJvZHk6IHN0YXRlbWVudHMsXG4gICAgc3RyaXA6IHt9LFxuICAgIGxvYzogbG9jXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUGFydGlhbEJsb2NrKG9wZW4sIHByb2dyYW0sIGNsb3NlLCBsb2NJbmZvKSB7XG4gIHZhbGlkYXRlQ2xvc2Uob3BlbiwgY2xvc2UpO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ1BhcnRpYWxCbG9ja1N0YXRlbWVudCcsXG4gICAgbmFtZTogb3Blbi5wYXRoLFxuICAgIHBhcmFtczogb3Blbi5wYXJhbXMsXG4gICAgaGFzaDogb3Blbi5oYXNoLFxuICAgIHByb2dyYW0sXG4gICAgb3BlblN0cmlwOiBvcGVuLnN0cmlwLFxuICAgIGNsb3NlU3RyaXA6IGNsb3NlICYmIGNsb3NlLnN0cmlwLFxuICAgIGxvYzogdGhpcy5sb2NJbmZvKGxvY0luZm8pXG4gIH07XG59XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\nexports.parseWithoutProcessing = parseWithoutProcessing;\nexports.parse = parse;\n// istanbul ignore next\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _parser = require('./parser');\n\nvar _parser2 = _interopRequireDefault(_parser);\n\nvar _whitespaceControl = require('./whitespace-control');\n\nvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\nvar _helpers = require('./helpers');\n\nvar Helpers = _interopRequireWildcard(_helpers);\n\nvar _utils = require('../utils');\n\nexports.parser = _parser2['default'];\n\nvar yy = {};\n_utils.extend(yy, Helpers);\n\nfunction parseWithoutProcessing(input, options) {\n // Just return if an already-compiled AST was passed in.\n if (input.type === 'Program') {\n return input;\n }\n\n _parser2['default'].yy = yy;\n\n // Altering the shared object here, but this is ok as parser is a sync operation\n yy.locInfo = function (locInfo) {\n return new yy.SourceLocation(options && options.srcName, locInfo);\n };\n\n var ast = _parser2['default'].parse(input);\n\n return ast;\n}\n\nfunction parse(input, options) {\n var ast = parseWithoutProcessing(input, options);\n var strip = new _whitespaceControl2['default'](options);\n\n return strip.accept(ast);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztzQkFBbUIsVUFBVTs7OztpQ0FDQyxzQkFBc0I7Ozs7dUJBQzNCLFdBQVc7O0lBQXhCLE9BQU87O3FCQUNJLFVBQVU7O1FBRXhCLE1BQU07O0FBRWYsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ1osY0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRWIsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFOztBQUVyRCxNQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO0FBQzVCLFdBQU8sS0FBSyxDQUFDO0dBQ2Q7O0FBRUQsc0JBQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQzs7O0FBR2YsSUFBRSxDQUFDLE9BQU8sR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM3QixXQUFPLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNuRSxDQUFDOztBQUVGLE1BQUksR0FBRyxHQUFHLG9CQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFFOUIsU0FBTyxHQUFHLENBQUM7Q0FDWjs7QUFFTSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLE1BQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRCxNQUFJLEtBQUssR0FBRyxtQ0FBc0IsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFNBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJiYXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhcnNlciBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgV2hpdGVzcGFjZUNvbnRyb2wgZnJvbSAnLi93aGl0ZXNwYWNlLWNvbnRyb2wnO1xuaW1wb3J0ICogYXMgSGVscGVycyBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgeyBwYXJzZXIgfTtcblxubGV0IHl5ID0ge307XG5leHRlbmQoeXksIEhlbHBlcnMpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VXaXRob3V0UHJvY2Vzc2luZyhpbnB1dCwgb3B0aW9ucykge1xuICAvLyBKdXN0IHJldHVybiBpZiBhbiBhbHJlYWR5LWNvbXBpbGVkIEFTVCB3YXMgcGFzc2VkIGluLlxuICBpZiAoaW5wdXQudHlwZSA9PT0gJ1Byb2dyYW0nKSB7XG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgcGFyc2VyLnl5ID0geXk7XG5cbiAgLy8gQWx0ZXJpbmcgdGhlIHNoYXJlZCBvYmplY3QgaGVyZSwgYnV0IHRoaXMgaXMgb2sgYXMgcGFyc2VyIGlzIGEgc3luYyBvcGVyYXRpb25cbiAgeXkubG9jSW5mbyA9IGZ1bmN0aW9uKGxvY0luZm8pIHtcbiAgICByZXR1cm4gbmV3IHl5LlNvdXJjZUxvY2F0aW9uKG9wdGlvbnMgJiYgb3B0aW9ucy5zcmNOYW1lLCBsb2NJbmZvKTtcbiAgfTtcblxuICBsZXQgYXN0ID0gcGFyc2VyLnBhcnNlKGlucHV0KTtcblxuICByZXR1cm4gYXN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoaW5wdXQsIG9wdGlvbnMpIHtcbiAgbGV0IGFzdCA9IHBhcnNlV2l0aG91dFByb2Nlc3NpbmcoaW5wdXQsIG9wdGlvbnMpO1xuICBsZXQgc3RyaXAgPSBuZXcgV2hpdGVzcGFjZUNvbnRyb2wob3B0aW9ucyk7XG5cbiAgcmV0dXJuIHN0cmlwLmFjY2VwdChhc3QpO1xufVxuIl19\n","/* eslint-disable new-cap */\n\n'use strict';\n\nexports.__esModule = true;\nexports.Compiler = Compiler;\nexports.precompile = precompile;\nexports.compile = compile;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _ast = require('./ast');\n\nvar _ast2 = _interopRequireDefault(_ast);\n\nvar slice = [].slice;\n\nfunction Compiler() {}\n\n// the foundHelper register will disambiguate helper lookup from finding a\n// function in a context. This is necessary for mustache compatibility, which\n// requires that context functions in blocks are evaluated by blockHelperMissing,\n// and then proceed as if the resulting value was provided to blockHelperMissing.\n\nCompiler.prototype = {\n compiler: Compiler,\n\n equals: function equals(other) {\n var len = this.opcodes.length;\n if (other.opcodes.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var opcode = this.opcodes[i],\n otherOpcode = other.opcodes[i];\n if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n return false;\n }\n }\n\n // We know that length is the same between the two arrays because they are directly tied\n // to the opcode behavior above.\n len = this.children.length;\n for (var i = 0; i < len; i++) {\n if (!this.children[i].equals(other.children[i])) {\n return false;\n }\n }\n\n return true;\n },\n\n guid: 0,\n\n compile: function compile(program, options) {\n this.sourceNode = [];\n this.opcodes = [];\n this.children = [];\n this.options = options;\n this.stringParams = options.stringParams;\n this.trackIds = options.trackIds;\n\n options.blockParams = options.blockParams || [];\n\n options.knownHelpers = _utils.extend(Object.create(null), {\n helperMissing: true,\n blockHelperMissing: true,\n each: true,\n 'if': true,\n unless: true,\n 'with': true,\n log: true,\n lookup: true\n }, options.knownHelpers);\n\n return this.accept(program);\n },\n\n compileProgram: function compileProgram(program) {\n var childCompiler = new this.compiler(),\n // eslint-disable-line new-cap\n result = childCompiler.compile(program, this.options),\n guid = this.guid++;\n\n this.usePartial = this.usePartial || result.usePartial;\n\n this.children[guid] = result;\n this.useDepths = this.useDepths || result.useDepths;\n\n return guid;\n },\n\n accept: function accept(node) {\n /* istanbul ignore next: Sanity code */\n if (!this[node.type]) {\n throw new _exception2['default']('Unknown type: ' + node.type, node);\n }\n\n this.sourceNode.unshift(node);\n var ret = this[node.type](node);\n this.sourceNode.shift();\n return ret;\n },\n\n Program: function Program(program) {\n this.options.blockParams.unshift(program.blockParams);\n\n var body = program.body,\n bodyLength = body.length;\n for (var i = 0; i < bodyLength; i++) {\n this.accept(body[i]);\n }\n\n this.options.blockParams.shift();\n\n this.isSimple = bodyLength === 1;\n this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\n return this;\n },\n\n BlockStatement: function BlockStatement(block) {\n transformLiteralToPath(block);\n\n var program = block.program,\n inverse = block.inverse;\n\n program = program && this.compileProgram(program);\n inverse = inverse && this.compileProgram(inverse);\n\n var type = this.classifySexpr(block);\n\n if (type === 'helper') {\n this.helperSexpr(block, program, inverse);\n } else if (type === 'simple') {\n this.simpleSexpr(block);\n\n // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('blockValue', block.path.original);\n } else {\n this.ambiguousSexpr(block, program, inverse);\n\n // now that the simple mustache is resolved, we need to\n // evaluate it by executing `blockHelperMissing`\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n this.opcode('emptyHash');\n this.opcode('ambiguousBlockValue');\n }\n\n this.opcode('append');\n },\n\n DecoratorBlock: function DecoratorBlock(decorator) {\n var program = decorator.program && this.compileProgram(decorator.program);\n var params = this.setupFullMustacheParams(decorator, program, undefined),\n path = decorator.path;\n\n this.useDecorators = true;\n this.opcode('registerDecorator', params.length, path.original);\n },\n\n PartialStatement: function PartialStatement(partial) {\n this.usePartial = true;\n\n var program = partial.program;\n if (program) {\n program = this.compileProgram(partial.program);\n }\n\n var params = partial.params;\n if (params.length > 1) {\n throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n } else if (!params.length) {\n if (this.options.explicitPartialContext) {\n this.opcode('pushLiteral', 'undefined');\n } else {\n params.push({ type: 'PathExpression', parts: [], depth: 0 });\n }\n }\n\n var partialName = partial.name.original,\n isDynamic = partial.name.type === 'SubExpression';\n if (isDynamic) {\n this.accept(partial.name);\n }\n\n this.setupFullMustacheParams(partial, program, undefined, true);\n\n var indent = partial.indent || '';\n if (this.options.preventIndent && indent) {\n this.opcode('appendContent', indent);\n indent = '';\n }\n\n this.opcode('invokePartial', isDynamic, partialName, indent);\n this.opcode('append');\n },\n PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n this.PartialStatement(partialBlock);\n },\n\n MustacheStatement: function MustacheStatement(mustache) {\n this.SubExpression(mustache);\n\n if (mustache.escaped && !this.options.noEscape) {\n this.opcode('appendEscaped');\n } else {\n this.opcode('append');\n }\n },\n Decorator: function Decorator(decorator) {\n this.DecoratorBlock(decorator);\n },\n\n ContentStatement: function ContentStatement(content) {\n if (content.value) {\n this.opcode('appendContent', content.value);\n }\n },\n\n CommentStatement: function CommentStatement() {},\n\n SubExpression: function SubExpression(sexpr) {\n transformLiteralToPath(sexpr);\n var type = this.classifySexpr(sexpr);\n\n if (type === 'simple') {\n this.simpleSexpr(sexpr);\n } else if (type === 'helper') {\n this.helperSexpr(sexpr);\n } else {\n this.ambiguousSexpr(sexpr);\n }\n },\n ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n var path = sexpr.path,\n name = path.parts[0],\n isBlock = program != null || inverse != null;\n\n this.opcode('getContext', path.depth);\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n\n path.strict = true;\n this.accept(path);\n\n this.opcode('invokeAmbiguous', name, isBlock);\n },\n\n simpleSexpr: function simpleSexpr(sexpr) {\n var path = sexpr.path;\n path.strict = true;\n this.accept(path);\n this.opcode('resolvePossibleLambda');\n },\n\n helperSexpr: function helperSexpr(sexpr, program, inverse) {\n var params = this.setupFullMustacheParams(sexpr, program, inverse),\n path = sexpr.path,\n name = path.parts[0];\n\n if (this.options.knownHelpers[name]) {\n this.opcode('invokeKnownHelper', params.length, name);\n } else if (this.options.knownHelpersOnly) {\n throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n } else {\n path.strict = true;\n path.falsy = true;\n\n this.accept(path);\n this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n }\n },\n\n PathExpression: function PathExpression(path) {\n this.addDepth(path.depth);\n this.opcode('getContext', path.depth);\n\n var name = path.parts[0],\n scoped = _ast2['default'].helpers.scopedId(path),\n blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n if (blockParamId) {\n this.opcode('lookupBlockParam', blockParamId, path.parts);\n } else if (!name) {\n // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n this.opcode('pushContext');\n } else if (path.data) {\n this.options.data = true;\n this.opcode('lookupData', path.depth, path.parts, path.strict);\n } else {\n this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n }\n },\n\n StringLiteral: function StringLiteral(string) {\n this.opcode('pushString', string.value);\n },\n\n NumberLiteral: function NumberLiteral(number) {\n this.opcode('pushLiteral', number.value);\n },\n\n BooleanLiteral: function BooleanLiteral(bool) {\n this.opcode('pushLiteral', bool.value);\n },\n\n UndefinedLiteral: function UndefinedLiteral() {\n this.opcode('pushLiteral', 'undefined');\n },\n\n NullLiteral: function NullLiteral() {\n this.opcode('pushLiteral', 'null');\n },\n\n Hash: function Hash(hash) {\n var pairs = hash.pairs,\n i = 0,\n l = pairs.length;\n\n this.opcode('pushHash');\n\n for (; i < l; i++) {\n this.pushParam(pairs[i].value);\n }\n while (i--) {\n this.opcode('assignToHash', pairs[i].key);\n }\n this.opcode('popHash');\n },\n\n // HELPERS\n opcode: function opcode(name) {\n this.opcodes.push({\n opcode: name,\n args: slice.call(arguments, 1),\n loc: this.sourceNode[0].loc\n });\n },\n\n addDepth: function addDepth(depth) {\n if (!depth) {\n return;\n }\n\n this.useDepths = true;\n },\n\n classifySexpr: function classifySexpr(sexpr) {\n var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\n // a mustache is an eligible helper if:\n // * its id is simple (a single part, not `this` or `..`)\n var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\n // if a mustache is an eligible helper but not a definite\n // helper, it is ambiguous, and will be resolved in a later\n // pass or at runtime.\n var isEligible = !isBlockParam && (isHelper || isSimple);\n\n // if ambiguous, we can possibly resolve the ambiguity now\n // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n if (isEligible && !isHelper) {\n var _name = sexpr.path.parts[0],\n options = this.options;\n if (options.knownHelpers[_name]) {\n isHelper = true;\n } else if (options.knownHelpersOnly) {\n isEligible = false;\n }\n }\n\n if (isHelper) {\n return 'helper';\n } else if (isEligible) {\n return 'ambiguous';\n } else {\n return 'simple';\n }\n },\n\n pushParams: function pushParams(params) {\n for (var i = 0, l = params.length; i < l; i++) {\n this.pushParam(params[i]);\n }\n },\n\n pushParam: function pushParam(val) {\n var value = val.value != null ? val.value : val.original || '';\n\n if (this.stringParams) {\n if (value.replace) {\n value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n }\n\n if (val.depth) {\n this.addDepth(val.depth);\n }\n this.opcode('getContext', val.depth || 0);\n this.opcode('pushStringParam', value, val.type);\n\n if (val.type === 'SubExpression') {\n // SubExpressions get evaluated and passed in\n // in string params mode.\n this.accept(val);\n }\n } else {\n if (this.trackIds) {\n var blockParamIndex = undefined;\n if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n blockParamIndex = this.blockParamIndex(val.parts[0]);\n }\n if (blockParamIndex) {\n var blockParamChild = val.parts.slice(1).join('.');\n this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n } else {\n value = val.original || value;\n if (value.replace) {\n value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n }\n\n this.opcode('pushId', val.type, value);\n }\n }\n this.accept(val);\n }\n },\n\n setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n var params = sexpr.params;\n this.pushParams(params);\n\n this.opcode('pushProgram', program);\n this.opcode('pushProgram', inverse);\n\n if (sexpr.hash) {\n this.accept(sexpr.hash);\n } else {\n this.opcode('emptyHash', omitEmpty);\n }\n\n return params;\n },\n\n blockParamIndex: function blockParamIndex(name) {\n for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n var blockParams = this.options.blockParams[depth],\n param = blockParams && _utils.indexOf(blockParams, name);\n if (blockParams && param >= 0) {\n return [depth, param];\n }\n }\n }\n};\n\nfunction precompile(input, options, env) {\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n }\n\n options = options || {};\n if (!('data' in options)) {\n options.data = true;\n }\n if (options.compat) {\n options.useDepths = true;\n }\n\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options);\n return new env.JavaScriptCompiler().compile(environment, options);\n}\n\nfunction compile(input, options, env) {\n if (options === undefined) options = {};\n\n if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n }\n\n options = _utils.extend({}, options);\n if (!('data' in options)) {\n options.data = true;\n }\n if (options.compat) {\n options.useDepths = true;\n }\n\n var compiled = undefined;\n\n function compileInput() {\n var ast = env.parse(input, options),\n environment = new env.Compiler().compile(ast, options),\n templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n return env.template(templateSpec);\n }\n\n // Template is only compiled on first use and cached after that point.\n function ret(context, execOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled.call(this, context, execOptions);\n }\n ret._setup = function (setupOptions) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled._setup(setupOptions);\n };\n ret._child = function (i, data, blockParams, depths) {\n if (!compiled) {\n compiled = compileInput();\n }\n return compiled._child(i, data, blockParams, depths);\n };\n return ret;\n}\n\nfunction argEquals(a, b) {\n if (a === b) {\n return true;\n }\n\n if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n for (var i = 0; i < a.length; i++) {\n if (!argEquals(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction transformLiteralToPath(sexpr) {\n if (!sexpr.path.parts) {\n var literal = sexpr.path;\n // Casting to string here to make false and 0 literal values play nicely with the rest\n // of the system.\n sexpr.path = {\n type: 'PathExpression',\n data: false,\n depth: 0,\n parts: [literal.original + ''],\n original: literal.original + '',\n loc: literal.loc\n };\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozt5QkFFc0IsY0FBYzs7OztxQkFDSyxVQUFVOzttQkFDbkMsT0FBTzs7OztBQUV2QixJQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDOztBQUVoQixTQUFTLFFBQVEsR0FBRyxFQUFFOzs7Ozs7O0FBTzdCLFFBQVEsQ0FBQyxTQUFTLEdBQUc7QUFDbkIsVUFBUSxFQUFFLFFBQVE7O0FBRWxCLFFBQU0sRUFBRSxnQkFBUyxLQUFLLEVBQUU7QUFDdEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDOUIsUUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7QUFDaEMsYUFBTyxLQUFLLENBQUM7S0FDZDs7QUFFRCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFVBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1VBQzFCLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFVBQ0UsTUFBTSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTSxJQUNwQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDekM7QUFDQSxlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7Ozs7QUFJRCxPQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7QUFDM0IsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QixVQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEs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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtBQUMxQixlQUFPLEtBQUssQ0FBQztPQUNkO0tBQ0Y7QUFDRCxXQUFPLElBQUksQ0FBQztHQUNiO0NBQ0Y7O0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUU7QUFDckMsTUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ3JCLFFBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7OztBQUd6QixTQUFLLENBQUMsSUFBSSxHQUFHO0FBQ1gsVUFBSSxFQUFFLGdCQUFnQjtBQUN0QixVQUFJLEVBQUUsS0FBSztBQUNYLFdBQUssRUFBRSxDQUFDO0FBQ1IsV0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFDOUIsY0FBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsRUFBRTtBQUMvQixTQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7S0FDakIsQ0FBQztHQUNIO0NBQ0YiLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuZXctY2FwICovXG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXksIGluZGV4T2YsIGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBBU1QgZnJvbSAnLi9hc3QnO1xuXG5jb25zdCBzbGljZSA9IFtdLnNsaWNlO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29tcGlsZXIoKSB7fVxuXG4vLyB0aGUgZm91bmRIZWxwZXIgcmVnaXN0ZXIgd2lsbCBkaXNhbWJpZ3VhdGUgaGVscGVyIGxvb2t1cCBmcm9tIGZpbmRpbmcgYVxuLy8gZnVuY3Rpb24gaW4gYSBjb250ZXh0LiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgbXVzdGFjaGUgY29tcGF0aWJpbGl0eSwgd2hpY2hcbi8vIHJlcXVpcmVzIHRoYXQgY29udGV4dCBmdW5jdGlvbnMgaW4gYmxvY2tzIGFyZSBldmFsdWF0ZWQgYnkgYmxvY2tIZWxwZXJNaXNzaW5nLFxuLy8gYW5kIHRoZW4gcHJvY2VlZCBhcyBpZiB0aGUgcmVzdWx0aW5nIHZhbHVlIHdhcyBwcm92aWRlZCB0byBibG9ja0hlbHBlck1pc3NpbmcuXG5cbkNvbXBpbGVyLnByb3RvdHlwZSA9IHtcbiAgY29tcGlsZXI6IENvbXBpbGVyLFxuXG4gIGVxdWFsczogZnVuY3Rpb24ob3RoZXIpIHtcbiAgICBsZXQgbGVuID0gdGhpcy5vcGNvZGVzLmxlbmd0aDtcbiAgICBpZiAob3RoZXIub3Bjb2Rlcy5sZW5ndGggIT09IGxlbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBvcGNvZGUgPSB0aGlzLm9wY29kZXNbaV0sXG4gICAgICAgIG90aGVyT3Bjb2RlID0gb3RoZXIub3Bjb2Rlc1tpXTtcbiAgICAgIGlmIChcbiAgICAgICAgb3Bjb2RlLm9wY29kZSAhPT0gb3RoZXJPcGNvZGUub3Bjb2RlIHx8XG4gICAgICAgICFhcmdFcXVhbHMob3Bjb2RlLmFyZ3MsIG90aGVyT3Bjb2RlLmFyZ3MpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdlIGtub3cgdGhhdCBsZW5ndGggaXMgdGhlIHNhbWUgYmV0d2VlbiB0aGUgdHdvIGFycmF5cyBiZWNhdXNlIHRoZXkgYXJlIGRpcmVjdGx5IHRpZWRcbiAgICAvLyB0byB0aGUgb3Bjb2RlIGJlaGF2aW9yIGFib3ZlLlxuICAgIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICghdGhpcy5jaGlsZHJlbltpXS5lcXVhbHMob3RoZXIuY2hpbGRyZW5baV0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSxcblxuICBndWlkOiAwLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKHByb2dyYW0sIG9wdGlvbnMpIHtcbiAgICB0aGlzLnNvdXJjZU5vZGUgPSBbXTtcbiAgICB0aGlzLm9wY29kZXMgPSBbXTtcbiAgICB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnN0cmluZ1BhcmFtcyA9IG9wdGlvbnMuc3RyaW5nUGFyYW1zO1xuICAgIHRoaXMudHJhY2tJZHMgPSBvcHRpb25zLnRyYWNrSWRzO1xuXG4gICAgb3B0aW9ucy5ibG9ja1BhcmFtcyA9IG9wdGlvbnMuYmxvY2tQYXJhbXMgfHwgW107XG5cbiAgICBvcHRpb25zLmtub3duSGVscGVycyA9IGV4dGVuZChcbiAgICAgIE9iamVjdC5jcmVhdGUobnVsbCksXG4gICAgICB7XG4gICAgICAgIGhlbHBlck1pc3Npbmc6IHRydWUsXG4gICAgICAgIGJsb2NrSGVscGVyTWlzc2luZzogdHJ1ZSxcbiAgICAgICAgZWFjaDogdHJ1ZSxcbiAgICAgICAgaWY6IHRydWUsXG4gICAgICAgIHVubGVzczogdHJ1ZSxcbiAgICAgICAgd2l0aDogdHJ1ZSxcbiAgICAgICAgbG9nOiB0cnVlLFxuICAgICAgICBsb29rdXA6IHRydWVcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLmtub3duSGVscGVyc1xuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NlcHQocHJvZ3JhbSk7XG4gIH0sXG5cbiAgY29tcGlsZVByb2dyYW06IGZ1bmN0aW9uKHByb2dyYW0pIHtcbiAgICBsZXQgY2hpbGRDb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgICAgcmVzdWx0ID0gY2hpbGRDb21waWxlci5jb21waWxlKHByb2dyYW0sIHRoaXMub3B0aW9ucyksXG4gICAgICBndWlkID0gdGhpcy5ndWlkKys7XG5cbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0aGlzLnVzZVBhcnRpYWwgfHwgcmVzdWx0LnVzZVBhcnRpYWw7XG5cbiAgICB0aGlzLmNoaWxkcmVuW2d1aWRdID0gcmVzdWx0O1xuICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgcmVzdWx0LnVzZURlcHRocztcblxuICAgIHJldHVybiBndWlkO1xuICB9LFxuXG4gIGFjY2VwdDogZnVuY3Rpb24obm9kZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0OiBTYW5pdHkgY29kZSAqL1xuICAgIGlmICghdGhpc1tub2RlLnR5cGVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmtub3duIHR5cGU6ICcgKyBub2RlLnR5cGUsIG5vZGUpO1xuICAgIH1cblxuICAgIHRoaXMuc291cmNlTm9kZS51bnNoaWZ0KG5vZGUpO1xuICAgIGxldCByZXQgPSB0aGlzW25vZGUudHlwZV0obm9kZSk7XG4gICAgdGhpcy5zb3VyY2VOb2RlLnNoaWZ0KCk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBQcm9ncmFtOiBmdW5jdGlvbihwcm9ncmFtKSB7XG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnVuc2hpZnQocHJvZ3JhbS5ibG9ja1BhcmFtcyk7XG5cbiAgICBsZXQgYm9keSA9IHByb2dyYW0uYm9keSxcbiAgICAgIGJvZHlMZW5ndGggPSBib2R5Lmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJvZHlMZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5hY2NlcHQoYm9keVtpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLnNoaWZ0KCk7XG5cbiAgICB0aGlzLmlzU2ltcGxlID0gYm9keUxlbmd0aCA9PT0gMTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gcHJvZ3JhbS5ibG9ja1BhcmFtcyA/IHByb2dyYW0uYmxvY2tQYXJhbXMubGVuZ3RoIDogMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9LFxuXG4gIEJsb2NrU3RhdGVtZW50OiBmdW5jdGlvbihibG9jaykge1xuICAgIHRyYW5zZm9ybUxpdGVyYWxUb1BhdGgoYmxvY2spO1xuXG4gICAgbGV0IHByb2dyYW0gPSBibG9jay5wcm9ncmFtLFxuICAgICAgaW52ZXJzZSA9IGJsb2NrLmludmVyc2U7XG5cbiAgICBwcm9ncmFtID0gcHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKHByb2dyYW0pO1xuICAgIGludmVyc2UgPSBpbnZlcnNlICYmIHRoaXMuY29tcGlsZVByb2dyYW0oaW52ZXJzZSk7XG5cbiAgICBsZXQgdHlwZSA9IHRoaXMuY2xhc3NpZnlTZXhwcihibG9jayk7XG5cbiAgICBpZiAodHlwZSA9PT0gJ2hlbHBlcicpIHtcbiAgICAgIHRoaXMuaGVscGVyU2V4cHIoYmxvY2ssIHByb2dyYW0sIGludmVyc2UpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NpbXBsZScpIHtcbiAgICAgIHRoaXMuc2ltcGxlU2V4cHIoYmxvY2spO1xuXG4gICAgICAvLyBub3cgdGhhdCB0aGUgc2ltcGxlIG11c3RhY2hlIGlzIHJlc29sdmVkLCB3ZSBuZWVkIHRvXG4gICAgICAvLyBldmFsdWF0ZSBpdCBieSBleGVjdXRpbmcgYGJsb2NrSGVscGVyTWlzc2luZ2BcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hQcm9ncmFtJywgaW52ZXJzZSk7XG4gICAgICB0aGlzLm9wY29kZSgnZW1wdHlIYXNoJyk7XG4gICAgICB0aGlzLm9wY29kZSgnYmxvY2tWYWx1ZScsIGJsb2NrLnBhdGgub3JpZ2luYWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFtYmlndW91c1NleHByKGJsb2NrLCBwcm9ncmFtLCBpbnZlcnNlKTtcblxuICAgICAgLy8gbm93IHRoYXQgdGhlIHNpbXBsZSBtdXN0YWNoZSBpcyByZXNvbHZlZCwgd2UgbmVlZCB0b1xuICAgICAgLy8gZXZhbHVhdGUgaXQgYnkgZXhlY3V0aW5nIGBibG9ja0hlbHBlck1pc3NpbmdgXG4gICAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcpO1xuICAgICAgdGhpcy5vcGNvZGUoJ2FtYmlndW91c0Jsb2NrVmFsdWUnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG5cbiAgRGVjb3JhdG9yQmxvY2soZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb2dyYW0gPSBkZWNvcmF0b3IucHJvZ3JhbSAmJiB0aGlzLmNvbXBpbGVQcm9ncmFtKGRlY29yYXRvci5wcm9ncmFtKTtcbiAgICBsZXQgcGFyYW1zID0gdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhkZWNvcmF0b3IsIHByb2dyYW0sIHVuZGVmaW5lZCksXG4gICAgICBwYXRoID0gZGVjb3JhdG9yLnBhdGg7XG5cbiAgICB0aGlzLnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgIHRoaXMub3Bjb2RlKCdyZWdpc3RlckRlY29yYXRvcicsIHBhcmFtcy5sZW5ndGgsIHBhdGgub3JpZ2luYWwpO1xuICB9LFxuXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IGZ1bmN0aW9uKHBhcnRpYWwpIHtcbiAgICB0aGlzLnVzZVBhcnRpYWwgPSB0cnVlO1xuXG4gICAgbGV0IHByb2dyYW0gPSBwYXJ0aWFsLnByb2dyYW07XG4gICAgaWYgKHByb2dyYW0pIHtcbiAgICAgIHByb2dyYW0gPSB0aGlzLmNvbXBpbGVQcm9ncmFtKHBhcnRpYWwucHJvZ3JhbSk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IHBhcnRpYWwucGFyYW1zO1xuICAgIGlmIChwYXJhbXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1Vuc3VwcG9ydGVkIG51bWJlciBvZiBwYXJ0aWFsIGFyZ3VtZW50czogJyArIHBhcmFtcy5sZW5ndGgsXG4gICAgICAgIHBhcnRpYWxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICghcGFyYW1zLmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5leHBsaWNpdFBhcnRpYWxDb250ZXh0KSB7XG4gICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICd1bmRlZmluZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKHsgdHlwZTogJ1BhdGhFeHByZXNzaW9uJywgcGFydHM6IFtdLCBkZXB0aDogMCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcGFydGlhbE5hbWUgPSBwYXJ0aWFsLm5hbWUub3JpZ2luYWwsXG4gICAgICBpc0R5bmFtaWMgPSBwYXJ0aWFsLm5hbWUudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nO1xuICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgIHRoaXMuYWNjZXB0KHBhcnRpYWwubmFtZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXR1cEZ1bGxNdXN0YWNoZVBhcmFtcyhwYXJ0aWFsLCBwcm9ncmFtLCB1bmRlZmluZWQsIHRydWUpO1xuXG4gICAgbGV0IGluZGVudCA9IHBhcnRpYWwuaW5kZW50IHx8ICcnO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJldmVudEluZGVudCAmJiBpbmRlbnQpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRDb250ZW50JywgaW5kZW50KTtcbiAgICAgIGluZGVudCA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMub3Bjb2RlKCdpbnZva2VQYXJ0aWFsJywgaXNEeW5hbWljLCBwYXJ0aWFsTmFtZSwgaW5kZW50KTtcbiAgICB0aGlzLm9wY29kZSgnYXBwZW5kJyk7XG4gIH0sXG4gIFBhcnRpYWxCbG9ja1N0YXRlbWVudDogZnVuY3Rpb24ocGFydGlhbEJsb2NrKSB7XG4gICAgdGhpcy5QYXJ0aWFsU3RhdGVtZW50KHBhcnRpYWxCbG9jayk7XG4gIH0sXG5cbiAgTXVzdGFjaGVTdGF0ZW1lbnQ6IGZ1bmN0aW9uKG11c3RhY2hlKSB7XG4gICAgdGhpcy5TdWJFeHByZXNzaW9uKG11c3RhY2hlKTtcblxuICAgIGlmIChtdXN0YWNoZS5lc2NhcGVkICYmICF0aGlzLm9wdGlvbnMubm9Fc2NhcGUpIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmRFc2NhcGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhcHBlbmQnKTtcbiAgICB9XG4gIH0sXG4gIERlY29yYXRvcihkZWNvcmF0b3IpIHtcbiAgICB0aGlzLkRlY29yYXRvckJsb2NrKGRlY29yYXRvcik7XG4gIH0sXG5cbiAgQ29udGVudFN0YXRlbWVudDogZnVuY3Rpb24oY29udGVudCkge1xuICAgIGlmIChjb250ZW50LnZhbHVlKSB7XG4gICAgICB0aGlzLm9wY29kZSgnYXBwZW5kQ29udGVudCcsIGNvbnRlbnQudmFsdWUpO1xuICAgIH1cbiAgfSxcblxuICBDb21tZW50U3RhdGVtZW50OiBmdW5jdGlvbigpIHt9LFxuXG4gIFN1YkV4cHJlc3Npb246IGZ1bmN0aW9uKHNleHByKSB7XG4gICAgdHJhbnNmb3JtTGl0ZXJhbFRvUGF0aChzZXhwcik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmNsYXNzaWZ5U2V4cHIoc2V4cHIpO1xuXG4gICAgaWYgKHR5cGUgPT09ICdzaW1wbGUnKSB7XG4gICAgICB0aGlzLnNpbXBsZVNleHByKHNleHByKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdoZWxwZXInKSB7XG4gICAgICB0aGlzLmhlbHBlclNleHByKHNleHByKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbWJpZ3VvdXNTZXhwcihzZXhwcik7XG4gICAgfVxuICB9LFxuICBhbWJpZ3VvdXNTZXhwcjogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UpIHtcbiAgICBsZXQgcGF0aCA9IHNleHByLnBhdGgsXG4gICAgICBuYW1lID0gcGF0aC5wYXJ0c1swXSxcbiAgICAgIGlzQmxvY2sgPSBwcm9ncmFtICE9IG51bGwgfHwgaW52ZXJzZSAhPSBudWxsO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2dldENvbnRleHQnLCBwYXRoLmRlcHRoKTtcblxuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIHByb2dyYW0pO1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoUHJvZ3JhbScsIGludmVyc2UpO1xuXG4gICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuXG4gICAgdGhpcy5vcGNvZGUoJ2ludm9rZUFtYmlndW91cycsIG5hbWUsIGlzQmxvY2spO1xuICB9LFxuXG4gIHNpbXBsZVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBwYXRoID0gc2V4cHIucGF0aDtcbiAgICBwYXRoLnN0cmljdCA9IHRydWU7XG4gICAgdGhpcy5hY2NlcHQocGF0aCk7XG4gICAgdGhpcy5vcGNvZGUoJ3Jlc29sdmVQb3NzaWJsZUxhbWJkYScpO1xuICB9LFxuXG4gIGhlbHBlclNleHByOiBmdW5jdGlvbihzZXhwciwgcHJvZ3JhbSwgaW52ZXJzZSkge1xuICAgIGxldCBwYXJhbXMgPSB0aGlzLnNldHVwRnVsbE11c3RhY2hlUGFyYW1zKHNleHByLCBwcm9ncmFtLCBpbnZlcnNlKSxcbiAgICAgIHBhdGggPSBzZXhwci5wYXRoLFxuICAgICAgbmFtZSA9IHBhdGgucGFydHNbMF07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmtub3duSGVscGVyc1tuYW1lXSkge1xuICAgICAgdGhpcy5vcGNvZGUoJ2ludm9rZUtub3duSGVscGVyJywgcGFyYW1zLmxlbmd0aCwgbmFtZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMua25vd25IZWxwZXJzT25seSkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1lvdSBzcGVjaWZpZWQga25vd25IZWxwZXJzT25seSwgYnV0IHVzZWQgdGhlIHVua25vd24gaGVscGVyICcgKyBuYW1lLFxuICAgICAgICBzZXhwclxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aC5zdHJpY3QgPSB0cnVlO1xuICAgICAgcGF0aC5mYWxzeSA9IHRydWU7XG5cbiAgICAgIHRoaXMuYWNjZXB0KHBhdGgpO1xuICAgICAgdGhpcy5vcGNvZGUoXG4gICAgICAgICdpbnZva2VIZWxwZXInLFxuICAgICAgICBwYXJhbXMubGVuZ3RoLFxuICAgICAgICBwYXRoLm9yaWdpbmFsLFxuICAgICAgICBBU1QuaGVscGVycy5zaW1wbGVJZChwYXRoKVxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgUGF0aEV4cHJlc3Npb246IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICB0aGlzLmFkZERlcHRoKHBhdGguZGVwdGgpO1xuICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgcGF0aC5kZXB0aCk7XG5cbiAgICBsZXQgbmFtZSA9IHBhdGgucGFydHNbMF0sXG4gICAgICBzY29wZWQgPSBBU1QuaGVscGVycy5zY29wZWRJZChwYXRoKSxcbiAgICAgIGJsb2NrUGFyYW1JZCA9ICFwYXRoLmRlcHRoICYmICFzY29wZWQgJiYgdGhpcy5ibG9ja1BhcmFtSW5kZXgobmFtZSk7XG5cbiAgICBpZiAoYmxvY2tQYXJhbUlkKSB7XG4gICAgICB0aGlzLm9wY29kZSgnbG9va3VwQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JZCwgcGF0aC5wYXJ0cyk7XG4gICAgfSBlbHNlIGlmICghbmFtZSkge1xuICAgICAgLy8gQ29udGV4dCByZWZlcmVuY2UsIGkuZS4gYHt7Zm9vIC59fWAgb3IgYHt7Zm9vIC4ufX1gXG4gICAgICB0aGlzLm9wY29kZSgncHVzaENvbnRleHQnKTtcbiAgICB9IGVsc2UgaWYgKHBhdGguZGF0YSkge1xuICAgICAgdGhpcy5vcHRpb25zLmRhdGEgPSB0cnVlO1xuICAgICAgdGhpcy5vcGNvZGUoJ2xvb2t1cERhdGEnLCBwYXRoLmRlcHRoLCBwYXRoLnBhcnRzLCBwYXRoLnN0cmljdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3Bjb2RlKFxuICAgICAgICAnbG9va3VwT25Db250ZXh0JyxcbiAgICAgICAgcGF0aC5wYXJ0cyxcbiAgICAgICAgcGF0aC5mYWxzeSxcbiAgICAgICAgcGF0aC5zdHJpY3QsXG4gICAgICAgIHNjb3BlZFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgU3RyaW5nTGl0ZXJhbDogZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmcnLCBzdHJpbmcudmFsdWUpO1xuICB9LFxuXG4gIE51bWJlckxpdGVyYWw6IGZ1bmN0aW9uKG51bWJlcikge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsIG51bWJlci52YWx1ZSk7XG4gIH0sXG5cbiAgQm9vbGVhbkxpdGVyYWw6IGZ1bmN0aW9uKGJvb2wpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCBib29sLnZhbHVlKTtcbiAgfSxcblxuICBVbmRlZmluZWRMaXRlcmFsOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLm9wY29kZSgncHVzaExpdGVyYWwnLCAndW5kZWZpbmVkJyk7XG4gIH0sXG5cbiAgTnVsbExpdGVyYWw6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMub3Bjb2RlKCdwdXNoTGl0ZXJhbCcsICdudWxsJyk7XG4gIH0sXG5cbiAgSGFzaDogZnVuY3Rpb24oaGFzaCkge1xuICAgIGxldCBwYWlycyA9IGhhc2gucGFpcnMsXG4gICAgICBpID0gMCxcbiAgICAgIGwgPSBwYWlycy5sZW5ndGg7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaEhhc2gnKTtcblxuICAgIGZvciAoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB0aGlzLnB1c2hQYXJhbShwYWlyc1tpXS52YWx1ZSk7XG4gICAgfVxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMub3Bjb2RlKCdhc3NpZ25Ub0hhc2gnLCBwYWlyc1tpXS5rZXkpO1xuICAgIH1cbiAgICB0aGlzLm9wY29kZSgncG9wSGFzaCcpO1xuICB9LFxuXG4gIC8vIEhFTFBFUlNcbiAgb3Bjb2RlOiBmdW5jdGlvbihuYW1lKSB7XG4gICAgdGhpcy5vcGNvZGVzLnB1c2goe1xuICAgICAgb3Bjb2RlOiBuYW1lLFxuICAgICAgYXJnczogc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLFxuICAgICAgbG9jOiB0aGlzLnNvdXJjZU5vZGVbMF0ubG9jXG4gICAgfSk7XG4gIH0sXG5cbiAgYWRkRGVwdGg6IGZ1bmN0aW9uKGRlcHRoKSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfSxcblxuICBjbGFzc2lmeVNleHByOiBmdW5jdGlvbihzZXhwcikge1xuICAgIGxldCBpc1NpbXBsZSA9IEFTVC5oZWxwZXJzLnNpbXBsZUlkKHNleHByLnBhdGgpO1xuXG4gICAgbGV0IGlzQmxvY2tQYXJhbSA9IGlzU2ltcGxlICYmICEhdGhpcy5ibG9ja1BhcmFtSW5kZXgoc2V4cHIucGF0aC5wYXJ0c1swXSk7XG5cbiAgICAvLyBhIG11c3RhY2hlIGlzIGFuIGVsaWdpYmxlIGhlbHBlciBpZjpcbiAgICAvLyAqIGl0cyBpZCBpcyBzaW1wbGUgKGEgc2luZ2xlIHBhcnQsIG5vdCBgdGhpc2Agb3IgYC4uYClcbiAgICBsZXQgaXNIZWxwZXIgPSAhaXNCbG9ja1BhcmFtICYmIEFTVC5oZWxwZXJzLmhlbHBlckV4cHJlc3Npb24oc2V4cHIpO1xuXG4gICAgLy8gaWYgYSBtdXN0YWNoZSBpcyBhbiBlbGlnaWJsZSBoZWxwZXIgYnV0IG5vdCBhIGRlZmluaXRlXG4gICAgLy8gaGVscGVyLCBpdCBpcyBhbWJpZ3VvdXMsIGFuZCB3aWxsIGJlIHJlc29sdmVkIGluIGEgbGF0ZXJcbiAgICAvLyBwYXNzIG9yIGF0IHJ1bnRpbWUuXG4gICAgbGV0IGlzRWxpZ2libGUgPSAhaXNCbG9ja1BhcmFtICYmIChpc0hlbHBlciB8fCBpc1NpbXBsZSk7XG5cbiAgICAvLyBpZiBhbWJpZ3VvdXMsIHdlIGNhbiBwb3NzaWJseSByZXNvbHZlIHRoZSBhbWJpZ3VpdHkgbm93XG4gICAgLy8gQW4gZWxpZ2libGUgaGVscGVyIGlzIG9uZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBjb21wbGV4IHBhdGgsIGkuZS4gYHRoaXMuZm9vYCwgYC4uL2Zvb2AgZXRjLlxuICAgIGlmIChpc0VsaWdpYmxlICYmICFpc0hlbHBlcikge1xuICAgICAgbGV0IG5hbWUgPSBzZXhwci5wYXRoLnBhcnRzWzBdLFxuICAgICAgICBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKG9wdGlvbnMua25vd25IZWxwZXJzW25hbWVdKSB7XG4gICAgICAgIGlzSGVscGVyID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5rbm93bkhlbHBlcnNPbmx5KSB7XG4gICAgICAgIGlzRWxpZ2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNIZWxwZXIpIHtcbiAgICAgIHJldHVybiAnaGVscGVyJztcbiAgICB9IGVsc2UgaWYgKGlzRWxpZ2libGUpIHtcbiAgICAgIHJldHVybiAnYW1iaWd1b3VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdzaW1wbGUnO1xuICAgIH1cbiAgfSxcblxuICBwdXNoUGFyYW1zOiBmdW5jdGlvbihwYXJhbXMpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHBhcmFtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHRoaXMucHVzaFBhcmFtKHBhcmFtc1tpXSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2hQYXJhbTogZnVuY3Rpb24odmFsKSB7XG4gICAgbGV0IHZhbHVlID0gdmFsLnZhbHVlICE9IG51bGwgPyB2YWwudmFsdWUgOiB2YWwub3JpZ2luYWwgfHwgJyc7XG5cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIGlmICh2YWx1ZS5yZXBsYWNlKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXihcXC4/XFwuXFwvKSovZywgJycpLnJlcGxhY2UoL1xcLy9nLCAnLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsLmRlcHRoKSB7XG4gICAgICAgIHRoaXMuYWRkRGVwdGgodmFsLmRlcHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3Bjb2RlKCdnZXRDb250ZXh0JywgdmFsLmRlcHRoIHx8IDApO1xuICAgICAgdGhpcy5vcGNvZGUoJ3B1c2hTdHJpbmdQYXJhbScsIHZhbHVlLCB2YWwudHlwZSk7XG5cbiAgICAgIGlmICh2YWwudHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nKSB7XG4gICAgICAgIC8vIFN1YkV4cHJlc3Npb25zIGdldCBldmFsdWF0ZWQgYW5kIHBhc3NlZCBpblxuICAgICAgICAvLyBpbiBzdHJpbmcgcGFyYW1zIG1vZGUuXG4gICAgICAgIHRoaXMuYWNjZXB0KHZhbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICAgIGxldCBibG9ja1BhcmFtSW5kZXg7XG4gICAgICAgIGlmICh2YWwucGFydHMgJiYgIUFTVC5oZWxwZXJzLnNjb3BlZElkKHZhbCkgJiYgIXZhbC5kZXB0aCkge1xuICAgICAgICAgIGJsb2NrUGFyYW1JbmRleCA9IHRoaXMuYmxvY2tQYXJhbUluZGV4KHZhbC5wYXJ0c1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJsb2NrUGFyYW1JbmRleCkge1xuICAgICAgICAgIGxldCBibG9ja1BhcmFtQ2hpbGQgPSB2YWwucGFydHMuc2xpY2UoMSkuam9pbignLicpO1xuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCAnQmxvY2tQYXJhbScsIGJsb2NrUGFyYW1JbmRleCwgYmxvY2tQYXJhbUNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9IHZhbC5vcmlnaW5hbCB8fCB2YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUucmVwbGFjZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXnRoaXMoPzpcXC58JCkvLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC5cXC8vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4kLywgJycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMub3Bjb2RlKCdwdXNoSWQnLCB2YWwudHlwZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmFjY2VwdCh2YWwpO1xuICAgIH1cbiAgfSxcblxuICBzZXR1cEZ1bGxNdXN0YWNoZVBhcmFtczogZnVuY3Rpb24oc2V4cHIsIHByb2dyYW0sIGludmVyc2UsIG9taXRFbXB0eSkge1xuICAgIGxldCBwYXJhbXMgPSBzZXhwci5wYXJhbXM7XG4gICAgdGhpcy5wdXNoUGFyYW1zKHBhcmFtcyk7XG5cbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBwcm9ncmFtKTtcbiAgICB0aGlzLm9wY29kZSgncHVzaFByb2dyYW0nLCBpbnZlcnNlKTtcblxuICAgIGlmIChzZXhwci5oYXNoKSB7XG4gICAgICB0aGlzLmFjY2VwdChzZXhwci5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGNvZGUoJ2VtcHR5SGFzaCcsIG9taXRFbXB0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfSxcblxuICBibG9ja1BhcmFtSW5kZXg6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBmb3IgKFxuICAgICAgbGV0IGRlcHRoID0gMCwgbGVuID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zLmxlbmd0aDtcbiAgICAgIGRlcHRoIDwgbGVuO1xuICAgICAgZGVwdGgrK1xuICAgICkge1xuICAgICAgbGV0IGJsb2NrUGFyYW1zID0gdGhpcy5vcHRpb25zLmJsb2NrUGFyYW1zW2RlcHRoXSxcbiAgICAgICAgcGFyYW0gPSBibG9ja1BhcmFtcyAmJiBpbmRleE9mKGJsb2NrUGFyYW1zLCBuYW1lKTtcbiAgICAgIGlmIChibG9ja1BhcmFtcyAmJiBwYXJhbSA+PSAwKSB7XG4gICAgICAgIHJldHVybiBbZGVwdGgsIHBhcmFtXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVjb21waWxlKGlucHV0LCBvcHRpb25zLCBlbnYpIHtcbiAgaWYgKFxuICAgIGlucHV0ID09IG51bGwgfHxcbiAgICAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJyAmJiBpbnB1dC50eXBlICE9PSAnUHJvZ3JhbScpXG4gICkge1xuICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAnWW91IG11c3QgcGFzcyBhIHN0cmluZyBvciBIYW5kbGViYXJzIEFTVCB0byBIYW5kbGViYXJzLnByZWNvbXBpbGUuIFlvdSBwYXNzZWQgJyArXG4gICAgICAgIGlucHV0XG4gICAgKTtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBpZiAoISgnZGF0YScgaW4gb3B0aW9ucykpIHtcbiAgICBvcHRpb25zLmRhdGEgPSB0cnVlO1xuICB9XG4gIGlmIChvcHRpb25zLmNvbXBhdCkge1xuICAgIG9wdGlvbnMudXNlRGVwdGhzID0gdHJ1ZTtcbiAgfVxuXG4gIGxldCBhc3QgPSBlbnYucGFyc2UoaW5wdXQsIG9wdGlvbnMpLFxuICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlKGlucHV0LCBvcHRpb25zID0ge30sIGVudikge1xuICBpZiAoXG4gICAgaW5wdXQgPT0gbnVsbCB8fFxuICAgICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnICYmIGlucHV0LnR5cGUgIT09ICdQcm9ncmFtJylcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdZb3UgbXVzdCBwYXNzIGEgc3RyaW5nIG9yIEhhbmRsZWJhcnMgQVNUIHRvIEhhbmRsZWJhcnMuY29tcGlsZS4gWW91IHBhc3NlZCAnICtcbiAgICAgICAgaW5wdXRcbiAgICApO1xuICB9XG5cbiAgb3B0aW9ucyA9IGV4dGVuZCh7fSwgb3B0aW9ucyk7XG4gIGlmICghKCdkYXRhJyBpbiBvcHRpb25zKSkge1xuICAgIG9wdGlvbnMuZGF0YSA9IHRydWU7XG4gIH1cbiAgaWYgKG9wdGlvbnMuY29tcGF0KSB7XG4gICAgb3B0aW9ucy51c2VEZXB0aHMgPSB0cnVlO1xuICB9XG5cbiAgbGV0IGNvbXBpbGVkO1xuXG4gIGZ1bmN0aW9uIGNvbXBpbGVJbnB1dCgpIHtcbiAgICBsZXQgYXN0ID0gZW52LnBhcnNlKGlucHV0LCBvcHRpb25zKSxcbiAgICAgIGVudmlyb25tZW50ID0gbmV3IGVudi5Db21waWxlcigpLmNvbXBpbGUoYXN0LCBvcHRpb25zKSxcbiAgICAgIHRlbXBsYXRlU3BlYyA9IG5ldyBlbnYuSmF2YVNjcmlwdENvbXBpbGVyKCkuY29tcGlsZShcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICByZXR1cm4gZW52LnRlbXBsYXRlKHRlbXBsYXRlU3BlYyk7XG4gIH1cblxuICAvLyBUZW1wbGF0ZSBpcyBvbmx5IGNvbXBpbGVkIG9uIGZpcnN0IHVzZSBhbmQgY2FjaGVkIGFmdGVyIHRoYXQgcG9pbnQuXG4gIGZ1bmN0aW9uIHJldChjb250ZXh0LCBleGVjT3B0aW9ucykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5jYWxsKHRoaXMsIGNvbnRleHQsIGV4ZWNPcHRpb25zKTtcbiAgfVxuICByZXQuX3NldHVwID0gZnVuY3Rpb24oc2V0dXBPcHRpb25zKSB7XG4gICAgaWYgKCFjb21waWxlZCkge1xuICAgICAgY29tcGlsZWQgPSBjb21waWxlSW5wdXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbXBpbGVkLl9zZXR1cChzZXR1cE9wdGlvbnMpO1xuICB9O1xuICByZXQuX2NoaWxkID0gZnVuY3Rpb24oaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocykge1xuICAgIGlmICghY29tcGlsZWQpIHtcbiAgICAgIGNvbXBpbGVkID0gY29tcGlsZUlucHV0KCk7XG4gICAgfVxuICAgIHJldHVybiBjb21waWxlZC5fY2hpbGQoaSwgZGF0YSwgYmxvY2tQYXJhbXMsIGRlcHRocyk7XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGFyZ0VxdWFscyhhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaXNBcnJheShhKSAmJiBpc0FycmF5KGIpICYmIGEubGVuZ3RoID09PSBiLmxlbmd0aCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFhcmdFcXVhbHMoYVtpXSwgYltpXSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MaXRlcmFsVG9QYXRoKHNleHByKSB7XG4gIGlmICghc2V4cHIucGF0aC5wYXJ0cykge1xuICAgIGxldCBsaXRlcmFsID0gc2V4cHIucGF0aDtcbiAgICAvLyBDYXN0aW5nIHRvIHN0cmluZyBoZXJlIHRvIG1ha2UgZmFsc2UgYW5kIDAgbGl0ZXJhbCB2YWx1ZXMgcGxheSBuaWNlbHkgd2l0aCB0aGUgcmVzdFxuICAgIC8vIG9mIHRoZSBzeXN0ZW0uXG4gICAgc2V4cHIucGF0aCA9IHtcbiAgICAgIHR5cGU6ICdQYXRoRXhwcmVzc2lvbicsXG4gICAgICBkYXRhOiBmYWxzZSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgcGFydHM6IFtsaXRlcmFsLm9yaWdpbmFsICsgJyddLFxuICAgICAgb3JpZ2luYWw6IGxpdGVyYWwub3JpZ2luYWwgKyAnJyxcbiAgICAgIGxvYzogbGl0ZXJhbC5sb2NcbiAgICB9O1xuICB9XG59XG4iXX0=\n","/* global define, require */\n'use strict';\n\nexports.__esModule = true;\n\nvar _utils = require('../utils');\n\nvar SourceNode = undefined;\n\ntry {\n /* istanbul ignore next */\n if (typeof define !== 'function' || !define.amd) {\n // We don't support this in AMD environments. For these environments, we assume that\n // they are running on the browser and thus have no need for the source-map library.\n var SourceMap = require('source-map');\n SourceNode = SourceMap.SourceNode;\n }\n} catch (err) {}\n/* NOP */\n\n/* istanbul ignore if: tested but not covered in istanbul due to dist build */\nif (!SourceNode) {\n SourceNode = function (line, column, srcFile, chunks) {\n this.src = '';\n if (chunks) {\n this.add(chunks);\n }\n };\n /* istanbul ignore next */\n SourceNode.prototype = {\n add: function add(chunks) {\n if (_utils.isArray(chunks)) {\n chunks = chunks.join('');\n }\n this.src += chunks;\n },\n prepend: function prepend(chunks) {\n if (_utils.isArray(chunks)) {\n chunks = chunks.join('');\n }\n this.src = chunks + this.src;\n },\n toStringWithSourceMap: function toStringWithSourceMap() {\n return { code: this.toString() };\n },\n toString: function toString() {\n return this.src;\n }\n };\n}\n\nfunction castChunk(chunk, codeGen, loc) {\n if (_utils.isArray(chunk)) {\n var ret = [];\n\n for (var i = 0, len = chunk.length; i < len; i++) {\n ret.push(codeGen.wrap(chunk[i], loc));\n }\n return ret;\n } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n // Handle primitives that the SourceNode will throw up on\n return chunk + '';\n }\n return chunk;\n}\n\nfunction CodeGen(srcFile) {\n this.srcFile = srcFile;\n this.source = [];\n}\n\nCodeGen.prototype = {\n isEmpty: function isEmpty() {\n return !this.source.length;\n },\n prepend: function prepend(source, loc) {\n this.source.unshift(this.wrap(source, loc));\n },\n push: function push(source, loc) {\n this.source.push(this.wrap(source, loc));\n },\n\n merge: function merge() {\n var source = this.empty();\n this.each(function (line) {\n source.add([' ', line, '\\n']);\n });\n return source;\n },\n\n each: function each(iter) {\n for (var i = 0, len = this.source.length; i < len; i++) {\n iter(this.source[i]);\n }\n },\n\n empty: function empty() {\n var loc = this.currentLocation || { start: {} };\n return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n },\n wrap: function wrap(chunk) {\n var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];\n\n if (chunk instanceof SourceNode) {\n return chunk;\n }\n\n chunk = castChunk(chunk, this, loc);\n\n return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n },\n\n functionCall: function functionCall(fn, type, params) {\n params = this.generateList(params);\n return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n },\n\n quotedString: function quotedString(str) {\n return '\"' + (str + '').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 + 7.8.4\n .replace(/\\u2029/g, '\\\\u2029') + '\"';\n },\n\n objectLiteral: function objectLiteral(obj) {\n // istanbul ignore next\n\n var _this = this;\n\n var pairs = [];\n\n Object.keys(obj).forEach(function (key) {\n var value = castChunk(obj[key], _this);\n if (value !== 'undefined') {\n pairs.push([_this.quotedString(key), ':', value]);\n }\n });\n\n var ret = this.generateList(pairs);\n ret.prepend('{');\n ret.add('}');\n return ret;\n },\n\n generateList: function generateList(entries) {\n var ret = this.empty();\n\n for (var i = 0, len = entries.length; i < len; i++) {\n if (i) {\n ret.add(',');\n }\n\n ret.add(castChunk(entries[i], this));\n }\n\n return ret;\n },\n\n generateArray: function generateArray(entries) {\n var ret = this.generateList(entries);\n ret.prepend('[');\n ret.add(']');\n\n return ret;\n }\n};\n\nexports['default'] = CodeGen;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvZGUtZ2VuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O3FCQUN3QixVQUFVOztBQUVsQyxJQUFJLFVBQVUsWUFBQSxDQUFDOztBQUVmLElBQUk7O0FBRUYsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFOzs7QUFHL0MsUUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3RDLGNBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO0dBQ25DO0NBQ0YsQ0FBQyxPQUFPLEdBQUcsRUFBRSxFQUViOzs7O0FBQUEsQUFHRCxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsWUFBVSxHQUFHLFVBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO0FBQ25ELFFBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ2QsUUFBSSxNQUFNLEVBQUU7QUFDVixVQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xCO0dBQ0YsQ0FBQzs7QUFFRixZQUFVLENBQUMsU0FBUyxHQUFHO0FBQ3JCLE9BQUcsRUFBRSxhQUFTLE1BQU0sRUFBRTtBQUNwQixVQUFJLGVBQVEsTUFBTSxDQUFDLEVBQUU7QUFDbkIsY0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7T0FDMUI7QUFDRCxVQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQztLQUNwQjtBQUNELFdBQU8sRUFBRSxpQkFBUyxNQUFNLEVBQUU7QUFDeEIsVUFBSSxlQUFRLE1BQU0sQ0FBQyxFQUFFO0FBQ25CLGNBQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO09BQzFCO0FBQ0QsVUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztL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QUcsQ0FBQyxDQUFDO0FBQ2pCLE9BQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRWIsV0FBTyxHQUFHLENBQUM7R0FDWjtDQUNGLENBQUM7O3FCQUVhLE9BQU8iLCJmaWxlIjoiY29kZS1nZW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgZGVmaW5lLCByZXF1aXJlICovXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5sZXQgU291cmNlTm9kZTtcblxudHJ5IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHR5cGVvZiBkZWZpbmUgIT09ICdmdW5jdGlvbicgfHwgIWRlZmluZS5hbWQpIHtcbiAgICAvLyBXZSBkb24ndCBzdXBwb3J0IHRoaXMgaW4gQU1EIGVudmlyb25tZW50cy4gRm9yIHRoZXNlIGVudmlyb25tZW50cywgd2UgYXNzdW1lIHRoYXRcbiAgICAvLyB0aGV5IGFyZSBydW5uaW5nIG9uIHRoZSBicm93c2VyIGFuZCB0aHVzIGhhdmUgbm8gbmVlZCBmb3IgdGhlIHNvdXJjZS1tYXAgbGlicmFyeS5cbiAgICBsZXQgU291cmNlTWFwID0gcmVxdWlyZSgnc291cmNlLW1hcCcpO1xuICAgIFNvdXJjZU5vZGUgPSBTb3VyY2VNYXAuU291cmNlTm9kZTtcbiAgfVxufSBjYXRjaCAoZXJyKSB7XG4gIC8qIE5PUCAqL1xufVxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWY6IHRlc3RlZCBidXQgbm90IGNvdmVyZWQgaW4gaXN0YW5idWwgZHVlIHRvIGRpc3QgYnVpbGQgICovXG5pZiAoIVNvdXJjZU5vZGUpIHtcbiAgU291cmNlTm9kZSA9IGZ1bmN0aW9uKGxpbmUsIGNvbHVtbiwgc3JjRmlsZSwgY2h1bmtzKSB7XG4gICAgdGhpcy5zcmMgPSAnJztcbiAgICBpZiAoY2h1bmtzKSB7XG4gICAgICB0aGlzLmFkZChjaHVua3MpO1xuICAgIH1cbiAgfTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgU291cmNlTm9kZS5wcm90b3R5cGUgPSB7XG4gICAgYWRkOiBmdW5jdGlvbihjaHVua3MpIHtcbiAgICAgIGlmIChpc0FycmF5KGNodW5rcykpIHtcbiAgICAgICAgY2h1bmtzID0gY2h1bmtzLmpvaW4oJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5zcmMgKz0gY2h1bmtzO1xuICAgIH0sXG4gICAgcHJlcGVuZDogZnVuY3Rpb24oY2h1bmtzKSB7XG4gICAgICBpZiAoaXNBcnJheShjaHVua3MpKSB7XG4gICAgICAgIGNodW5rcyA9IGNodW5rcy5qb2luKCcnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3JjID0gY2h1bmtzICsgdGhpcy5zcmM7XG4gICAgfSxcbiAgICB0b1N0cmluZ1dpdGhTb3VyY2VNYXA6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHsgY29kZTogdGhpcy50b1N0cmluZygpIH07XG4gICAgfSxcbiAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5zcmM7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBjYXN0Q2h1bmsoY2h1bmssIGNvZGVHZW4sIGxvYykge1xuICBpZiAoaXNBcnJheShjaHVuaykpIHtcbiAgICBsZXQgcmV0ID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gY2h1bmsubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHJldC5wdXNoKGNvZGVHZW4ud3JhcChjaHVua1tpXSwgbG9jKSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rID09PSAnYm9vbGVhbicgfHwgdHlwZW9mIGNodW5rID09PSAnbnVtYmVyJykge1xuICAgIC8vIEhhbmRsZSBwcmltaXRpdmVzIHRoYXQgdGhlIFNvdXJjZU5vZGUgd2lsbCB0aHJvdyB1cCBvblxuICAgIHJldHVybiBjaHVuayArICcnO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cblxuZnVuY3Rpb24gQ29kZUdlbihzcmNGaWxlKSB7XG4gIHRoaXMuc3JjRmlsZSA9IHNyY0ZpbGU7XG4gIHRoaXMuc291cmNlID0gW107XG59XG5cbkNvZGVHZW4ucHJvdG90eXBlID0ge1xuICBpc0VtcHR5KCkge1xuICAgIHJldHVybiAhdGhpcy5zb3VyY2UubGVuZ3RoO1xuICB9LFxuICBwcmVwZW5kOiBmdW5jdGlvbihzb3VyY2UsIGxvYykge1xuICAgIHRoaXMuc291cmNlLnVuc2hpZnQodGhpcy53cmFwKHNvdXJjZSwgbG9jKSk7XG4gIH0sXG4gIHB1c2g6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jKSB7XG4gICAgdGhpcy5zb3VyY2UucHVzaCh0aGlzLndyYXAoc291cmNlLCBsb2MpKTtcbiAgfSxcblxuICBtZXJnZTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IHNvdXJjZSA9IHRoaXMuZW1wdHkoKTtcbiAgICB0aGlzLmVhY2goZnVuY3Rpb24obGluZSkge1xuICAgICAgc291cmNlLmFkZChbJyAgJywgbGluZSwgJ1xcbiddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc291cmNlO1xuICB9LFxuXG4gIGVhY2g6IGZ1bmN0aW9uKGl0ZXIpIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdGhpcy5zb3VyY2UubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGl0ZXIodGhpcy5zb3VyY2VbaV0pO1xuICAgIH1cbiAgfSxcblxuICBlbXB0eTogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGxvYyA9IHRoaXMuY3VycmVudExvY2F0aW9uIHx8IHsgc3RhcnQ6IHt9IH07XG4gICAgcmV0dXJuIG5ldyBTb3VyY2VOb2RlKGxvYy5zdGFydC5saW5lLCBsb2Muc3RhcnQuY29sdW1uLCB0aGlzLnNyY0ZpbGUpO1xuICB9LFxuICB3cmFwOiBmdW5jdGlvbihjaHVuaywgbG9jID0gdGhpcy5jdXJyZW50TG9jYXRpb24gfHwgeyBzdGFydDoge30gfSkge1xuICAgIGlmIChjaHVuayBpbnN0YW5jZW9mIFNvdXJjZU5vZGUpIHtcbiAgICAgIHJldHVybiBjaHVuaztcbiAgICB9XG5cbiAgICBjaHVuayA9IGNhc3RDaHVuayhjaHVuaywgdGhpcywgbG9jKTtcblxuICAgIHJldHVybiBuZXcgU291cmNlTm9kZShcbiAgICAgIGxvYy5zdGFydC5saW5lLFxuICAgICAgbG9jLnN0YXJ0LmNvbHVtbixcbiAgICAgIHRoaXMuc3JjRmlsZSxcbiAgICAgIGNodW5rXG4gICAgKTtcbiAgfSxcblxuICBmdW5jdGlvbkNhbGw6IGZ1bmN0aW9uKGZuLCB0eXBlLCBwYXJhbXMpIHtcbiAgICBwYXJhbXMgPSB0aGlzLmdlbmVyYXRlTGlzdChwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLndyYXAoW2ZuLCB0eXBlID8gJy4nICsgdHlwZSArICcoJyA6ICcoJywgcGFyYW1zLCAnKSddKTtcbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiAoXG4gICAgICAnXCInICtcbiAgICAgIChzdHIgKyAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJylcbiAgICAgICAgLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKVxuICAgICAgICAucmVwbGFjZSgvXFxuL2csICdcXFxcbicpXG4gICAgICAgIC5yZXBsYWNlKC9cXHIvZywgJ1xcXFxyJylcbiAgICAgICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcpIC8vIFBlciBFY21hLTI2MiA3LjMgKyA3LjguNFxuICAgICAgICAucmVwbGFjZSgvXFx1MjAyOS9nLCAnXFxcXHUyMDI5JykgK1xuICAgICAgJ1wiJ1xuICAgICk7XG4gIH0sXG5cbiAgb2JqZWN0TGl0ZXJhbDogZnVuY3Rpb24ob2JqKSB7XG4gICAgbGV0IHBhaXJzID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IGNhc3RDaHVuayhvYmpba2V5XSwgdGhpcyk7XG4gICAgICBpZiAodmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHBhaXJzLnB1c2goW3RoaXMucXVvdGVkU3RyaW5nKGtleSksICc6JywgdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChwYWlycyk7XG4gICAgcmV0LnByZXBlbmQoJ3snKTtcbiAgICByZXQuYWRkKCd9Jyk7XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBnZW5lcmF0ZUxpc3Q6IGZ1bmN0aW9uKGVudHJpZXMpIHtcbiAgICBsZXQgcmV0ID0gdGhpcy5lbXB0eSgpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGVudHJpZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmIChpKSB7XG4gICAgICAgIHJldC5hZGQoJywnKTtcbiAgICAgIH1cblxuICAgICAgcmV0LmFkZChjYXN0Q2h1bmsoZW50cmllc1tpXSwgdGhpcykpO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgZ2VuZXJhdGVBcnJheTogZnVuY3Rpb24oZW50cmllcykge1xuICAgIGxldCByZXQgPSB0aGlzLmdlbmVyYXRlTGlzdChlbnRyaWVzKTtcbiAgICByZXQucHJlcGVuZCgnWycpO1xuICAgIHJldC5hZGQoJ10nKTtcblxuICAgIHJldHVybiByZXQ7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGVHZW47XG4iXX0=\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _base = require('../base');\n\nvar _exception = require('../exception');\n\nvar _exception2 = _interopRequireDefault(_exception);\n\nvar _utils = require('../utils');\n\nvar _codeGen = require('./code-gen');\n\nvar _codeGen2 = _interopRequireDefault(_codeGen);\n\nfunction Literal(value) {\n this.value = value;\n}\n\nfunction JavaScriptCompiler() {}\n\nJavaScriptCompiler.prototype = {\n // PUBLIC API: You can override these methods in a subclass to provide\n // alternative compiled forms for name lookup and buffering semantics\n nameLookup: function nameLookup(parent, name /*, type */) {\n return this.internalNameLookup(parent, name);\n },\n depthedLookup: function depthedLookup(name) {\n return [this.aliasable('container.lookup'), '(depths, ', JSON.stringify(name), ')'];\n },\n\n compilerInfo: function compilerInfo() {\n var revision = _base.COMPILER_REVISION,\n versions = _base.REVISION_CHANGES[revision];\n return [revision, versions];\n },\n\n appendToBuffer: function appendToBuffer(source, location, explicit) {\n // Force a source as this simplifies the merge logic.\n if (!_utils.isArray(source)) {\n source = [source];\n }\n source = this.source.wrap(source, location);\n\n if (this.environment.isSimple) {\n return ['return ', source, ';'];\n } else if (explicit) {\n // This is a case where the buffer operation occurs as a child of another\n // construct, generally braces. We have to explicitly output these buffer\n // operations to ensure that the emitted code goes in the correct location.\n return ['buffer += ', source, ';'];\n } else {\n source.appendToBuffer = true;\n return source;\n }\n },\n\n initializeBuffer: function initializeBuffer() {\n return this.quotedString('');\n },\n // END PUBLIC API\n internalNameLookup: function internalNameLookup(parent, name) {\n this.lookupPropertyFunctionIsUsed = true;\n return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];\n },\n\n lookupPropertyFunctionIsUsed: false,\n\n compile: function compile(environment, options, context, asObject) {\n this.environment = environment;\n this.options = options;\n this.stringParams = this.options.stringParams;\n this.trackIds = this.options.trackIds;\n this.precompile = !asObject;\n\n this.name = this.environment.name;\n this.isChild = !!context;\n this.context = context || {\n decorators: [],\n programs: [],\n environments: []\n };\n\n this.preamble();\n\n this.stackSlot = 0;\n this.stackVars = [];\n this.aliases = {};\n this.registers = { list: [] };\n this.hashes = [];\n this.compileStack = [];\n this.inlineStack = [];\n this.blockParams = [];\n\n this.compileChildren(environment, options);\n\n this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n\n var opcodes = environment.opcodes,\n opcode = undefined,\n firstLoc = undefined,\n i = undefined,\n l = undefined;\n\n for (i = 0, l = opcodes.length; i < l; i++) {\n opcode = opcodes[i];\n\n this.source.currentLocation = opcode.loc;\n firstLoc = firstLoc || opcode.loc;\n this[opcode.opcode].apply(this, opcode.args);\n }\n\n // Flush any trailing content that might be pending.\n this.source.currentLocation = firstLoc;\n this.pushSource('');\n\n /* istanbul ignore next */\n if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n throw new _exception2['default']('Compile completed with content left on stack');\n }\n\n if (!this.decorators.isEmpty()) {\n this.useDecorators = true;\n\n this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\\n']);\n this.decorators.push('return fn;');\n\n if (asObject) {\n this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n } else {\n this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n this.decorators.push('}\\n');\n this.decorators = this.decorators.merge();\n }\n } else {\n this.decorators = undefined;\n }\n\n var fn = this.createFunctionContext(asObject);\n if (!this.isChild) {\n var ret = {\n compiler: this.compilerInfo(),\n main: fn\n };\n\n if (this.decorators) {\n ret.main_d = this.decorators; // eslint-disable-line camelcase\n ret.useDecorators = true;\n }\n\n var _context = this.context;\n var programs = _context.programs;\n var decorators = _context.decorators;\n\n for (i = 0, l = programs.length; i < l; i++) {\n if (programs[i]) {\n ret[i] = programs[i];\n if (decorators[i]) {\n ret[i + '_d'] = decorators[i];\n ret.useDecorators = true;\n }\n }\n }\n\n if (this.environment.usePartial) {\n ret.usePartial = true;\n }\n if (this.options.data) {\n ret.useData = true;\n }\n if (this.useDepths) {\n ret.useDepths = true;\n }\n if (this.useBlockParams) {\n ret.useBlockParams = true;\n }\n if (this.options.compat) {\n ret.compat = true;\n }\n\n if (!asObject) {\n ret.compiler = JSON.stringify(ret.compiler);\n\n this.source.currentLocation = { start: { line: 1, column: 0 } };\n ret = this.objectLiteral(ret);\n\n if (options.srcName) {\n ret = ret.toStringWithSourceMap({ file: options.destName });\n ret.map = ret.map && ret.map.toString();\n } else {\n ret = ret.toString();\n }\n } else {\n ret.compilerOptions = this.options;\n }\n\n return ret;\n } else {\n return fn;\n }\n },\n\n preamble: function preamble() {\n // track the last context pushed into place to allow skipping the\n // getContext opcode when it would be a noop\n this.lastContext = 0;\n this.source = new _codeGen2['default'](this.options.srcName);\n this.decorators = new _codeGen2['default'](this.options.srcName);\n },\n\n createFunctionContext: function createFunctionContext(asObject) {\n // istanbul ignore next\n\n var _this = this;\n\n var varDeclarations = '';\n\n var locals = this.stackVars.concat(this.registers.list);\n if (locals.length > 0) {\n varDeclarations += ', ' + locals.join(', ');\n }\n\n // Generate minimizer alias mappings\n //\n // When using true SourceNodes, this will update all references to the given alias\n // as the source nodes are reused in situ. For the non-source node compilation mode,\n // aliases will not be used, but this case is already being run on the client and\n // we aren't concern about minimizing the template size.\n var aliasCount = 0;\n Object.keys(this.aliases).forEach(function (alias) {\n var node = _this.aliases[alias];\n if (node.children && node.referenceCount > 1) {\n varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n node.children[0] = 'alias' + aliasCount;\n }\n });\n\n if (this.lookupPropertyFunctionIsUsed) {\n varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();\n }\n\n var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\n if (this.useBlockParams || this.useDepths) {\n params.push('blockParams');\n }\n if (this.useDepths) {\n params.push('depths');\n }\n\n // Perform a second pass over the output to merge content when possible\n var source = this.mergeSource(varDeclarations);\n\n if (asObject) {\n params.push(source);\n\n return Function.apply(this, params);\n } else {\n return this.source.wrap(['function(', params.join(','), ') {\\n ', source, '}']);\n }\n },\n mergeSource: function mergeSource(varDeclarations) {\n var isSimple = this.environment.isSimple,\n appendOnly = !this.forceBuffer,\n appendFirst = undefined,\n sourceSeen = undefined,\n bufferStart = undefined,\n bufferEnd = undefined;\n this.source.each(function (line) {\n if (line.appendToBuffer) {\n if (bufferStart) {\n line.prepend(' + ');\n } else {\n bufferStart = line;\n }\n bufferEnd = line;\n } else {\n if (bufferStart) {\n if (!sourceSeen) {\n appendFirst = true;\n } else {\n bufferStart.prepend('buffer += ');\n }\n bufferEnd.add(';');\n bufferStart = bufferEnd = undefined;\n }\n\n sourceSeen = true;\n if (!isSimple) {\n appendOnly = false;\n }\n }\n });\n\n if (appendOnly) {\n if (bufferStart) {\n bufferStart.prepend('return ');\n bufferEnd.add(';');\n } else if (!sourceSeen) {\n this.source.push('return \"\";');\n }\n } else {\n varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\n if (bufferStart) {\n bufferStart.prepend('return buffer + ');\n bufferEnd.add(';');\n } else {\n this.source.push('return buffer;');\n }\n }\n\n if (varDeclarations) {\n this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n }\n\n return this.source.merge();\n },\n\n lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {\n return '\\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n return parent[propertyName];\\n }\\n return undefined\\n }\\n '.trim();\n },\n\n // [blockValue]\n //\n // On stack, before: hash, inverse, program, value\n // On stack, after: return value of blockHelperMissing\n //\n // The purpose of this opcode is to take a block of the form\n // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n // replace it on the stack with the result of properly\n // invoking blockHelperMissing.\n blockValue: function blockValue(name) {\n var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n params = [this.contextName(0)];\n this.setupHelperArgs(name, 0, params);\n\n var blockName = this.popStack();\n params.splice(1, 0, blockName);\n\n this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n },\n\n // [ambiguousBlockValue]\n //\n // On stack, before: hash, inverse, program, value\n // Compiler value, before: lastHelper=value of last found helper, if any\n // On stack, after, if no lastHelper: same as [blockValue]\n // On stack, after, if lastHelper: value\n ambiguousBlockValue: function ambiguousBlockValue() {\n // We're being a bit cheeky and reusing the options value from the prior exec\n var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n params = [this.contextName(0)];\n this.setupHelperArgs('', 0, params, true);\n\n this.flushInline();\n\n var current = this.topStack();\n params.splice(1, 0, current);\n\n this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n },\n\n // [appendContent]\n //\n // On stack, before: ...\n // On stack, after: ...\n //\n // Appends the string value of `content` to the current buffer\n appendContent: function appendContent(content) {\n if (this.pendingContent) {\n content = this.pendingContent + content;\n } else {\n this.pendingLocation = this.source.currentLocation;\n }\n\n this.pendingContent = content;\n },\n\n // [append]\n //\n // On stack, before: value, ...\n // On stack, after: ...\n //\n // Coerces `value` to a String and appends it to the current buffer.\n //\n // If `value` is truthy, or 0, it is coerced into a string and appended\n // Otherwise, the empty string is appended\n append: function append() {\n if (this.isInline()) {\n this.replaceStack(function (current) {\n return [' != null ? ', current, ' : \"\"'];\n });\n\n this.pushSource(this.appendToBuffer(this.popStack()));\n } else {\n var local = this.popStack();\n this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n if (this.environment.isSimple) {\n this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n }\n }\n },\n\n // [appendEscaped]\n //\n // On stack, before: value, ...\n // On stack, after: ...\n //\n // Escape `value` and append it to the buffer\n appendEscaped: function appendEscaped() {\n this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n },\n\n // [getContext]\n //\n // On stack, before: ...\n // On stack, after: ...\n // Compiler value, after: lastContext=depth\n //\n // Set the value of the `lastContext` compiler value to the depth\n getContext: function getContext(depth) {\n this.lastContext = depth;\n },\n\n // [pushContext]\n //\n // On stack, before: ...\n // On stack, after: currentContext, ...\n //\n // Pushes the value of the current context onto the stack.\n pushContext: function pushContext() {\n this.pushStackLiteral(this.contextName(this.lastContext));\n },\n\n // [lookupOnContext]\n //\n // On stack, before: ...\n // On stack, after: currentContext[name], ...\n //\n // Looks up the value of `name` on the current context and pushes\n // it onto the stack.\n lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n var i = 0;\n\n if (!scoped && this.options.compat && !this.lastContext) {\n // The depthed query is expected to handle the undefined logic for the root level that\n // is implemented below, so we evaluate that directly in compat mode\n this.push(this.depthedLookup(parts[i++]));\n } else {\n this.pushContext();\n }\n\n this.resolvePath('context', parts, i, falsy, strict);\n },\n\n // [lookupBlockParam]\n //\n // On stack, before: ...\n // On stack, after: blockParam[name], ...\n //\n // Looks up the value of `parts` on the given block param and pushes\n // it onto the stack.\n lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n this.useBlockParams = true;\n\n this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n this.resolvePath('context', parts, 1);\n },\n\n // [lookupData]\n //\n // On stack, before: ...\n // On stack, after: data, ...\n //\n // Push the data lookup operator\n lookupData: function lookupData(depth, parts, strict) {\n if (!depth) {\n this.pushStackLiteral('data');\n } else {\n this.pushStackLiteral('container.data(data, ' + depth + ')');\n }\n\n this.resolvePath('data', parts, 0, true, strict);\n },\n\n resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n // istanbul ignore next\n\n var _this2 = this;\n\n if (this.options.strict || this.options.assumeObjects) {\n this.push(strictLookup(this.options.strict && strict, this, parts, i, type));\n return;\n }\n\n var len = parts.length;\n for (; i < len; i++) {\n /* eslint-disable no-loop-func */\n this.replaceStack(function (current) {\n var lookup = _this2.nameLookup(current, parts[i], type);\n // We want to ensure that zero and false are handled properly if the context (falsy flag)\n // needs to have the special handling for these values.\n if (!falsy) {\n return [' != null ? ', lookup, ' : ', current];\n } else {\n // Otherwise we can use generic falsy handling\n return [' && ', lookup];\n }\n });\n /* eslint-enable no-loop-func */\n }\n },\n\n // [resolvePossibleLambda]\n //\n // On stack, before: value, ...\n // On stack, after: resolved value, ...\n //\n // If the `value` is a lambda, replace it on the stack by\n // the return value of the lambda\n resolvePossibleLambda: function resolvePossibleLambda() {\n this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n },\n\n // [pushStringParam]\n //\n // On stack, before: ...\n // On stack, after: string, currentContext, ...\n //\n // This opcode is designed for use in string mode, which\n // provides the string value of a parameter along with its\n // depth rather than resolving it immediately.\n pushStringParam: function pushStringParam(string, type) {\n this.pushContext();\n this.pushString(type);\n\n // If it's a subexpression, the string result\n // will be pushed after this opcode.\n if (type !== 'SubExpression') {\n if (typeof string === 'string') {\n this.pushString(string);\n } else {\n this.pushStackLiteral(string);\n }\n }\n },\n\n emptyHash: function emptyHash(omitEmpty) {\n if (this.trackIds) {\n this.push('{}'); // hashIds\n }\n if (this.stringParams) {\n this.push('{}'); // hashContexts\n this.push('{}'); // hashTypes\n }\n this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n },\n pushHash: function pushHash() {\n if (this.hash) {\n this.hashes.push(this.hash);\n }\n this.hash = { values: {}, types: [], contexts: [], ids: [] };\n },\n popHash: function popHash() {\n var hash = this.hash;\n this.hash = this.hashes.pop();\n\n if (this.trackIds) {\n this.push(this.objectLiteral(hash.ids));\n }\n if (this.stringParams) {\n this.push(this.objectLiteral(hash.contexts));\n this.push(this.objectLiteral(hash.types));\n }\n\n this.push(this.objectLiteral(hash.values));\n },\n\n // [pushString]\n //\n // On stack, before: ...\n // On stack, after: quotedString(string), ...\n //\n // Push a quoted version of `string` onto the stack\n pushString: function pushString(string) {\n this.pushStackLiteral(this.quotedString(string));\n },\n\n // [pushLiteral]\n //\n // On stack, before: ...\n // On stack, after: value, ...\n //\n // Pushes a value onto the stack. This operation prevents\n // the compiler from creating a temporary variable to hold\n // it.\n pushLiteral: function pushLiteral(value) {\n this.pushStackLiteral(value);\n },\n\n // [pushProgram]\n //\n // On stack, before: ...\n // On stack, after: program(guid), ...\n //\n // Push a program expression onto the stack. This takes\n // a compile-time guid and converts it into a runtime-accessible\n // expression.\n pushProgram: function pushProgram(guid) {\n if (guid != null) {\n this.pushStackLiteral(this.programExpression(guid));\n } else {\n this.pushStackLiteral(null);\n }\n },\n\n // [registerDecorator]\n //\n // On stack, before: hash, program, params..., ...\n // On stack, after: ...\n //\n // Pops off the decorator's parameters, invokes the decorator,\n // and inserts the decorator into the decorators list.\n registerDecorator: function registerDecorator(paramSize, name) {\n var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n options = this.setupHelperArgs(name, paramSize);\n\n this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n },\n\n // [invokeHelper]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of helper invocation\n //\n // Pops off the helper's parameters, invokes the helper,\n // and pushes the helper's return value onto the stack.\n //\n // If the helper is not found, `helperMissing` is called.\n invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n var nonHelper = this.popStack(),\n helper = this.setupHelper(paramSize, name);\n\n var possibleFunctionCalls = [];\n\n if (isSimple) {\n // direct call to helper\n possibleFunctionCalls.push(helper.name);\n }\n // call a function from the input object\n possibleFunctionCalls.push(nonHelper);\n if (!this.options.strict) {\n possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));\n }\n\n var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];\n var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);\n this.push(functionCall);\n },\n\n itemsSeparatedBy: function itemsSeparatedBy(items, separator) {\n var result = [];\n result.push(items[0]);\n for (var i = 1; i < items.length; i++) {\n result.push(separator, items[i]);\n }\n return result;\n },\n // [invokeKnownHelper]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of helper invocation\n //\n // This operation is used when the helper is known to exist,\n // so a `helperMissing` fallback is not required.\n invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n var helper = this.setupHelper(paramSize, name);\n this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n },\n\n // [invokeAmbiguous]\n //\n // On stack, before: hash, inverse, program, params..., ...\n // On stack, after: result of disambiguation\n //\n // This operation is used when an expression like `{{foo}}`\n // is provided, but we don't know at compile-time whether it\n // is a helper or a path.\n //\n // This operation emits more code than the other options,\n // and can be avoided by passing the `knownHelpers` and\n // `knownHelpersOnly` flags at compile-time.\n invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n this.useRegister('helper');\n\n var nonHelper = this.popStack();\n\n this.emptyHash();\n var helper = this.setupHelper(0, name, helperCall);\n\n var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n\n var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n if (!this.options.strict) {\n lookup[0] = '(helper = ';\n lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));\n }\n\n this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n },\n\n // [invokePartial]\n //\n // On stack, before: context, ...\n // On stack after: result of partial invocation\n //\n // This operation pops off a context, invokes a partial with that context,\n // and pushes the result of the invocation back.\n invokePartial: function invokePartial(isDynamic, name, indent) {\n var params = [],\n options = this.setupParams(name, 1, params);\n\n if (isDynamic) {\n name = this.popStack();\n delete options.name;\n }\n\n if (indent) {\n options.indent = JSON.stringify(indent);\n }\n options.helpers = 'helpers';\n options.partials = 'partials';\n options.decorators = 'container.decorators';\n\n if (!isDynamic) {\n params.unshift(this.nameLookup('partials', name, 'partial'));\n } else {\n params.unshift(name);\n }\n\n if (this.options.compat) {\n options.depths = 'depths';\n }\n options = this.objectLiteral(options);\n params.push(options);\n\n this.push(this.source.functionCall('container.invokePartial', '', params));\n },\n\n // [assignToHash]\n //\n // On stack, before: value, ..., hash, ...\n // On stack, after: ..., hash, ...\n //\n // Pops a value off the stack and assigns it to the current hash\n assignToHash: function assignToHash(key) {\n var value = this.popStack(),\n context = undefined,\n type = undefined,\n id = undefined;\n\n if (this.trackIds) {\n id = this.popStack();\n }\n if (this.stringParams) {\n type = this.popStack();\n context = this.popStack();\n }\n\n var hash = this.hash;\n if (context) {\n hash.contexts[key] = context;\n }\n if (type) {\n hash.types[key] = type;\n }\n if (id) {\n hash.ids[key] = id;\n }\n hash.values[key] = value;\n },\n\n pushId: function pushId(type, name, child) {\n if (type === 'BlockParam') {\n this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n } else if (type === 'PathExpression') {\n this.pushString(name);\n } else if (type === 'SubExpression') {\n this.pushStackLiteral('true');\n } else {\n this.pushStackLiteral('null');\n }\n },\n\n // HELPERS\n\n compiler: JavaScriptCompiler,\n\n compileChildren: function compileChildren(environment, options) {\n var children = environment.children,\n child = undefined,\n compiler = undefined;\n\n for (var i = 0, l = children.length; i < l; i++) {\n child = children[i];\n compiler = new this.compiler(); // eslint-disable-line new-cap\n\n var existing = this.matchExistingProgram(child);\n\n if (existing == null) {\n this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n var index = this.context.programs.length;\n child.index = index;\n child.name = 'program' + index;\n this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n this.context.decorators[index] = compiler.decorators;\n this.context.environments[index] = child;\n\n this.useDepths = this.useDepths || compiler.useDepths;\n this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n child.useDepths = this.useDepths;\n child.useBlockParams = this.useBlockParams;\n } else {\n child.index = existing.index;\n child.name = 'program' + existing.index;\n\n this.useDepths = this.useDepths || existing.useDepths;\n this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n }\n }\n },\n matchExistingProgram: function matchExistingProgram(child) {\n for (var i = 0, len = this.context.environments.length; i < len; i++) {\n var environment = this.context.environments[i];\n if (environment && environment.equals(child)) {\n return environment;\n }\n }\n },\n\n programExpression: function programExpression(guid) {\n var child = this.environment.children[guid],\n programParams = [child.index, 'data', child.blockParams];\n\n if (this.useBlockParams || this.useDepths) {\n programParams.push('blockParams');\n }\n if (this.useDepths) {\n programParams.push('depths');\n }\n\n return 'container.program(' + programParams.join(', ') + ')';\n },\n\n useRegister: function useRegister(name) {\n if (!this.registers[name]) {\n this.registers[name] = true;\n this.registers.list.push(name);\n }\n },\n\n push: function push(expr) {\n if (!(expr instanceof Literal)) {\n expr = this.source.wrap(expr);\n }\n\n this.inlineStack.push(expr);\n return expr;\n },\n\n pushStackLiteral: function pushStackLiteral(item) {\n this.push(new Literal(item));\n },\n\n pushSource: function pushSource(source) {\n if (this.pendingContent) {\n this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n this.pendingContent = undefined;\n }\n\n if (source) {\n this.source.push(source);\n }\n },\n\n replaceStack: function replaceStack(callback) {\n var prefix = ['('],\n stack = undefined,\n createdStack = undefined,\n usedLiteral = undefined;\n\n /* istanbul ignore next */\n if (!this.isInline()) {\n throw new _exception2['default']('replaceStack on non-inline');\n }\n\n // We want to merge the inline statement into the replacement statement via ','\n var top = this.popStack(true);\n\n if (top instanceof Literal) {\n // Literals do not need to be inlined\n stack = [top.value];\n prefix = ['(', stack];\n usedLiteral = true;\n } else {\n // Get or create the current stack name for use by the inline\n createdStack = true;\n var _name = this.incrStack();\n\n prefix = ['((', this.push(_name), ' = ', top, ')'];\n stack = this.topStack();\n }\n\n var item = callback.call(this, stack);\n\n if (!usedLiteral) {\n this.popStack();\n }\n if (createdStack) {\n this.stackSlot--;\n }\n this.push(prefix.concat(item, ')'));\n },\n\n incrStack: function incrStack() {\n this.stackSlot++;\n if (this.stackSlot > this.stackVars.length) {\n this.stackVars.push('stack' + this.stackSlot);\n }\n return this.topStackName();\n },\n topStackName: function topStackName() {\n return 'stack' + this.stackSlot;\n },\n flushInline: function flushInline() {\n var inlineStack = this.inlineStack;\n this.inlineStack = [];\n for (var i = 0, len = inlineStack.length; i < len; i++) {\n var entry = inlineStack[i];\n /* istanbul ignore if */\n if (entry instanceof Literal) {\n this.compileStack.push(entry);\n } else {\n var stack = this.incrStack();\n this.pushSource([stack, ' = ', entry, ';']);\n this.compileStack.push(stack);\n }\n }\n },\n isInline: function isInline() {\n return this.inlineStack.length;\n },\n\n popStack: function popStack(wrapped) {\n var inline = this.isInline(),\n item = (inline ? this.inlineStack : this.compileStack).pop();\n\n if (!wrapped && item instanceof Literal) {\n return item.value;\n } else {\n if (!inline) {\n /* istanbul ignore next */\n if (!this.stackSlot) {\n throw new _exception2['default']('Invalid stack pop');\n }\n this.stackSlot--;\n }\n return item;\n }\n },\n\n topStack: function topStack() {\n var stack = this.isInline() ? this.inlineStack : this.compileStack,\n item = stack[stack.length - 1];\n\n /* istanbul ignore if */\n if (item instanceof Literal) {\n return item.value;\n } else {\n return item;\n }\n },\n\n contextName: function contextName(context) {\n if (this.useDepths && context) {\n return 'depths[' + context + ']';\n } else {\n return 'depth' + context;\n }\n },\n\n quotedString: function quotedString(str) {\n return this.source.quotedString(str);\n },\n\n objectLiteral: function objectLiteral(obj) {\n return this.source.objectLiteral(obj);\n },\n\n aliasable: function aliasable(name) {\n var ret = this.aliases[name];\n if (ret) {\n ret.referenceCount++;\n return ret;\n }\n\n ret = this.aliases[name] = this.source.wrap(name);\n ret.aliasable = true;\n ret.referenceCount = 1;\n\n return ret;\n },\n\n setupHelper: function setupHelper(paramSize, name, blockHelper) {\n var params = [],\n paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n var foundHelper = this.nameLookup('helpers', name, 'helper'),\n callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n\n return {\n params: params,\n paramsInit: paramsInit,\n name: foundHelper,\n callParams: [callContext].concat(params)\n };\n },\n\n setupParams: function setupParams(helper, paramSize, params) {\n var options = {},\n contexts = [],\n types = [],\n ids = [],\n objectArgs = !params,\n param = undefined;\n\n if (objectArgs) {\n params = [];\n }\n\n options.name = this.quotedString(helper);\n options.hash = this.popStack();\n\n if (this.trackIds) {\n options.hashIds = this.popStack();\n }\n if (this.stringParams) {\n options.hashTypes = this.popStack();\n options.hashContexts = this.popStack();\n }\n\n var inverse = this.popStack(),\n program = this.popStack();\n\n // Avoid setting fn and inverse if neither are set. This allows\n // helpers to do a check for `if (options.fn)`\n if (program || inverse) {\n options.fn = program || 'container.noop';\n options.inverse = inverse || 'container.noop';\n }\n\n // The parameters go on to the stack in order (making sure that they are evaluated in order)\n // so we need to pop them off the stack in reverse order\n var i = paramSize;\n while (i--) {\n param = this.popStack();\n params[i] = param;\n\n if (this.trackIds) {\n ids[i] = this.popStack();\n }\n if (this.stringParams) {\n types[i] = this.popStack();\n contexts[i] = this.popStack();\n }\n }\n\n if (objectArgs) {\n options.args = this.source.generateArray(params);\n }\n\n if (this.trackIds) {\n options.ids = this.source.generateArray(ids);\n }\n if (this.stringParams) {\n options.types = this.source.generateArray(types);\n options.contexts = this.source.generateArray(contexts);\n }\n\n if (this.options.data) {\n options.data = 'data';\n }\n if (this.useBlockParams) {\n options.blockParams = 'blockParams';\n }\n return options;\n },\n\n setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n var options = this.setupParams(helper, paramSize, params);\n options.loc = JSON.stringify(this.source.currentLocation);\n options = this.objectLiteral(options);\n if (useRegister) {\n this.useRegister('options');\n params.push('options');\n return ['options=', options];\n } else if (params) {\n params.push(options);\n return '';\n } else {\n return options;\n }\n }\n};\n\n(function () {\n var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');\n\n var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\n for (var i = 0, l = reservedWords.length; i < l; i++) {\n compilerWords[reservedWords[i]] = true;\n }\n})();\n\n/**\n * @deprecated May be removed in the next major version\n */\nJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n};\n\nfunction strictLookup(requireTerminal, compiler, parts, i, type) {\n var stack = compiler.popStack(),\n len = parts.length;\n if (requireTerminal) {\n len--;\n }\n\n for (; i < len; i++) {\n stack = compiler.nameLookup(stack, parts[i], type);\n }\n\n if (requireTerminal) {\n return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];\n } else {\n return stack;\n }\n}\n\nexports['default'] = JavaScriptCompiler;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztvQkFBb0QsU0FBUzs7eUJBQ3ZDLGNBQWM7Ozs7cUJBQ1osVUFBVTs7dUJBQ2QsWUFBWTs7OztBQUVoQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsTUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Q0FDcEI7O0FBRUQsU0FBUyxrQkFBa0IsR0FBRyxFQUFFOztBQUVoQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUc7OztBQUc3QixZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFLElBQUksZUFBZTtBQUM5QyxXQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7R0FDOUM7QUFDRCxlQUFhLEVBQUUsdUJBQVMsSUFBSSxFQUFFO0FBQzVCLFdBQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNwQixHQUFHLENBQ0osQ0FBQztHQUNIOztBQUVELGNBQVksRUFBRSx3QkFBVztBQUN2QixRQUFNLFFBQVEsMEJBQW9CO1FBQ2hDLFFBQVEsR0FBRyx1QkFBaUIsUUFBUSxDQUFDLENBQUM7QUFDeEMsV0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztHQUM3Qjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFOztBQUVuRCxRQUFJLENBQUMsZUFBUSxNQUFNLENBQUMsRUFBRTtBQUNwQixZQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQjtBQUNELFVBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRTVDLFFB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LEVBQUU7QUFDbkIsU0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztHQUNwRDs7QUFFRCxNQUFJLGVBQWUsRUFBRTtBQUNuQixXQUFPLENBQ0wsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMvQixJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUMvQyxJQUFJLENBQ0wsQ0FBQztHQUNILE1BQU07QUFDTCxXQUFPLEtBQUssQ0FBQztHQUNkO0NBQ0Y7O3FCQUVjLGtCQUFrQiIsImZpbGUiOiJqYXZhc2NyaXB0LWNvbXBpbGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NUElMRVJfUkVWSVNJT04sIFJFVklTSU9OX0NIQU5HRVMgfSBmcm9tICcuLi9iYXNlJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgQ29kZUdlbiBmcm9tICcuL2NvZGUtZ2VuJztcblxuZnVuY3Rpb24gTGl0ZXJhbCh2YWx1ZSkge1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIEphdmFTY3JpcHRDb21waWxlcigpIHt9XG5cbkphdmFTY3JpcHRDb21waWxlci5wcm90b3R5cGUgPSB7XG4gIC8vIFBVQkxJQyBBUEk6IFlvdSBjYW4gb3ZlcnJpZGUgdGhlc2UgbWV0aG9kcyBpbiBhIHN1YmNsYXNzIHRvIHByb3ZpZGVcbiAgLy8gYWx0ZXJuYXRpdmUgY29tcGlsZWQgZm9ybXMgZm9yIG5hbWUgbG9va3VwIGFuZCBidWZmZXJpbmcgc2VtYW50aWNzXG4gIG5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSAvKiwgIHR5cGUgKi8pIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbE5hbWVMb29rdXAocGFyZW50LCBuYW1lKTtcbiAgfSxcbiAgZGVwdGhlZExvb2t1cDogZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxvb2t1cCcpLFxuICAgICAgJyhkZXB0aHMsICcsXG4gICAgICBKU09OLnN0cmluZ2lmeShuYW1lKSxcbiAgICAgICcpJ1xuICAgIF07XG4gIH0sXG5cbiAgY29tcGlsZXJJbmZvOiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCByZXZpc2lvbiA9IENPTVBJTEVSX1JFVklTSU9OLFxuICAgICAgdmVyc2lvbnMgPSBSRVZJU0lPTl9DSEFOR0VTW3JldmlzaW9uXTtcbiAgICByZXR1cm4gW3JldmlzaW9uLCB2ZXJzaW9uc107XG4gIH0sXG5cbiAgYXBwZW5kVG9CdWZmZXI6IGZ1bmN0aW9uKHNvdXJjZSwgbG9jYXRpb24sIGV4cGxpY2l0KSB7XG4gICAgLy8gRm9yY2UgYSBzb3VyY2UgYXMgdGhpcyBzaW1wbGlmaWVzIHRoZSBtZXJnZSBsb2dpYy5cbiAgICBpZiAoIWlzQXJyYXkoc291cmNlKSkge1xuICAgICAgc291cmNlID0gW3NvdXJjZV07XG4gICAgfVxuICAgIHNvdXJjZSA9IHRoaXMuc291cmNlLndyYXAoc291cmNlLCBsb2NhdGlvbik7XG5cbiAgICBpZiAodGhpcy5lbnZpcm9ubWVudC5pc1NpbXBsZSkge1xuICAgICAgcmV0dXJuIFsncmV0dXJuICcsIHNvdXJjZSwgJzsnXTtcbiAgICB9IGVsc2UgaWYgKGV4cGxpY2l0KSB7XG4gICAgICAvLyBUaGlzIGlzIGEgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIG9wZXJhdGlvbiBvY2N1cnMgYXMgYSBjaGlsZCBvZiBhbm90aGVyXG4gICAgICAvLyBjb25zdHJ1Y3QsIGdlbmVyYWxseSBicmFjZXMuIFdlIGhhdmUgdG8gZXhwbGljaXRseSBvdXRwdXQgdGhlc2UgYnVmZmVyXG4gICAgICAvLyBvcGVyYXRpb25zIHRvIGVuc3VyZSB0aGF0IHRoZSBlbWl0dGVkIGNvZGUgZ29lcyBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICAgIHJldHVybiBbJ2J1ZmZlciArPSAnLCBzb3VyY2UsICc7J107XG4gICAgfSBlbHNlIHtcbiAgICAgIHNvdXJjZS5hcHBlbmRUb0J1ZmZlciA9IHRydWU7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cbiAgfSxcblxuICBpbml0aWFsaXplQnVmZmVyOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZWRTdHJpbmcoJycpO1xuICB9LFxuICAvLyBFTkQgUFVCTElDIEFQSVxuICBpbnRlcm5hbE5hbWVMb29rdXA6IGZ1bmN0aW9uKHBhcmVudCwgbmFtZSkge1xuICAgIHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCA9IHRydWU7XG4gICAgcmV0dXJuIFsnbG9va3VwUHJvcGVydHkoJywgcGFyZW50LCAnLCcsIEpTT04uc3RyaW5naWZ5KG5hbWUpLCAnKSddO1xuICB9LFxuXG4gIGxvb2t1cFByb3BlcnR5RnVuY3Rpb25Jc1VzZWQ6IGZhbHNlLFxuXG4gIGNvbXBpbGU6IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zLCBjb250ZXh0LCBhc09iamVjdCkge1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuc3RyaW5nUGFyYW1zID0gdGhpcy5vcHRpb25zLnN0cmluZ1BhcmFtcztcbiAgICB0aGlzLnRyYWNrSWRzID0gdGhpcy5vcHRpb25zLnRyYWNrSWRzO1xuICAgIHRoaXMucHJlY29tcGlsZSA9ICFhc09iamVjdDtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMuZW52aXJvbm1lbnQubmFtZTtcbiAgICB0aGlzLmlzQ2hpbGQgPSAhIWNvbnRleHQ7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dCB8fCB7XG4gICAgICBkZWNvcmF0b3JzOiBbXSxcbiAgICAgIHByb2dyYW1zOiBbXSxcbiAgICAgIGVudmlyb25tZW50czogW11cbiAgICB9O1xuXG4gICAgdGhpcy5wcmVhbWJsZSgpO1xuXG4gICAgdGhpcy5zdGFja1Nsb3QgPSAwO1xuICAgIHRoaXMuc3RhY2tWYXJzID0gW107XG4gICAgdGhpcy5hbGlhc2VzID0ge307XG4gICAgdGhpcy5yZWdpc3RlcnMgPSB7IGxpc3Q6IFtdIH07XG4gICAgdGhpcy5oYXNoZXMgPSBbXTtcbiAgICB0aGlzLmNvbXBpbGVTdGFjayA9IFtdO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICB0aGlzLmJsb2NrUGFyYW1zID0gW107XG5cbiAgICB0aGlzLmNvbXBpbGVDaGlsZHJlbihlbnZpcm9ubWVudCwgb3B0aW9ucyk7XG5cbiAgICB0aGlzLnVzZURlcHRocyA9XG4gICAgICB0aGlzLnVzZURlcHRocyB8fFxuICAgICAgZW52aXJvbm1lbnQudXNlRGVwdGhzIHx8XG4gICAgICBlbnZpcm9ubWVudC51c2VEZWNvcmF0b3JzIHx8XG4gICAgICB0aGlzLm9wdGlvbnMuY29tcGF0O1xuICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGVudmlyb25tZW50LnVzZUJsb2NrUGFyYW1zO1xuXG4gICAgbGV0IG9wY29kZXMgPSBlbnZpcm9ubWVudC5vcGNvZGVzLFxuICAgICAgb3Bjb2RlLFxuICAgICAgZmlyc3RMb2MsXG4gICAgICBpLFxuICAgICAgbDtcblxuICAgIGZvciAoaSA9IDAsIGwgPSBvcGNvZGVzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgb3Bjb2RlID0gb3Bjb2Rlc1tpXTtcblxuICAgICAgdGhpcy5zb3VyY2UuY3VycmVudExvY2F0aW9uID0gb3Bjb2RlLmxvYztcbiAgICAgIGZpcnN0TG9jID0gZmlyc3RMb2MgfHwgb3Bjb2RlLmxvYztcbiAgICAgIHRoaXNbb3Bjb2RlLm9wY29kZV0uYXBwbHkodGhpcywgb3Bjb2RlLmFyZ3MpO1xuICAgIH1cblxuICAgIC8vIEZsdXNoIGFueSB0cmFpbGluZyBjb250ZW50IHRoYXQgbWlnaHQgYmUgcGVuZGluZy5cbiAgICB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb24gPSBmaXJzdExvYztcbiAgICB0aGlzLnB1c2hTb3VyY2UoJycpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5zdGFja1Nsb3QgfHwgdGhpcy5pbmxpbmVTdGFjay5sZW5ndGggfHwgdGhpcy5jb21waWxlU3RhY2subGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDb21waWxlIGNvbXBsZXRlZCB3aXRoIGNvbnRlbnQgbGVmdCBvbiBzdGFjaycpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kZWNvcmF0b3JzLmlzRW1wdHkoKSkge1xuICAgICAgdGhpcy51c2VEZWNvcmF0b3JzID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoW1xuICAgICAgICAndmFyIGRlY29yYXRvcnMgPSBjb250YWluZXIuZGVjb3JhdG9ycywgJyxcbiAgICAgICAgdGhpcy5sb29rdXBQcm9wZXJ0eUZ1bmN0aW9uVmFyRGVjbGFyYXRpb24oKSxcbiAgICAgICAgJztcXG4nXG4gICAgICBdKTtcbiAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCdyZXR1cm4gZm47Jyk7XG5cbiAgICAgIGlmIChhc09iamVjdCkge1xuICAgICAgICB0aGlzLmRlY29yYXRvcnMgPSBGdW5jdGlvbi5hcHBseSh0aGlzLCBbXG4gICAgICAgICAgJ2ZuJyxcbiAgICAgICAgICAncHJvcHMnLFxuICAgICAgICAgICdjb250YWluZXInLFxuICAgICAgICAgICdkZXB0aDAnLFxuICAgICAgICAgICdkYXRhJyxcbiAgICAgICAgICAnYmxvY2tQYXJhbXMnLFxuICAgICAgICAgICdkZXB0aHMnLFxuICAgICAgICAgIHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpXG4gICAgICAgIF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0b3JzLnByZXBlbmQoXG4gICAgICAgICAgJ2Z1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBkZXB0aDAsIGRhdGEsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcXG4nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKCd9XFxuJyk7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycyA9IHRoaXMuZGVjb3JhdG9ycy5tZXJnZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlY29yYXRvcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZuID0gdGhpcy5jcmVhdGVGdW5jdGlvbkNvbnRleHQoYXNPYmplY3QpO1xuICAgIGlmICghdGhpcy5pc0NoaWxkKSB7XG4gICAgICBsZXQgcmV0ID0ge1xuICAgICAgICBjb21waWxlcjogdGhpcy5jb21waWxlckluZm8oKSxcbiAgICAgICAgbWFpbjogZm5cbiAgICAgIH07XG5cbiAgICAgIGlmICh0aGlzLmRlY29yYXRvcnMpIHtcbiAgICAgICAgcmV0Lm1haW5fZCA9IHRoaXMuZGVjb3JhdG9yczsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjYW1lbGNhc2VcbiAgICAgICAgcmV0LnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgeyBwcm9ncmFtcywgZGVjb3JhdG9ycyB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgZm9yIChpID0gMCwgbCA9IHByb2dyYW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAocHJvZ3JhbXNbaV0pIHtcbiAgICAgICAgICByZXRbaV0gPSBwcm9ncmFtc1tpXTtcbiAgICAgICAgICBpZiAoZGVjb3JhdG9yc1tpXSkge1xuICAgICAgICAgICAgcmV0W2kgKyAnX2QnXSA9IGRlY29yYXRvcnNbaV07XG4gICAgICAgICAgICByZXQudXNlRGVjb3JhdG9ycyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LnVzZVBhcnRpYWwpIHtcbiAgICAgICAgcmV0LnVzZVBhcnRpYWwgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICAgIHJldC51c2VEYXRhID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgICByZXQudXNlRGVwdGhzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHJldC51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhdCkge1xuICAgICAgICByZXQuY29tcGF0ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhc09iamVjdCkge1xuICAgICAgICByZXQuY29tcGlsZXIgPSBKU09OLnN0cmluZ2lmeShyZXQuY29tcGlsZXIpO1xuXG4gICAgICAgIHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbiA9IHsgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAwIH0gfTtcbiAgICAgICAgcmV0ID0gdGhpcy5vYmplY3RMaXRlcmFsKHJldCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuc3JjTmFtZSkge1xuICAgICAgICAgIHJldCA9IHJldC50b1N0cmluZ1dpdGhTb3VyY2VNYXAoeyBmaWxlOiBvcHRpb25zLmRlc3ROYW1lIH0pO1xuICAgICAgICAgIHJldC5tYXAgPSByZXQubWFwICYmIHJldC5tYXAudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXQgPSByZXQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0LmNvbXBpbGVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZuO1xuICAgIH1cbiAgfSxcblxuICBwcmVhbWJsZTogZnVuY3Rpb24oKSB7XG4gICAgLy8gdHJhY2sgdGhlIGxhc3QgY29udGV4dCBwdXNoZWQgaW50byBwbGFjZSB0byBhbGxvdyBza2lwcGluZyB0aGVcbiAgICAvLyBnZXRDb250ZXh0IG9wY29kZSB3aGVuIGl0IHdvdWxkIGJlIGEgbm9vcFxuICAgIHRoaXMubGFzdENvbnRleHQgPSAwO1xuICAgIHRoaXMuc291cmNlID0gbmV3IENvZGVHZW4odGhpcy5vcHRpb25zLnNyY05hbWUpO1xuICAgIHRoaXMuZGVjb3JhdG9ycyA9IG5ldyBDb2RlR2VuKHRoaXMub3B0aW9ucy5zcmNOYW1lKTtcbiAgfSxcblxuICBjcmVhdGVGdW5jdGlvbkNvbnRleHQ6IGZ1bmN0aW9uKGFzT2JqZWN0KSB7XG4gICAgbGV0IHZhckRlY2xhcmF0aW9ucyA9ICcnO1xuXG4gICAgbGV0IGxvY2FscyA9IHRoaXMuc3RhY2tWYXJzLmNvbmNhdCh0aGlzLnJlZ2lzdGVycy5saXN0KTtcbiAgICBpZiAobG9jYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCAnICsgbG9jYWxzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgbWluaW1pemVyIGFsaWFzIG1hcHBpbmdzXG4gICAgLy9cbiAgICAvLyBXaGVuIHVzaW5nIHRydWUgU291cmNlTm9kZXMsIHRoaXMgd2lsbCB1cGRhdGUgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGdpdmVuIGFsaWFzXG4gICAgLy8gYXMgdGhlIHNvdXJjZSBub2RlcyBhcmUgcmV1c2VkIGluIHNpdHUuIEZvciB0aGUgbm9uLXNvdXJjZSBub2RlIGNvbXBpbGF0aW9uIG1vZGUsXG4gICAgLy8gYWxpYXNlcyB3aWxsIG5vdCBiZSB1c2VkLCBidXQgdGhpcyBjYXNlIGlzIGFscmVhZHkgYmVpbmcgcnVuIG9uIHRoZSBjbGllbnQgYW5kXG4gICAgLy8gd2UgYXJlbid0IGNvbmNlcm4gYWJvdXQgbWluaW1pemluZyB0aGUgdGVtcGxhdGUgc2l6ZS5cbiAgICBsZXQgYWxpYXNDb3VudCA9IDA7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGlhc2VzKS5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgIGxldCBub2RlID0gdGhpcy5hbGlhc2VzW2FsaWFzXTtcbiAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUucmVmZXJlbmNlQ291bnQgPiAxKSB7XG4gICAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCBhbGlhcycgKyArK2FsaWFzQ291bnQgKyAnPScgKyBhbGlhcztcbiAgICAgICAgbm9kZS5jaGlsZHJlblswXSA9ICdhbGlhcycgKyBhbGlhc0NvdW50O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCkge1xuICAgICAgdmFyRGVjbGFyYXRpb25zICs9ICcsICcgKyB0aGlzLmxvb2t1cFByb3BlcnR5RnVuY3Rpb25WYXJEZWNsYXJhdGlvbigpO1xuICAgIH1cblxuICAgIGxldCBwYXJhbXMgPSBbJ2NvbnRhaW5lcicsICdkZXB0aDAnLCAnaGVscGVycycsICdwYXJ0aWFscycsICdkYXRhJ107XG5cbiAgICBpZiAodGhpcy51c2VCbG9ja1BhcmFtcyB8fCB0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2RlcHRocycpO1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm0gYSBzZWNvbmQgcGFzcyBvdmVyIHRoZSBvdXRwdXQgdG8gbWVyZ2UgY29udGVudCB3aGVuIHBvc3NpYmxlXG4gICAgbGV0IHNvdXJjZSA9IHRoaXMubWVyZ2VTb3VyY2UodmFyRGVjbGFyYXRpb25zKTtcblxuICAgIGlmIChhc09iamVjdCkge1xuICAgICAgcGFyYW1zLnB1c2goc291cmNlKTtcblxuICAgICAgcmV0dXJuIEZ1bmN0aW9uLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZS53cmFwKFtcbiAgICAgICAgJ2Z1bmN0aW9uKCcsXG4gICAgICAgIHBhcmFtcy5qb2luKCcsJyksXG4gICAgICAgICcpIHtcXG4gICcsXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgJ30nXG4gICAgICBdKTtcbiAgICB9XG4gIH0sXG4gIG1lcmdlU291cmNlOiBmdW5jdGlvbih2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICBsZXQgaXNTaW1wbGUgPSB0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlLFxuICAgICAgYXBwZW5kT25seSA9ICF0aGlzLmZvcmNlQnVmZmVyLFxuICAgICAgYXBwZW5kRmlyc3QsXG4gICAgICBzb3VyY2VTZWVuLFxuICAgICAgYnVmZmVyU3RhcnQsXG4gICAgICBidWZmZXJFbmQ7XG4gICAgdGhpcy5zb3VyY2UuZWFjaChsaW5lID0+IHtcbiAgICAgIGlmIChsaW5lLmFwcGVuZFRvQnVmZmVyKSB7XG4gICAgICAgIGlmIChidWZmZXJTdGFydCkge1xuICAgICAgICAgIGxpbmUucHJlcGVuZCgnICArICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gbGluZTtcbiAgICAgICAgfVxuICAgICAgICBidWZmZXJFbmQgPSBsaW5lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGJ1ZmZlclN0YXJ0KSB7XG4gICAgICAgICAgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgICAgICBhcHBlbmRGaXJzdCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlclN0YXJ0LnByZXBlbmQoJ2J1ZmZlciArPSAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnVmZmVyRW5kLmFkZCgnOycpO1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gYnVmZmVyRW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgc291cmNlU2VlbiA9IHRydWU7XG4gICAgICAgIGlmICghaXNTaW1wbGUpIHtcbiAgICAgICAgICBhcHBlbmRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhcHBlbmRPbmx5KSB7XG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2UgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnB1c2goJ3JldHVybiBcIlwiOycpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXJEZWNsYXJhdGlvbnMgKz1cbiAgICAgICAgJywgYnVmZmVyID0gJyArIChhcHBlbmRGaXJzdCA/ICcnIDogdGhpcy5pbml0aWFsaXplQnVmZmVyKCkpO1xuXG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuIGJ1ZmZlciArICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNvdXJjZS5wdXNoKCdyZXR1cm4gYnVmZmVyOycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICAgIHRoaXMuc291cmNlLnByZXBlbmQoXG4gICAgICAgICd2YXIgJyArIHZhckRlY2xhcmF0aW9ucy5zdWJzdHJpbmcoMikgKyAoYXBwZW5kRmlyc3QgPyAnJyA6ICc7XFxuJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc291cmNlLm1lcmdlKCk7XG4gIH0sXG5cbiAgbG9va3VwUHJvcGVydHlGdW5jdGlvblZhckRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYFxuICAgICAgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHkgfHwgZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gcGFyZW50W3Byb3BlcnR5TmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICBgLnRyaW0oKTtcbiAgfSxcblxuICAvLyBbYmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gT24gc3RhY2ssIGFmdGVyOiByZXR1cm4gdmFsdWUgb2YgYmxvY2tIZWxwZXJNaXNzaW5nXG4gIC8vXG4gIC8vIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3Bjb2RlIGlzIHRvIHRha2UgYSBibG9jayBvZiB0aGUgZm9ybVxuICAvLyBge3sjdGhpcy5mb299fS4uLnt7L3RoaXMuZm9vfX1gLCByZXNvbHZlIHRoZSB2YWx1ZSBvZiBgZm9vYCwgYW5kXG4gIC8vIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIHdpdGggdGhlIHJlc3VsdCBvZiBwcm9wZXJseVxuICAvLyBpbnZva2luZyBibG9ja0hlbHBlck1pc3NpbmcuXG4gIGJsb2NrVmFsdWU6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBsZXQgYmxvY2tIZWxwZXJNaXNzaW5nID0gdGhpcy5hbGlhc2FibGUoXG4gICAgICAgICdjb250YWluZXIuaG9va3MuYmxvY2tIZWxwZXJNaXNzaW5nJ1xuICAgICAgKSxcbiAgICAgIHBhcmFtcyA9IFt0aGlzLmNvbnRleHROYW1lKDApXTtcbiAgICB0aGlzLnNldHVwSGVscGVyQXJncyhuYW1lLCAwLCBwYXJhbXMpO1xuXG4gICAgbGV0IGJsb2NrTmFtZSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICBwYXJhbXMuc3BsaWNlKDEsIDAsIGJsb2NrTmFtZSk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYW1iaWd1b3VzQmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gQ29tcGlsZXIgdmFsdWUsIGJlZm9yZTogbGFzdEhlbHBlcj12YWx1ZSBvZiBsYXN0IGZvdW5kIGhlbHBlciwgaWYgYW55XG4gIC8vIE9uIHN0YWNrLCBhZnRlciwgaWYgbm8gbGFzdEhlbHBlcjogc2FtZSBhcyBbYmxvY2tWYWx1ZV1cbiAgLy8gT24gc3RhY2ssIGFmdGVyLCBpZiBsYXN0SGVscGVyOiB2YWx1ZVxuICBhbWJpZ3VvdXNCbG9ja1ZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICAvLyBXZSdyZSBiZWluZyBhIGJpdCBjaGVla3kgYW5kIHJldXNpbmcgdGhlIG9wdGlvbnMgdmFsdWUgZnJvbSB0aGUgcHJpb3IgZXhlY1xuICAgIGxldCBibG9ja0hlbHBlck1pc3NpbmcgPSB0aGlzLmFsaWFzYWJsZShcbiAgICAgICAgJ2NvbnRhaW5lci5ob29rcy5ibG9ja0hlbHBlck1pc3NpbmcnXG4gICAgICApLFxuICAgICAgcGFyYW1zID0gW3RoaXMuY29udGV4dE5hbWUoMCldO1xuICAgIHRoaXMuc2V0dXBIZWxwZXJBcmdzKCcnLCAwLCBwYXJhbXMsIHRydWUpO1xuXG4gICAgdGhpcy5mbHVzaElubGluZSgpO1xuXG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLnRvcFN0YWNrKCk7XG4gICAgcGFyYW1zLnNwbGljZSgxLCAwLCBjdXJyZW50KTtcblxuICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAnaWYgKCEnLFxuICAgICAgdGhpcy5sYXN0SGVscGVyLFxuICAgICAgJykgeyAnLFxuICAgICAgY3VycmVudCxcbiAgICAgICcgPSAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpLFxuICAgICAgJ30nXG4gICAgXSk7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZENvbnRlbnRdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBBcHBlbmRzIHRoZSBzdHJpbmcgdmFsdWUgb2YgYGNvbnRlbnRgIHRvIHRoZSBjdXJyZW50IGJ1ZmZlclxuICBhcHBlbmRDb250ZW50OiBmdW5jdGlvbihjb250ZW50KSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NvbnRlbnQpIHtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLnBlbmRpbmdDb250ZW50ICsgY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb24gPSB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nQ29udGVudCA9IGNvbnRlbnQ7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBDb2VyY2VzIGB2YWx1ZWAgdG8gYSBTdHJpbmcgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLlxuICAvL1xuICAvLyBJZiBgdmFsdWVgIGlzIHRydXRoeSwgb3IgMCwgaXQgaXMgY29lcmNlZCBpbnRvIGEgc3RyaW5nIGFuZCBhcHBlbmRlZFxuICAvLyBPdGhlcndpc2UsIHRoZSBlbXB0eSBzdHJpbmcgaXMgYXBwZW5kZWRcbiAgYXBwZW5kOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc0lubGluZSgpKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTdGFjayhjdXJyZW50ID0+IFsnICE9IG51bGwgPyAnLCBjdXJyZW50LCAnIDogXCJcIiddKTtcblxuICAgICAgdGhpcy5wdXNoU291cmNlKHRoaXMuYXBwZW5kVG9CdWZmZXIodGhpcy5wb3BTdGFjaygpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBsb2NhbCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICdpZiAoJyxcbiAgICAgICAgbG9jYWwsXG4gICAgICAgICcgIT0gbnVsbCkgeyAnLFxuICAgICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKGxvY2FsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAnIH0nXG4gICAgICBdKTtcbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlKSB7XG4gICAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICAgJ2Vsc2UgeyAnLFxuICAgICAgICAgIHRoaXMuYXBwZW5kVG9CdWZmZXIoXCInJ1wiLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAgICcgfSdcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vIFthcHBlbmRFc2NhcGVkXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIEVzY2FwZSBgdmFsdWVgIGFuZCBhcHBlbmQgaXQgdG8gdGhlIGJ1ZmZlclxuICBhcHBlbmRFc2NhcGVkOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLnB1c2hTb3VyY2UoXG4gICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKFtcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5lc2NhcGVFeHByZXNzaW9uJyksXG4gICAgICAgICcoJyxcbiAgICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgICAnKSdcbiAgICAgIF0pXG4gICAgKTtcbiAgfSxcblxuICAvLyBbZ2V0Q29udGV4dF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vIENvbXBpbGVyIHZhbHVlLCBhZnRlcjogbGFzdENvbnRleHQ9ZGVwdGhcbiAgLy9cbiAgLy8gU2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGxhc3RDb250ZXh0YCBjb21waWxlciB2YWx1ZSB0byB0aGUgZGVwdGhcbiAgZ2V0Q29udGV4dDogZnVuY3Rpb24oZGVwdGgpIHtcbiAgICB0aGlzLmxhc3RDb250ZXh0ID0gZGVwdGg7XG4gIH0sXG5cbiAgLy8gW3B1c2hDb250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dCwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBvbnRvIHRoZSBzdGFjay5cbiAgcHVzaENvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLmNvbnRleHROYW1lKHRoaXMubGFzdENvbnRleHQpKTtcbiAgfSxcblxuICAvLyBbbG9va3VwT25Db250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dFtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgbmFtZWAgb24gdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBPbkNvbnRleHQ6IGZ1bmN0aW9uKHBhcnRzLCBmYWxzeSwgc3RyaWN0LCBzY29wZWQpIHtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICBpZiAoIXNjb3BlZCAmJiB0aGlzLm9wdGlvbnMuY29tcGF0ICYmICF0aGlzLmxhc3RDb250ZXh0KSB7XG4gICAgICAvLyBUaGUgZGVwdGhlZCBxdWVyeSBpcyBleHBlY3RlZCB0byBoYW5kbGUgdGhlIHVuZGVmaW5lZCBsb2dpYyBmb3IgdGhlIHJvb3QgbGV2ZWwgdGhhdFxuICAgICAgLy8gaXMgaW1wbGVtZW50ZWQgYmVsb3csIHNvIHdlIGV2YWx1YXRlIHRoYXQgZGlyZWN0bHkgaW4gY29tcGF0IG1vZGVcbiAgICAgIHRoaXMucHVzaCh0aGlzLmRlcHRoZWRMb29rdXAocGFydHNbaSsrXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2hDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KTtcbiAgfSxcblxuICAvLyBbbG9va3VwQmxvY2tQYXJhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogYmxvY2tQYXJhbVtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgcGFydHNgIG9uIHRoZSBnaXZlbiBibG9jayBwYXJhbSBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBCbG9ja1BhcmFtOiBmdW5jdGlvbihibG9ja1BhcmFtSWQsIHBhcnRzKSB7XG4gICAgdGhpcy51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG5cbiAgICB0aGlzLnB1c2goWydibG9ja1BhcmFtc1snLCBibG9ja1BhcmFtSWRbMF0sICddWycsIGJsb2NrUGFyYW1JZFsxXSwgJ10nXSk7XG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCAxKTtcbiAgfSxcblxuICAvLyBbbG9va3VwRGF0YV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogZGF0YSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggdGhlIGRhdGEgbG9va3VwIG9wZXJhdG9yXG4gIGxvb2t1cERhdGE6IGZ1bmN0aW9uKGRlcHRoLCBwYXJ0cywgc3RyaWN0KSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCdkYXRhJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnY29udGFpbmVyLmRhdGEoZGF0YSwgJyArIGRlcHRoICsgJyknKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc29sdmVQYXRoKCdkYXRhJywgcGFydHMsIDAsIHRydWUsIHN0cmljdCk7XG4gIH0sXG5cbiAgcmVzb2x2ZVBhdGg6IGZ1bmN0aW9uKHR5cGUsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zdHJpY3QgfHwgdGhpcy5vcHRpb25zLmFzc3VtZU9iamVjdHMpIHtcbiAgICAgIHRoaXMucHVzaChcbiAgICAgICAgc3RyaWN0TG9va3VwKHRoaXMub3B0aW9ucy5zdHJpY3QgJiYgc3RyaWN0LCB0aGlzLCBwYXJ0cywgaSwgdHlwZSlcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGxlbiA9IHBhcnRzLmxlbmd0aDtcbiAgICBmb3IgKDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICAgIHRoaXMucmVwbGFjZVN0YWNrKGN1cnJlbnQgPT4ge1xuICAgICAgICBsZXQgbG9va3VwID0gdGhpcy5uYW1lTG9va3VwKGN1cnJlbnQsIHBhcnRzW2ldLCB0eXBlKTtcbiAgICAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB6ZXJvIGFuZCBmYWxzZSBhcmUgaGFuZGxlZCBwcm9wZXJseSBpZiB0aGUgY29udGV4dCAoZmFsc3kgZmxhZylcbiAgICAgICAgLy8gbmVlZHMgdG8gaGF2ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgdGhlc2UgdmFsdWVzLlxuICAgICAgICBpZiAoIWZhbHN5KSB7XG4gICAgICAgICAgcmV0dXJuIFsnICE9IG51bGwgPyAnLCBsb29rdXAsICcgOiAnLCBjdXJyZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2Ugd2UgY2FuIHVzZSBnZW5lcmljIGZhbHN5IGhhbmRsaW5nXG4gICAgICAgICAgcmV0dXJuIFsnICYmICcsIGxvb2t1cF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICB9XG4gIH0sXG5cbiAgLy8gW3Jlc29sdmVQb3NzaWJsZUxhbWJkYV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc29sdmVkIHZhbHVlLCAuLi5cbiAgLy9cbiAgLy8gSWYgdGhlIGB2YWx1ZWAgaXMgYSBsYW1iZGEsIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIGJ5XG4gIC8vIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGxhbWJkYVxuICByZXNvbHZlUG9zc2libGVMYW1iZGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaChbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxhbWJkYScpLFxuICAgICAgJygnLFxuICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgJywgJyxcbiAgICAgIHRoaXMuY29udGV4dE5hbWUoMCksXG4gICAgICAnKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbcHVzaFN0cmluZ1BhcmFtXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBzdHJpbmcsIGN1cnJlbnRDb250ZXh0LCAuLi5cbiAgLy9cbiAgLy8gVGhpcyBvcGNvZGUgaXMgZGVzaWduZWQgZm9yIHVzZSBpbiBzdHJpbmcgbW9kZSwgd2hpY2hcbiAgLy8gcHJvdmlkZXMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIHBhcmFtZXRlciBhbG9uZyB3aXRoIGl0c1xuICAvLyBkZXB0aCByYXRoZXIgdGhhbiByZXNvbHZpbmcgaXQgaW1tZWRpYXRlbHkuXG4gIHB1c2hTdHJpbmdQYXJhbTogZnVuY3Rpb24oc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy5wdXNoQ29udGV4dCgpO1xuICAgIHRoaXMucHVzaFN0cmluZyh0eXBlKTtcblxuICAgIC8vIElmIGl0J3MgYSBzdWJleHByZXNzaW9uLCB0aGUgc3RyaW5nIHJlc3VsdFxuICAgIC8vIHdpbGwgYmUgcHVzaGVkIGFmdGVyIHRoaXMgb3Bjb2RlLlxuICAgIGlmICh0eXBlICE9PSAnU3ViRXhwcmVzc2lvbicpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnB1c2hTdHJpbmcoc3RyaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBlbXB0eUhhc2g6IGZ1bmN0aW9uKG9taXRFbXB0eSkge1xuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hJZHNcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hDb250ZXh0c1xuICAgICAgdGhpcy5wdXNoKCd7fScpOyAvLyBoYXNoVHlwZXNcbiAgICB9XG4gICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG9taXRFbXB0eSA/ICd1bmRlZmluZWQnIDogJ3t9Jyk7XG4gIH0sXG4gIHB1c2hIYXNoOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hlcy5wdXNoKHRoaXMuaGFzaCk7XG4gICAgfVxuICAgIHRoaXMuaGFzaCA9IHsgdmFsdWVzOiB7fSwgdHlwZXM6IFtdLCBjb250ZXh0czogW10sIGlkczogW10gfTtcbiAgfSxcbiAgcG9wSGFzaDogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmhhc2g7XG4gICAgdGhpcy5oYXNoID0gdGhpcy5oYXNoZXMucG9wKCk7XG5cbiAgICBpZiAodGhpcy50cmFja0lkcykge1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLmlkcykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIHRoaXMucHVzaCh0aGlzLm9iamVjdExpdGVyYWwoaGFzaC5jb250ZXh0cykpO1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnR5cGVzKSk7XG4gICAgfVxuXG4gICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnZhbHVlcykpO1xuICB9LFxuXG4gIC8vIFtwdXNoU3RyaW5nXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBxdW90ZWRTdHJpbmcoc3RyaW5nKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBxdW90ZWQgdmVyc2lvbiBvZiBgc3RyaW5nYCBvbnRvIHRoZSBzdGFja1xuICBwdXNoU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodGhpcy5xdW90ZWRTdHJpbmcoc3RyaW5nKSk7XG4gIH0sXG5cbiAgLy8gW3B1c2hMaXRlcmFsXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiB2YWx1ZSwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyBhIHZhbHVlIG9udG8gdGhlIHN0YWNrLiBUaGlzIG9wZXJhdGlvbiBwcmV2ZW50c1xuICAvLyB0aGUgY29tcGlsZXIgZnJvbSBjcmVhdGluZyBhIHRlbXBvcmFyeSB2YXJpYWJsZSB0byBob2xkXG4gIC8vIGl0LlxuICBwdXNoTGl0ZXJhbDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodmFsdWUpO1xuICB9LFxuXG4gIC8vIFtwdXNoUHJvZ3JhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcHJvZ3JhbShndWlkKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBwcm9ncmFtIGV4cHJlc3Npb24gb250byB0aGUgc3RhY2suIFRoaXMgdGFrZXNcbiAgLy8gYSBjb21waWxlLXRpbWUgZ3VpZCBhbmQgY29udmVydHMgaXQgaW50byBhIHJ1bnRpbWUtYWNjZXNzaWJsZVxuICAvLyBleHByZXNzaW9uLlxuICBwdXNoUHJvZ3JhbTogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGlmIChndWlkICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLnByb2dyYW1FeHByZXNzaW9uKGd1aWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG51bGwpO1xuICAgIH1cbiAgfSxcblxuICAvLyBbcmVnaXN0ZXJEZWNvcmF0b3JdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIFBvcHMgb2ZmIHRoZSBkZWNvcmF0b3IncyBwYXJhbWV0ZXJzLCBpbnZva2VzIHRoZSBkZWNvcmF0b3IsXG4gIC8vIGFuZCBpbnNlcnRzIHRoZSBkZWNvcmF0b3IgaW50byB0aGUgZGVjb3JhdG9ycyBsaXN0LlxuICByZWdpc3RlckRlY29yYXRvcihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgZm91bmREZWNvcmF0b3IgPSB0aGlzLm5hbWVMb29rdXAoJ2RlY29yYXRvcnMnLCBuYW1lLCAnZGVjb3JhdG9yJyksXG4gICAgICBvcHRpb25zID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplKTtcblxuICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKFtcbiAgICAgICdmbiA9ICcsXG4gICAgICB0aGlzLmRlY29yYXRvcnMuZnVuY3Rpb25DYWxsKGZvdW5kRGVjb3JhdG9yLCAnJywgW1xuICAgICAgICAnZm4nLFxuICAgICAgICAncHJvcHMnLFxuICAgICAgICAnY29udGFpbmVyJyxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgXSksXG4gICAgICAnIHx8IGZuOydcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlSGVscGVyXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBoZWxwZXIgaW52b2NhdGlvblxuICAvL1xuICAvLyBQb3BzIG9mZiB0aGUgaGVscGVyJ3MgcGFyYW1ldGVycywgaW52b2tlcyB0aGUgaGVscGVyLFxuICAvLyBhbmQgcHVzaGVzIHRoZSBoZWxwZXIncyByZXR1cm4gdmFsdWUgb250byB0aGUgc3RhY2suXG4gIC8vXG4gIC8vIElmIHRoZSBoZWxwZXIgaXMgbm90IGZvdW5kLCBgaGVscGVyTWlzc2luZ2AgaXMgY2FsbGVkLlxuICBpbnZva2VIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgaXNTaW1wbGUpIHtcbiAgICBsZXQgbm9uSGVscGVyID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuXG4gICAgbGV0IHBvc3NpYmxlRnVuY3Rpb25DYWxscyA9IFtdO1xuXG4gICAgaWYgKGlzU2ltcGxlKSB7XG4gICAgICAvLyBkaXJlY3QgY2FsbCB0byBoZWxwZXJcbiAgICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKGhlbHBlci5uYW1lKTtcbiAgICB9XG4gICAgLy8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gdGhlIGlucHV0IG9iamVjdFxuICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKG5vbkhlbHBlcik7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICBwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMucHVzaChcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5ob29rcy5oZWxwZXJNaXNzaW5nJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGZ1bmN0aW9uTG9va3VwQ29kZSA9IFtcbiAgICAgICcoJyxcbiAgICAgIHRoaXMuaXRlbXNTZXBhcmF0ZWRCeShwb3NzaWJsZUZ1bmN0aW9uQ2FsbHMsICd8fCcpLFxuICAgICAgJyknXG4gICAgXTtcbiAgICBsZXQgZnVuY3Rpb25DYWxsID0gdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKFxuICAgICAgZnVuY3Rpb25Mb29rdXBDb2RlLFxuICAgICAgJ2NhbGwnLFxuICAgICAgaGVscGVyLmNhbGxQYXJhbXNcbiAgICApO1xuICAgIHRoaXMucHVzaChmdW5jdGlvbkNhbGwpO1xuICB9LFxuXG4gIGl0ZW1zU2VwYXJhdGVkQnk6IGZ1bmN0aW9uKGl0ZW1zLCBzZXBhcmF0b3IpIHtcbiAgICBsZXQgcmVzdWx0ID0gW107XG4gICAgcmVzdWx0LnB1c2goaXRlbXNbMF0pO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHNlcGFyYXRvciwgaXRlbXNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuICAvLyBbaW52b2tlS25vd25IZWxwZXJdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIGludmVyc2UsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcmVzdWx0IG9mIGhlbHBlciBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWQgd2hlbiB0aGUgaGVscGVyIGlzIGtub3duIHRvIGV4aXN0LFxuICAvLyBzbyBhIGBoZWxwZXJNaXNzaW5nYCBmYWxsYmFjayBpcyBub3QgcmVxdWlyZWQuXG4gIGludm9rZUtub3duSGVscGVyOiBmdW5jdGlvbihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgaGVscGVyID0gdGhpcy5zZXR1cEhlbHBlcihwYXJhbVNpemUsIG5hbWUpO1xuICAgIHRoaXMucHVzaCh0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoaGVscGVyLm5hbWUsICdjYWxsJywgaGVscGVyLmNhbGxQYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbaW52b2tlQW1iaWd1b3VzXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBoYXNoLCBpbnZlcnNlLCBwcm9ncmFtLCBwYXJhbXMuLi4sIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc3VsdCBvZiBkaXNhbWJpZ3VhdGlvblxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBpcyB1c2VkIHdoZW4gYW4gZXhwcmVzc2lvbiBsaWtlIGB7e2Zvb319YFxuICAvLyBpcyBwcm92aWRlZCwgYnV0IHdlIGRvbid0IGtub3cgYXQgY29tcGlsZS10aW1lIHdoZXRoZXIgaXRcbiAgLy8gaXMgYSBoZWxwZXIgb3IgYSBwYXRoLlxuICAvL1xuICAvLyBUaGlzIG9wZXJhdGlvbiBlbWl0cyBtb3JlIGNvZGUgdGhhbiB0aGUgb3RoZXIgb3B0aW9ucyxcbiAgLy8gYW5kIGNhbiBiZSBhdm9pZGVkIGJ5IHBhc3NpbmcgdGhlIGBrbm93bkhlbHBlcnNgIGFuZFxuICAvLyBga25vd25IZWxwZXJzT25seWAgZmxhZ3MgYXQgY29tcGlsZS10aW1lLlxuICBpbnZva2VBbWJpZ3VvdXM6IGZ1bmN0aW9uKG5hbWUsIGhlbHBlckNhbGwpIHtcbiAgICB0aGlzLnVzZVJlZ2lzdGVyKCdoZWxwZXInKTtcblxuICAgIGxldCBub25IZWxwZXIgPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICB0aGlzLmVtcHR5SGFzaCgpO1xuICAgIGxldCBoZWxwZXIgPSB0aGlzLnNldHVwSGVscGVyKDAsIG5hbWUsIGhlbHBlckNhbGwpO1xuXG4gICAgbGV0IGhlbHBlck5hbWUgPSAodGhpcy5sYXN0SGVscGVyID0gdGhpcy5uYW1lTG9va3VwKFxuICAgICAgJ2hlbHBlcnMnLFxuICAgICAgbmFtZSxcbiAgICAgICdoZWxwZXInXG4gICAgKSk7XG5cbiAgICBsZXQgbG9va3VwID0gWycoJywgJyhoZWxwZXIgPSAnLCBoZWxwZXJOYW1lLCAnIHx8ICcsIG5vbkhlbHBlciwgJyknXTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIGxvb2t1cFswXSA9ICcoaGVscGVyID0gJztcbiAgICAgIGxvb2t1cC5wdXNoKFxuICAgICAgICAnICE9IG51bGwgPyBoZWxwZXIgOiAnLFxuICAgICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmhvb2tzLmhlbHBlck1pc3NpbmcnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goW1xuICAgICAgJygnLFxuICAgICAgbG9va3VwLFxuICAgICAgaGVscGVyLnBhcmFtc0luaXQgPyBbJyksKCcsIGhlbHBlci5wYXJhbXNJbml0XSA6IFtdLFxuICAgICAgJyksJyxcbiAgICAgICcodHlwZW9mIGhlbHBlciA9PT0gJyxcbiAgICAgIHRoaXMuYWxpYXNhYmxlKCdcImZ1bmN0aW9uXCInKSxcbiAgICAgICcgPyAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdoZWxwZXInLCAnY2FsbCcsIGhlbHBlci5jYWxsUGFyYW1zKSxcbiAgICAgICcgOiBoZWxwZXIpKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbaW52b2tlUGFydGlhbF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogY29udGV4dCwgLi4uXG4gIC8vIE9uIHN0YWNrIGFmdGVyOiByZXN1bHQgb2YgcGFydGlhbCBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIHBvcHMgb2ZmIGEgY29udGV4dCwgaW52b2tlcyBhIHBhcnRpYWwgd2l0aCB0aGF0IGNvbnRleHQsXG4gIC8vIGFuZCBwdXNoZXMgdGhlIHJlc3VsdCBvZiB0aGUgaW52b2NhdGlvbiBiYWNrLlxuICBpbnZva2VQYXJ0aWFsOiBmdW5jdGlvbihpc0R5bmFtaWMsIG5hbWUsIGluZGVudCkge1xuICAgIGxldCBwYXJhbXMgPSBbXSxcbiAgICAgIG9wdGlvbnMgPSB0aGlzLnNldHVwUGFyYW1zKG5hbWUsIDEsIHBhcmFtcyk7XG5cbiAgICBpZiAoaXNEeW5hbWljKSB7XG4gICAgICBuYW1lID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgZGVsZXRlIG9wdGlvbnMubmFtZTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZW50KSB7XG4gICAgICBvcHRpb25zLmluZGVudCA9IEpTT04uc3RyaW5naWZ5KGluZGVudCk7XG4gICAgfVxuICAgIG9wdGlvbnMuaGVscGVycyA9ICdoZWxwZXJzJztcbiAgICBvcHRpb25zLnBhcnRpYWxzID0gJ3BhcnRpYWxzJztcbiAgICBvcHRpb25zLmRlY29yYXRvcnMgPSAnY29udGFpbmVyLmRlY29yYXRvcnMnO1xuXG4gICAgaWYgKCFpc0R5bmFtaWMpIHtcbiAgICAgIHBhcmFtcy51bnNoaWZ0KHRoaXMubmFtZUxvb2t1cCgncGFydGlhbHMnLCBuYW1lLCAncGFydGlhbCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zLnVuc2hpZnQobmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5jb21wYXQpIHtcbiAgICAgIG9wdGlvbnMuZGVwdGhzID0gJ2RlcHRocyc7XG4gICAgfVxuICAgIG9wdGlvbnMgPSB0aGlzLm9iamVjdExpdGVyYWwob3B0aW9ucyk7XG4gICAgcGFyYW1zLnB1c2gob3B0aW9ucyk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKCdjb250YWluZXIuaW52b2tlUGFydGlhbCcsICcnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYXNzaWduVG9IYXNoXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uLCBoYXNoLCAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiAuLi4sIGhhc2gsIC4uLlxuICAvL1xuICAvLyBQb3BzIGEgdmFsdWUgb2ZmIHRoZSBzdGFjayBhbmQgYXNzaWducyBpdCB0byB0aGUgY3VycmVudCBoYXNoXG4gIGFzc2lnblRvSGFzaDogZnVuY3Rpb24oa2V5KSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5wb3BTdGFjaygpLFxuICAgICAgY29udGV4dCxcbiAgICAgIHR5cGUsXG4gICAgICBpZDtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBpZCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0eXBlID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgY29udGV4dCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaGFzaCA9IHRoaXMuaGFzaDtcbiAgICBpZiAoY29udGV4dCkge1xuICAgICAgaGFzaC5jb250ZXh0c1trZXldID0gY29udGV4dDtcbiAgICB9XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIGhhc2gudHlwZXNba2V5XSA9IHR5cGU7XG4gICAgfVxuICAgIGlmIChpZCkge1xuICAgICAgaGFzaC5pZHNba2V5XSA9IGlkO1xuICAgIH1cbiAgICBoYXNoLnZhbHVlc1trZXldID0gdmFsdWU7XG4gIH0sXG5cbiAgcHVzaElkOiBmdW5jdGlvbih0eXBlLCBuYW1lLCBjaGlsZCkge1xuICAgIGlmICh0eXBlID09PSAnQmxvY2tQYXJhbScpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChcbiAgICAgICAgJ2Jsb2NrUGFyYW1zWycgK1xuICAgICAgICAgIG5hbWVbMF0gK1xuICAgICAgICAgICddLnBhdGhbJyArXG4gICAgICAgICAgbmFtZVsxXSArXG4gICAgICAgICAgJ10nICtcbiAgICAgICAgICAoY2hpbGQgPyAnICsgJyArIEpTT04uc3RyaW5naWZ5KCcuJyArIGNoaWxkKSA6ICcnKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQYXRoRXhwcmVzc2lvbicpIHtcbiAgICAgIHRoaXMucHVzaFN0cmluZyhuYW1lKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdTdWJFeHByZXNzaW9uJykge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCd0cnVlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnbnVsbCcpO1xuICAgIH1cbiAgfSxcblxuICAvLyBIRUxQRVJTXG5cbiAgY29tcGlsZXI6IEphdmFTY3JpcHRDb21waWxlcixcblxuICBjb21waWxlQ2hpbGRyZW46IGZ1bmN0aW9uKGVudmlyb25tZW50LCBvcHRpb25zKSB7XG4gICAgbGV0IGNoaWxkcmVuID0gZW52aXJvbm1lbnQuY2hpbGRyZW4sXG4gICAgICBjaGlsZCxcbiAgICAgIGNvbXBpbGVyO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICBjb21waWxlciA9IG5ldyB0aGlzLmNvbXBpbGVyKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuXG4gICAgICBsZXQgZXhpc3RpbmcgPSB0aGlzLm1hdGNoRXhpc3RpbmdQcm9ncmFtKGNoaWxkKTtcblxuICAgICAgaWYgKGV4aXN0aW5nID09IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnByb2dyYW1zLnB1c2goJycpOyAvLyBQbGFjZWhvbGRlciB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzIGZvciBuZXN0ZWQgY2hpbGRyZW5cbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5jb250ZXh0LnByb2dyYW1zLmxlbmd0aDtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGluZGV4O1xuICAgICAgICB0aGlzLmNvbnRleHQucHJvZ3JhbXNbaW5kZXhdID0gY29tcGlsZXIuY29tcGlsZShcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRoaXMuY29udGV4dCxcbiAgICAgICAgICAhdGhpcy5wcmVjb21waWxlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kZWNvcmF0b3JzW2luZGV4XSA9IGNvbXBpbGVyLmRlY29yYXRvcnM7XG4gICAgICAgIHRoaXMuY29udGV4dC5lbnZpcm9ubWVudHNbaW5kZXhdID0gY2hpbGQ7XG5cbiAgICAgICAgdGhpcy51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocyB8fCBjb21waWxlci51c2VEZXB0aHM7XG4gICAgICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGNvbXBpbGVyLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgICBjaGlsZC51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocztcbiAgICAgICAgY2hpbGQudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBleGlzdGluZy5pbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGV4aXN0aW5nLmluZGV4O1xuXG4gICAgICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgZXhpc3RpbmcudXNlRGVwdGhzO1xuICAgICAgICB0aGlzLnVzZUJsb2NrUGFyYW1zID0gdGhpcy51c2VCbG9ja1BhcmFtcyB8fCBleGlzdGluZy51c2VCbG9ja1BhcmFtcztcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1hdGNoRXhpc3RpbmdQcm9ncmFtOiBmdW5jdGlvbihjaGlsZCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgZW52aXJvbm1lbnQgPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzW2ldO1xuICAgICAgaWYgKGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmVxdWFscyhjaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIGVudmlyb25tZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwcm9ncmFtRXhwcmVzc2lvbjogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGxldCBjaGlsZCA9IHRoaXMuZW52aXJvbm1lbnQuY2hpbGRyZW5bZ3VpZF0sXG4gICAgICBwcm9ncmFtUGFyYW1zID0gW2NoaWxkLmluZGV4LCAnZGF0YScsIGNoaWxkLmJsb2NrUGFyYW1zXTtcblxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IHRoaXMudXNlRGVwdGhzKSB7XG4gICAgICBwcm9ncmFtUGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcHJvZ3JhbVBhcmFtcy5wdXNoKCdkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NvbnRhaW5lci5wcm9ncmFtKCcgKyBwcm9ncmFtUGFyYW1zLmpvaW4oJywgJykgKyAnKSc7XG4gIH0sXG5cbiAgdXNlUmVnaXN0ZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJzW25hbWVdKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyc1tuYW1lXSA9IHRydWU7XG4gICAgICB0aGlzLnJlZ2lzdGVycy5saXN0LnB1c2gobmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2g6IGZ1bmN0aW9uKGV4cHIpIHtcbiAgICBpZiAoIShleHByIGluc3RhbmNlb2YgTGl0ZXJhbCkpIHtcbiAgICAgIGV4cHIgPSB0aGlzLnNvdXJjZS53cmFwKGV4cHIpO1xuICAgIH1cblxuICAgIHRoaXMuaW5saW5lU3RhY2sucHVzaChleHByKTtcbiAgICByZXR1cm4gZXhwcjtcbiAgfSxcblxuICBwdXNoU3RhY2tMaXRlcmFsOiBmdW5jdGlvbihpdGVtKSB7XG4gICAgdGhpcy5wdXNoKG5ldyBMaXRlcmFsKGl0ZW0pKTtcbiAgfSxcblxuICBwdXNoU291cmNlOiBmdW5jdGlvbihzb3VyY2UpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ29udGVudCkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChcbiAgICAgICAgdGhpcy5hcHBlbmRUb0J1ZmZlcihcbiAgICAgICAgICB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcodGhpcy5wZW5kaW5nQ29udGVudCksXG4gICAgICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb25cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMucGVuZGluZ0NvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChzb3VyY2UpO1xuICAgIH1cbiAgfSxcblxuICByZXBsYWNlU3RhY2s6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgbGV0IHByZWZpeCA9IFsnKCddLFxuICAgICAgc3RhY2ssXG4gICAgICBjcmVhdGVkU3RhY2ssXG4gICAgICB1c2VkTGl0ZXJhbDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCF0aGlzLmlzSW5saW5lKCkpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ3JlcGxhY2VTdGFjayBvbiBub24taW5saW5lJyk7XG4gICAgfVxuXG4gICAgLy8gV2Ugd2FudCB0byBtZXJnZSB0aGUgaW5saW5lIHN0YXRlbWVudCBpbnRvIHRoZSByZXBsYWNlbWVudCBzdGF0ZW1lbnQgdmlhICcsJ1xuICAgIGxldCB0b3AgPSB0aGlzLnBvcFN0YWNrKHRydWUpO1xuXG4gICAgaWYgKHRvcCBpbnN0YW5jZW9mIExpdGVyYWwpIHtcbiAgICAgIC8vIExpdGVyYWxzIGRvIG5vdCBuZWVkIHRvIGJlIGlubGluZWRcbiAgICAgIHN0YWNrID0gW3RvcC52YWx1ZV07XG4gICAgICBwcmVmaXggPSBbJygnLCBzdGFja107XG4gICAgICB1c2VkTGl0ZXJhbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEdldCBvciBjcmVhdGUgdGhlIGN1cnJlbnQgc3RhY2sgbmFtZSBmb3IgdXNlIGJ5IHRoZSBpbmxpbmVcbiAgICAgIGNyZWF0ZWRTdGFjayA9IHRydWU7XG4gICAgICBsZXQgbmFtZSA9IHRoaXMuaW5jclN0YWNrKCk7XG5cbiAgICAgIHByZWZpeCA9IFsnKCgnLCB0aGlzLnB1c2gobmFtZSksICcgPSAnLCB0b3AsICcpJ107XG4gICAgICBzdGFjayA9IHRoaXMudG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbSA9IGNhbGxiYWNrLmNhbGwodGhpcywgc3RhY2spO1xuXG4gICAgaWYgKCF1c2VkTGl0ZXJhbCkge1xuICAgICAgdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZFN0YWNrKSB7XG4gICAgICB0aGlzLnN0YWNrU2xvdC0tO1xuICAgIH1cbiAgICB0aGlzLnB1c2gocHJlZml4LmNvbmNhdChpdGVtLCAnKScpKTtcbiAgfSxcblxuICBpbmNyU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuc3RhY2tTbG90Kys7XG4gICAgaWYgKHRoaXMuc3RhY2tTbG90ID4gdGhpcy5zdGFja1ZhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YWNrVmFycy5wdXNoKCdzdGFjaycgKyB0aGlzLnN0YWNrU2xvdCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRvcFN0YWNrTmFtZSgpO1xuICB9LFxuICB0b3BTdGFja05hbWU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc3RhY2snICsgdGhpcy5zdGFja1Nsb3Q7XG4gIH0sXG4gIGZsdXNoSW5saW5lOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgaW5saW5lU3RhY2sgPSB0aGlzLmlubGluZVN0YWNrO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5saW5lU3RhY2subGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBlbnRyeSA9IGlubGluZVN0YWNrW2ldO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoZW50cnkgaW5zdGFuY2VvZiBMaXRlcmFsKSB7XG4gICAgICAgIHRoaXMuY29tcGlsZVN0YWNrLnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHN0YWNrID0gdGhpcy5pbmNyU3RhY2soKTtcbiAgICAgICAgdGhpcy5wdXNoU291cmNlKFtzdGFjaywgJyA9ICcsIGVudHJ5LCAnOyddKTtcbiAgICAgICAgdGhpcy5jb21waWxlU3RhY2sucHVzaChzdGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBpc0lubGluZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5saW5lU3RhY2subGVuZ3RoO1xuICB9LFxuXG4gIHBvcFN0YWNrOiBmdW5jdGlvbih3cmFwcGVkKSB7XG4gICAgbGV0IGlubGluZSA9IHRoaXMuaXNJbmxpbmUoKSxcbiAgICAgIGl0ZW0gPSAoaW5saW5lID8gdGhpcy5pbmxpbmVTdGFjayA6IHRoaXMuY29tcGlsZVN0YWNrKS5wb3AoKTtcblxuICAgIGlmICghd3JhcHBlZCAmJiBpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhpcy5zdGFja1Nsb3QpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHN0YWNrIHBvcCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhY2tTbG90LS07XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG4gIH0sXG5cbiAgdG9wU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIGxldCBzdGFjayA9IHRoaXMuaXNJbmxpbmUoKSA/IHRoaXMuaW5saW5lU3RhY2sgOiB0aGlzLmNvbXBpbGVTdGFjayxcbiAgICAgIGl0ZW0gPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgfSxcblxuICBjb250ZXh0TmFtZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGlmICh0aGlzLnVzZURlcHRocyAmJiBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gJ2RlcHRoc1snICsgY29udGV4dCArICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdkZXB0aCcgKyBjb250ZXh0O1xuICAgIH1cbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcoc3RyKTtcbiAgfSxcblxuICBvYmplY3RMaXRlcmFsOiBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uub2JqZWN0TGl0ZXJhbChvYmopO1xuICB9LFxuXG4gIGFsaWFzYWJsZTogZnVuY3Rpb24obmFtZSkge1xuICAgIGxldCByZXQgPSB0aGlzLmFsaWFzZXNbbmFtZV07XG4gICAgaWYgKHJldCkge1xuICAgICAgcmV0LnJlZmVyZW5jZUNvdW50Kys7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIHJldCA9IHRoaXMuYWxpYXNlc1tuYW1lXSA9IHRoaXMuc291cmNlLndyYXAobmFtZSk7XG4gICAgcmV0LmFsaWFzYWJsZSA9IHRydWU7XG4gICAgcmV0LnJlZmVyZW5jZUNvdW50ID0gMTtcblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgYmxvY2tIZWxwZXIpIHtcbiAgICBsZXQgcGFyYW1zID0gW10sXG4gICAgICBwYXJhbXNJbml0ID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplLCBwYXJhbXMsIGJsb2NrSGVscGVyKTtcbiAgICBsZXQgZm91bmRIZWxwZXIgPSB0aGlzLm5hbWVMb29rdXAoJ2hlbHBlcnMnLCBuYW1lLCAnaGVscGVyJyksXG4gICAgICBjYWxsQ29udGV4dCA9IHRoaXMuYWxpYXNhYmxlKFxuICAgICAgICBgJHt0aGlzLmNvbnRleHROYW1lKDApfSAhPSBudWxsID8gJHt0aGlzLmNvbnRleHROYW1lKFxuICAgICAgICAgIDBcbiAgICAgICAgKX0gOiAoY29udGFpbmVyLm51bGxDb250ZXh0IHx8IHt9KWBcbiAgICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBwYXJhbXNJbml0OiBwYXJhbXNJbml0LFxuICAgICAgbmFtZTogZm91bmRIZWxwZXIsXG4gICAgICBjYWxsUGFyYW1zOiBbY2FsbENvbnRleHRdLmNvbmNhdChwYXJhbXMpXG4gICAgfTtcbiAgfSxcblxuICBzZXR1cFBhcmFtczogZnVuY3Rpb24oaGVscGVyLCBwYXJhbVNpemUsIHBhcmFtcykge1xuICAgIGxldCBvcHRpb25zID0ge30sXG4gICAgICBjb250ZXh0cyA9IFtdLFxuICAgICAgdHlwZXMgPSBbXSxcbiAgICAgIGlkcyA9IFtdLFxuICAgICAgb2JqZWN0QXJncyA9ICFwYXJhbXMsXG4gICAgICBwYXJhbTtcblxuICAgIGlmIChvYmplY3RBcmdzKSB7XG4gICAgICBwYXJhbXMgPSBbXTtcbiAgICB9XG5cbiAgICBvcHRpb25zLm5hbWUgPSB0aGlzLnF1b3RlZFN0cmluZyhoZWxwZXIpO1xuICAgIG9wdGlvbnMuaGFzaCA9IHRoaXMucG9wU3RhY2soKTtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmhhc2hJZHMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0cmluZ1BhcmFtcykge1xuICAgICAgb3B0aW9ucy5oYXNoVHlwZXMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBvcHRpb25zLmhhc2hDb250ZXh0cyA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaW52ZXJzZSA9IHRoaXMucG9wU3RhY2soKSxcbiAgICAgIHByb2dyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICAvLyBBdm9pZCBzZXR0aW5nIGZuIGFuZCBpbnZlcnNlIGlmIG5laXRoZXIgYXJlIHNldC4gVGhpcyBhbGxvd3NcbiAgICAvLyBoZWxwZXJzIHRvIGRvIGEgY2hlY2sgZm9yIGBpZiAob3B0aW9ucy5mbilgXG4gICAgaWYgKHByb2dyYW0gfHwgaW52ZXJzZSkge1xuICAgICAgb3B0aW9ucy5mbiA9IHByb2dyYW0gfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICAgIG9wdGlvbnMuaW52ZXJzZSA9IGludmVyc2UgfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICB9XG5cbiAgICAvLyBUaGUgcGFyYW1ldGVycyBnbyBvbiB0byB0aGUgc3RhY2sgaW4gb3JkZXIgKG1ha2luZyBzdXJlIHRoYXQgdGhleSBhcmUgZXZhbHVhdGVkIGluIG9yZGVyKVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcG9wIHRoZW0gb2ZmIHRoZSBzdGFjayBpbiByZXZlcnNlIG9yZGVyXG4gICAgbGV0IGkgPSBwYXJhbVNpemU7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgcGFyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBwYXJhbXNbaV0gPSBwYXJhbTtcblxuICAgICAgaWYgKHRoaXMudHJhY2tJZHMpIHtcbiAgICAgICAgaWRzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICAgIHR5cGVzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgICBjb250ZXh0c1tpXSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2JqZWN0QXJncykge1xuICAgICAgb3B0aW9ucy5hcmdzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShwYXJhbXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmlkcyA9IHRoaXMuc291cmNlLmdlbmVyYXRlQXJyYXkoaWRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLnR5cGVzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheSh0eXBlcyk7XG4gICAgICBvcHRpb25zLmNvbnRleHRzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShjb250ZXh0cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICBvcHRpb25zLmRhdGEgPSAnZGF0YSc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLmJsb2NrUGFyYW1zID0gJ2Jsb2NrUGFyYW1zJztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXJBcmdzOiBmdW5jdGlvbihoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zLCB1c2VSZWdpc3Rlcikge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5zZXR1cFBhcmFtcyhoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zKTtcbiAgICBvcHRpb25zLmxvYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbik7XG4gICAgb3B0aW9ucyA9IHRoaXMub2JqZWN0TGl0ZXJhbChvcHRpb25zKTtcbiAgICBpZiAodXNlUmVnaXN0ZXIpIHtcbiAgICAgIHRoaXMudXNlUmVnaXN0ZXIoJ29wdGlvbnMnKTtcbiAgICAgIHBhcmFtcy5wdXNoKCdvcHRpb25zJyk7XG4gICAgICByZXR1cm4gWydvcHRpb25zPScsIG9wdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMucHVzaChvcHRpb25zKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuICB9XG59O1xuXG4oZnVuY3Rpb24oKSB7XG4gIGNvbnN0IHJlc2VydmVkV29yZHMgPSAoXG4gICAgJ2JyZWFrIGVsc2UgbmV3IHZhcicgK1xuICAgICcgY2FzZSBmaW5hbGx5IHJldHVybiB2b2lkJyArXG4gICAgJyBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlJyArXG4gICAgJyBjb250aW51ZSBmdW5jdGlvbiB0aGlzIHdpdGgnICtcbiAgICAnIGRlZmF1bHQgaWYgdGhyb3cnICtcbiAgICAnIGRlbGV0ZSBpbiB0cnknICtcbiAgICAnIGRvIGluc3RhbmNlb2YgdHlwZW9mJyArXG4gICAgJyBhYnN0cmFjdCBlbnVtIGludCBzaG9ydCcgK1xuICAgICcgYm9vbGVhbiBleHBvcnQgaW50ZXJmYWNlIHN0YXRpYycgK1xuICAgICcgYnl0ZSBleHRlbmRzIGxvbmcgc3VwZXInICtcbiAgICAnIGNoYXIgZmluYWwgbmF0aXZlIHN5bmNocm9uaXplZCcgK1xuICAgICcgY2xhc3MgZmxvYXQgcGFja2FnZSB0aHJvd3MnICtcbiAgICAnIGNvbnN0IGdvdG8gcHJpdmF0ZSB0cmFuc2llbnQnICtcbiAgICAnIGRlYnVnZ2VyIGltcGxlbWVudHMgcHJvdGVjdGVkIHZvbGF0aWxlJyArXG4gICAgJyBkb3VibGUgaW1wb3J0IHB1YmxpYyBsZXQgeWllbGQgYXdhaXQnICtcbiAgICAnIG51bGwgdHJ1ZSBmYWxzZSdcbiAgKS5zcGxpdCgnICcpO1xuXG4gIGNvbnN0IGNvbXBpbGVyV29yZHMgPSAoSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTID0ge30pO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsID0gcmVzZXJ2ZWRXb3Jkcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb21waWxlcldvcmRzW3Jlc2VydmVkV29yZHNbaV1dID0gdHJ1ZTtcbiAgfVxufSkoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNYXkgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG4gKi9cbkphdmFTY3JpcHRDb21waWxlci5pc1ZhbGlkSmF2YVNjcmlwdFZhcmlhYmxlTmFtZSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgcmV0dXJuIChcbiAgICAhSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTW25hbWVdICYmXG4gICAgL15bYS16QS1aXyRdWzAtOWEtekEtWl8kXSokLy50ZXN0KG5hbWUpXG4gICk7XG59O1xuXG5mdW5jdGlvbiBzdHJpY3RMb29rdXAocmVxdWlyZVRlcm1pbmFsLCBjb21waWxlciwgcGFydHMsIGksIHR5cGUpIHtcbiAgbGV0IHN0YWNrID0gY29tcGlsZXIucG9wU3RhY2soKSxcbiAgICBsZW4gPSBwYXJ0cy5sZW5ndGg7XG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICBsZW4tLTtcbiAgfVxuXG4gIGZvciAoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBzdGFjayA9IGNvbXBpbGVyLm5hbWVMb29rdXAoc3RhY2ssIHBhcnRzW2ldLCB0eXBlKTtcbiAgfVxuXG4gIGlmIChyZXF1aXJlVGVybWluYWwpIHtcbiAgICByZXR1cm4gW1xuICAgICAgY29tcGlsZXIuYWxpYXNhYmxlKCdjb250YWluZXIuc3RyaWN0JyksXG4gICAgICAnKCcsXG4gICAgICBzdGFjayxcbiAgICAgICcsICcsXG4gICAgICBjb21waWxlci5xdW90ZWRTdHJpbmcocGFydHNbaV0pLFxuICAgICAgJywgJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KGNvbXBpbGVyLnNvdXJjZS5jdXJyZW50TG9jYXRpb24pLFxuICAgICAgJyApJ1xuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YWNrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEphdmFTY3JpcHRDb21waWxlcjtcbiJdfQ==\n","'use strict';\n\nexports.__esModule = true;\n// istanbul ignore next\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _handlebarsRuntime = require('./handlebars.runtime');\n\nvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);\n\n// Compiler imports\n\nvar _handlebarsCompilerAst = require('./handlebars/compiler/ast');\n\nvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\nvar _handlebarsCompilerBase = require('./handlebars/compiler/base');\n\nvar _handlebarsCompilerCompiler = require('./handlebars/compiler/compiler');\n\nvar _handlebarsCompilerJavascriptCompiler = require('./handlebars/compiler/javascript-compiler');\n\nvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\nvar _handlebarsCompilerVisitor = require('./handlebars/compiler/visitor');\n\nvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\nvar _handlebarsNoConflict = require('./handlebars/no-conflict');\n\nvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\nvar _create = _handlebarsRuntime2['default'].create;\nfunction create() {\n var hb = _create();\n\n hb.compile = function (input, options) {\n return _handlebarsCompilerCompiler.compile(input, options, hb);\n };\n hb.precompile = function (input, options) {\n return _handlebarsCompilerCompiler.precompile(input, options, hb);\n };\n\n hb.AST = _handlebarsCompilerAst2['default'];\n hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n hb.Parser = _handlebarsCompilerBase.parser;\n hb.parse = _handlebarsCompilerBase.parse;\n hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_handlebarsNoConflict2['default'](inst);\n\ninst.Visitor = _handlebarsCompilerVisitor2['default'];\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7aUNBQW9CLHNCQUFzQjs7Ozs7O3FDQUcxQiwyQkFBMkI7Ozs7c0NBS3BDLDRCQUE0Qjs7MENBQ1csZ0NBQWdDOztvREFDL0MsMkNBQTJDOzs7O3lDQUN0RCwrQkFBK0I7Ozs7b0NBRTVCLDBCQUEwQjs7OztBQUVqRCxJQUFJLE9BQU8sR0FBRywrQkFBUSxNQUFNLENBQUM7QUFDN0IsU0FBUyxNQUFNLEdBQUc7QUFDaEIsTUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7O0FBRW5CLElBQUUsQ0FBQyxPQUFPLEdBQUcsVUFBUyxLQUFLLEVBQUUsT0FBTyxFQUFFO0FBQ3BDLFdBQU8sb0NBQVEsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztHQUNwQyxDQUFDO0FBQ0YsSUFBRSxDQUFDLFVBQVUsR0FBRyxVQUFTLEtBQUssRUFBRSxPQUFPLEVBQUU7QUFDdkMsV0FBTyx1Q0FBVyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0dBQ3ZDLENBQUM7O0FBRUYsSUFBRSxDQUFDLEdBQUcscUNBQU0sQ0FBQztBQUNiLElBQUUsQ0FBQyxRQUFRLHVDQUFXLENBQUM7QUFDdkIsSUFBRSxDQUFDLGtCQUFrQixvREFBcUIsQ0FBQztBQUMzQyxJQUFFLENBQUMsTUFBTSxpQ0FBUyxDQUFDO0FBQ25CLElBQUUsQ0FBQyxLQUFLLGdDQUFRLENBQUM7QUFDakIsSUFBRSxDQUFDLHNCQUFzQixpREFBeUIsQ0FBQzs7QUFFbkQsU0FBTyxFQUFFLENBQUM7Q0FDWDs7QUFFRCxJQUFJLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7QUFFckIsa0NBQVcsSUFBSSxDQUFDLENBQUM7O0FBRWpCLElBQUksQ0FBQyxPQUFPLHlDQUFVLENBQUM7O0FBRXZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7O3FCQUVSLElBQUkiLCJmaWxlIjoiaGFuZGxlYmFycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBydW50aW1lIGZyb20gJy4vaGFuZGxlYmFycy5ydW50aW1lJztcblxuLy8gQ29tcGlsZXIgaW1wb3J0c1xuaW1wb3J0IEFTVCBmcm9tICcuL2hhbmRsZWJhcnMvY29tcGlsZXIvYXN0JztcbmltcG9ydCB7XG4gIHBhcnNlciBhcyBQYXJzZXIsXG4gIHBhcnNlLFxuICBwYXJzZVdpdGhvdXRQcm9jZXNzaW5nXG59IGZyb20gJy4vaGFuZGxlYmFycy9jb21waWxlci9iYXNlJztcbmltcG9ydCB7IENvbXBpbGVyLCBjb21waWxlLCBwcmVjb21waWxlIH0gZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2NvbXBpbGVyJztcbmltcG9ydCBKYXZhU2NyaXB0Q29tcGlsZXIgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXInO1xuaW1wb3J0IFZpc2l0b3IgZnJvbSAnLi9oYW5kbGViYXJzL2NvbXBpbGVyL3Zpc2l0b3InO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG5sZXQgX2NyZWF0ZSA9IHJ1bnRpbWUuY3JlYXRlO1xuZnVuY3Rpb24gY3JlYXRlKCkge1xuICBsZXQgaGIgPSBfY3JlYXRlKCk7XG5cbiAgaGIuY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcbiAgaGIucHJlY29tcGlsZSA9IGZ1bmN0aW9uKGlucHV0LCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHByZWNvbXBpbGUoaW5wdXQsIG9wdGlvbnMsIGhiKTtcbiAgfTtcblxuICBoYi5BU1QgPSBBU1Q7XG4gIGhiLkNvbXBpbGVyID0gQ29tcGlsZXI7XG4gIGhiLkphdmFTY3JpcHRDb21waWxlciA9IEphdmFTY3JpcHRDb21waWxlcjtcbiAgaGIuUGFyc2VyID0gUGFyc2VyO1xuICBoYi5wYXJzZSA9IHBhcnNlO1xuICBoYi5wYXJzZVdpdGhvdXRQcm9jZXNzaW5nID0gcGFyc2VXaXRob3V0UHJvY2Vzc2luZztcblxuICByZXR1cm4gaGI7XG59XG5cbmxldCBpbnN0ID0gY3JlYXRlKCk7XG5pbnN0LmNyZWF0ZSA9IGNyZWF0ZTtcblxubm9Db25mbGljdChpbnN0KTtcblxuaW5zdC5WaXNpdG9yID0gVmlzaXRvcjtcblxuaW5zdFsnZGVmYXVsdCddID0gaW5zdDtcblxuZXhwb3J0IGRlZmF1bHQgaW5zdDtcbiJdfQ==\n","let botElement: HTMLElement | null = null\n\nexport function setBotElement(el: HTMLElement) {\n botElement = el\n ;(window as any).ai12zBot = el // optional fallback\n}\n\nexport function getBotElement(): HTMLElement | null {\n return botElement || (window as any).ai12zBot || null\n}\n\nlet ctaElement: HTMLElement | null = null\n\nexport function setCtaElement(el: HTMLElement) {\n ctaElement = el\n ;(window as any).ai12zCta = el // optional fallback\n}\nexport function getCtaElement(): HTMLElement | null {\n return ctaElement || (window as any).ai12zCta || null\n}\n\nlet carousel: HTMLElement | null = null\nexport function setItemListElement(el: HTMLElement) {\n carousel = el\n ;(window as any).carousel = el // optional fallback\n}\nexport function getItemListElement(): HTMLElement | null {\n return carousel || (window as any).carousel || null\n}\n",":host {\n font-family: var(--ai12z-bot-font-family) !important;\n font-size: var(--ai12z-bot-font-size) !important;\n}\n/* Basic styles for the floating icon */\n.floating-icon {\n position: fixed;\n cursor: pointer;\n top: 90%;\n transform: translateY(-50%);\n background-color: var(--ai12z-bot-primary-bgcolor);\n color: var(--ai12z-bot-primary-color);\n padding: 10px;\n border-radius: 50%;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n z-index: 1000; /* Ensure it stays above other content */\n}\n.custom-floating-icon {\n position: fixed;\n cursor: pointer;\n top: 90%;\n transform: translateY(-50%);\n z-index: 1000;\n}\n/* Left position */\n.left {\n left: 10px;\n}\n/* Right position */\n.right {\n right: 10px;\n}\n\n.minimizebtn {\n margin: 10px;\n}\n.chat-window.minimized {\n width: 350px;\n height: 50px;\n overflow: hidden;\n}\n\n/* Chat window styles */\n.chat-window {\n position: fixed;\n bottom: 20px;\n /* right: 70px; */\n /* width: 350px; */\n /* width: 35%; */\n /* height: 80%; */\n background-color: var(--ai12z-bot-primary-color);\n border: 1px solid #ccc;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n flex-direction: column;\n border-radius: 10px;\n z-index: 1000;\n opacity: 0;\n transform: translateY(20px);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n}\n\n.chat-left {\n left: 70px;\n}\n\n.chat-right {\n right: 70px;\n}\n\n@keyframes fadeInSlideUp {\n 0% {\n opacity: 0;\n transform: translateY(20px) scale(0.9);\n }\n 100% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes fadeOutSlideDown {\n 0% {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n 100% {\n opacity: 0;\n transform: translateY(20px) scale(0.9);\n }\n}\n\n/* Chat window open animation */\n.chat-window-open {\n /* opacity: 1; */\n /* transform: translateY(0); */\n animation: fadeInSlideUp 0.4s ease-out forwards;\n pointer-events: auto;\n}\n\n/* Chat window close animation */\n.chat-window-close {\n /* opacity: 0; */\n /* transform: translateY(20px); */\n pointer-events: none;\n animation: fadeOutSlideDown 0.3s ease-in forwards;\n}\n\n.chat-header {\n background-color: var(--ai12z-bot-primary-bgcolor);\n color: var(--ai12z-bot-primary-color);\n padding: 10px;\n display: flex;\n /* justify-content: space-between; */\n align-items: center;\n border-top-left-radius: 10px; /* Rounded top corners */\n border-top-right-radius: 10px; /* Rounded top corners */\n height: 56px;\n}\n\n.chat-name {\n flex-grow: 1;\n}\n\n.avatar {\n width: 30px;\n height: 30px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.header-title {\n margin: 0 0 0 14px;\n padding: 1px 0;\n font-size: 14px;\n line-height: 14px;\n}\n\n.chat-body {\n /* padding: 10px; */\n /* height: 350px; */\n height: 100%;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 10px;\n overflow-x: hidden;\n /* scrollbar-width: none; */\n}\n\n.chat-body::-webkit-scrollbar {\n width: 5px; /* Thin width for the scrollbar */\n height: 5px; /* Thin height for horizontal scrollbar */\n}\n\n.chat-body::-webkit-scrollbar-thumb {\n background-color: #888; /* Color of the thumb */\n border-radius: 10px; /* Rounded corners */\n}\n\n.message {\n /* max-width: 70%; */\n padding: 10px;\n border-radius: 15px;\n font-size: 14px;\n line-height: 1.4;\n word-wrap: break-word;\n}\n\n.message-user {\n align-self: flex-end;\n /* background-color: #007bff; */\n color: var(--ai12z-bot-primary-color);\n /* border-top-right-radius: 0; */\n}\n\n.message-text {\n max-width: 100%;\n display: inline-block;\n position: relative;\n}\n\n.message-bot {\n /* padding: 10px; */\n align-self: flex-start;\n background-color: var(--ai12z-bot-secondary-bgcolor);\n color: var(--ai12z-bot-secondary-color);\n border-top-left-radius: 0;\n flex-direction: row;\n border-radius: 7px;\n}\n\n.msg-wrapper {\n display: flex;\n}\n\n.bot-avatar {\n width: 30px;\n height: 30px;\n border-radius: 50%;\n margin-right: 10px;\n}\n\n.message-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n max-width: fit-content;\n}\n\n.message-timestamp {\n font-size: 0.75rem; /* Smaller font size for timestamp */\n color: var(--ai12z-bot-text-mute); /* Light gray color for timestamp */\n margin-top: 2px; /* Space between message text and timestamp */\n align-self: flex-end; /* Align timestamp to the right for user messages */\n}\n\n.chat-footer {\n flex-direction: column;\n padding: 10px;\n display: flex;\n border-bottom-left-radius: 10px; /* Rounded bottom corners */\n border-bottom-right-radius: 10px; /* Rounded bottom corners */\n border-top: 1px solid var(--ai12z-bot-primary-bgcolor);\n}\n\n.chat-footer textarea {\n flex-grow: 1;\n padding: 5px;\n /* border: 1px solid #ccc; */\n border-radius: 6px;\n margin-right: 5px;\n resize: none;\n scrollbar-width: thin;\n overflow: hidden;\n}\n\n.chat-footer textarea:focus {\n outline: none;\n border-color: var(--ai12z-bot-primary-bgcolor);\n}\n\n.chat-footer button {\n color: var(--ai12z-bot-primary-bgcolor);\n}\n\n.chat-footers button {\n color: var(--ai12z-bot-primary-color);\n border: none;\n padding: 5px 10px;\n border-radius: 3px;\n cursor: pointer;\n}\n\n.close-btn {\n background: none;\n border: none;\n color: var(--ai12z-bot-primary-color);\n font-size: 20px;\n cursor: pointer;\n}\n\n.timestamp {\n font-size: 10px;\n color: var(--ai12z-bot-text-mute);\n margin: 14px 0;\n text-align: center;\n text-transform: uppercase;\n}\n\nspan.prose {\n font-size: 14px; /* Override p font size */\n}\n.message-user span.prose {\n color: var(--ai12z-bot-primary-color);\n background-color: var(--ai12z-bot-primary-bgcolor);\n padding: 10px;\n border-radius: 6px;\n}\n\n#fileInput {\n display: none;\n}\n.custom-attachment {\n cursor: pointer;\n /* width: 5%; */\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.image-Container {\n position: relative;\n display: inline-block;\n margin-right: 10px;\n}\n.delete-image {\n opacity: 3;\n position: absolute;\n right: 3px;\n top: 0;\n cursor: pointer;\n line-height: 10px;\n}\n\n.ai12zBtn {\n background-color: var(--ai12z-bot-primary-bgcolor) !important;\n color: var(--ai12z-bot-primary-color);\n padding: 5px 10px;\n border: none;\n border-radius: 5px;\n cursor: pointer;\n text-decoration: none;\n margin: 5px;\n}\n\n.hamburger {\n font-size: 30px;\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n padding-right: 12px;\n}\n\n@keyframes zoomIn {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n@keyframes zoomOut {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n}\n.menu {\n position: absolute;\n top: 55px;\n left: 0;\n width: 200px;\n background-color: var(--ai12z-bot-nav-bgcolor);\n color: var(--ai12z-bot-primary-color);\n overflow: hidden;\n transform-origin: top left;\n}\n.menu.open {\n animation: zoomIn 0.5s forwards; /* Zoom in when opening */\n}\n\n.menu.closed {\n /* visibility: hidden;\n opacity: 0; */\n animation: zoomOut 0.5s forwards; /* Zoom out when closing */\n}\n\n.menu ul {\n list-style-type: none;\n padding: 10px;\n}\n.custom-privacy {\n color: var(--ai12z-bot-privacy-color);\n padding-bottom: 10px;\n padding-left: 5px;\n margin-top: auto; /* Pushes the footer to the bottom */\n}\n.menu ul li {\n padding: 10px;\n cursor: pointer;\n}\n/* Media query for mobile devices */\n@media (max-width: 768px) {\n /* Initially show the chatbot */\n\n /* Hide the chatbot when the 'hide-chatbot' class is applied */\n .hide-chatbot {\n display: none;\n }\n\n .chat-window {\n width: 100% !important;\n height: 100% !important;\n right: 0%;\n bottom: 0%;\n }\n .pagination-controls button {\n padding: 5px 5px;\n }\n}\n.follow-up {\n display: flex;\n cursor: pointer;\n gap: 0.5rem;\n color: var(--ai12z-bot-followup-color);\n font-size: var(--ai12z-bot-followup-font-size);\n}\n.custom-svg-checkbox {\n margin-top: 0.25rem;\n width: 1rem;\n height: 1rem;\n position: absolute;\n}\n.follow-up-input {\n appearance: none;\n width: 1rem;\n height: 1rem;\n border-width: 2px;\n flex-shrink: 0;\n margin-top: 0.25rem;\n border-radius: 0.125rem;\n border-color: rgb(59 130 246);\n}\n\n.follow-up-input:checked {\n background-color: var(--ai12z-bot-followup-bg-color);\n border-width: 0px;\n}\n\n.bubble-width {\n width: 90%;\n}\n","/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-bold);font-weight:600}.prose :where(astrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotestrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthstrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose]*)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose]*)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:\"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\"}.prose :where(blockquotep:first-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:open-quote}.prose :where(blockquotep:last-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose]*)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose]*)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:\"`\"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:\"`\"}.prose :where(acode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h1code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h2code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.875em}.prose :where(h3code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.9em}.prose :where(h4code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotecode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthcode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:none}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose]*)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(theadth):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbodytr):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbodytr:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-width:0}.prose :where(tbodytd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose]*)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(.prose>ul>lip):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(ulul,ulol,olul,olol):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(theadth:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(theadth:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(tbodytd,tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbodytd:first-child,tfoottd:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(tbodytd:last-child,tfoottd:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-12{bottom:3rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-\\[-2px\\]{bottom:-2px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:1rem}.left-5{left:1.25rem}.left-\\[3px\\]{left:3px}.right-0{right:0}.right-4{right:1rem}.right-7{right:1.75rem}.right-8{right:2rem}.top-0{top:0}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.m-\\[-1px\\]{margin:-1px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-0\\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.ms-2{margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-6{height:1.5rem;width:1.5rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:20rem}.min-h-\\[calc\\(100\\%-1px\\)\\]{min-height:calc(100% - 1px)}.min-h-fit{min-height:fit-content}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-11\\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\\[1px\\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.min-w-\\[200px\\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\\[1_1_0\\]{flex:1 1 0}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-y-\\[0\\.5px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[0\\.5px\\]{--tw-translate-y:0.5px}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-2{column-gap:.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\\[10px\\]{padding:10px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-\\[14px\\]{padding-right:14px}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#001E5B\\]{--tw-text-opacity:1;color:rgb(0 30 91/var(--tw-text-opacity))}.text-\\[\\#0344D1\\]{--tw-text-opacity:1;color:rgb(3 68 209/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-slate-900\\/10{--tw-ring-color:rgba(15,23,42,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[ko_memo\\:\\\"\\+n\\+\\\"\\]{ko_memo:\"+n+\"}.after\\:invisible:after{content:var(--tw-content);visibility:hidden}.after\\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-gradient-to-t:hover{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline:focus{outline-style:solid}.focus\\:outline-2:focus{outline-width:2px}.focus\\:outline-offset-2:focus{outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity))}.focus\\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-transparent:disabled,.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.peer:checked~.peer-checked\\:block{display:block}:is(.dark.dark\\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark.dark\\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}:is(.dark.dark\\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark.dark\\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:is(.dark.dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark.dark\\:hover\\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}:is(.dark.dark\\:focus\\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (min-width:640px){.sm\\:h-3{height:.75rem}.sm\\:w-3{width:.75rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\\:right-0{right:0}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:ml-2{margin-left:.5rem}.md\\:mt-6{margin-top:1.5rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:grid{display:grid}.md\\:h-4{height:1rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-4{width:1rem}.md\\:max-w-xl{max-width:36rem}.md\\:flex-none{flex:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:gap-4{gap:1rem}.md\\:gap-x-3{column-gap:.75rem}.md\\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\\:p-2{padding:.5rem}.md\\:p-2\\.5{padding:.625rem}.md\\:p-4{padding:1rem}.md\\:pl-0{padding-left:0}.md\\:pl-3{padding-left:.75rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}.rtl\\:rotate-180:where([dir=rtl],[dir=rtl]*){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\\:space-x-reverse:where([dir=rtl],[dir=rtl]*)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}\n/*# sourceMappingURL=data:application/json;base64,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Q0FBQyxrQkFBa0IsNkJBQTZCLENBQUMsOEJBQThCLENBQUMsU0FBUyxhQUFhLENBQUMsWUFBWSxlQUFlLENBQUMsU0FBUyxZQUFZLENBQUMsVUFBVSxjQUFjLENBQUMsVUFBVSxtQkFBbUIsQ0FBQyxjQUFjLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGFBQWEsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQywwQkFBMEIsVUFBVSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDZDQUE2QyxrQkFBa0IsQ0FBQyw2TEFBNkwsQ0FBQyxnRkFBZ0Ysc0JBQXNCIiwiZmlsZSI6InRhaWx3aW5kLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgdGFpbHdpbmRjc3MgdjMuNC4xIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSovKiw6YWZ0ZXIsOmJlZm9yZXtib3JkZXI6MCBzb2xpZCAjZTVlN2ViO2JveC1zaXppbmc6Ym9yZGVyLWJveH06YWZ0ZXIsOmJlZm9yZXstLXR3LWNvbnRlbnQ6XCJcIn06aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Y29sb3I6aW5oZXJpdDtoZWlnaHQ6MH1hYmJyOndoZXJlKFt0aXRsZV0pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXNpemU6MWVtO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOm5vcm1hbH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1jb2xvcjppbmhlcml0O3RleHQtaW5kZW50OjB9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1bdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowfWZpZWxkc2V0LGxlZ2VuZHtwYWRkaW5nOjB9bWVudSxvbCx1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfWRpYWxvZ3twYWRkaW5nOjB9dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6IzljYTNhZjtvcGFjaXR5OjF9W3JvbGU9YnV0dG9uXSxidXR0b257Y3Vyc29yOnBvaW50ZXJ9OmRpc2FibGVke2N1cnNvcjpkZWZhdWx0fWF1ZGlvLGNhbnZhcyxlbWJlZCxpZnJhbWUsaW1nLG9iamVjdCxzdmcsdmlkZW97ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9aW1nLHZpZGVve2hlaWdodDphdXRvO21heC13aWR0aDoxMDAlfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX0qLDphZnRlciw6YmVmb3Jley0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH06OmJhY2tkcm9wey0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjY0MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NzY4cHh9fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6MTAyNHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjEyODBweH19QG1lZGlhIChtaW4td2lkdGg6MTUzNnB4KXsuY29udGFpbmVye21heC13aWR0aDoxNTM2cHh9fS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbX0ucHJvc2UgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOjEuMmVtO21hcmdpbi10b3A6MS4yZW19LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9sZCk7Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoYXN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShibG9ja3F1b3Rlc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHRoZWFkdGhzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbDttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPUlzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ucHJvc2UgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmRpc2M7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWJ1bGxldHMpfS5wcm9zZSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi1ib3R0b206M2VtO21hcmdpbi10b3A6M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDouMjVyZW07Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7bWFyZ2luLWJvdHRvbToxLjZlbTttYXJnaW4tdG9wOjEuNmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbTtxdW90ZXM6XCJcXDIwMUNcIlwiXFwyMDFEXCJcIlxcMjAxOFwiXCJcXDIwMTlcIn0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGVwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpvcGVuLXF1b3RlfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZXA6bGFzdC1vZi10eXBlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToyLjI1ZW07Zm9udC13ZWlnaHQ6ODAwO2xpbmUtaGVpZ2h0OjEuMTExMTExMTttYXJnaW4tYm90dG9tOi44ODg4ODg5ZW07bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDFzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjVlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO21hcmdpbi1ib3R0b206MWVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoaDJzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjgwMH0ucHJvc2UgOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOi42ZW07bWFyZ2luLXRvcDoxLjZlbX0ucHJvc2UgOndoZXJlKGgzc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS41O21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOjEuNWVtfS5wcm9zZSA6d2hlcmUoaDRzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMH0ucHJvc2UgOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW19LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSksMCAzcHggMCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSk7Y29sb3I6dmFyKC0tdHctcHJvc2Uta2JkKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpcImBcIn0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDFjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UgOndoZXJlKGgzY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUodGhlYWR0aGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO2JvcmRlci1yYWRpdXM6LjM3NXJlbTtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyODU3O21hcmdpbi1ib3R0b206MS43MTQyODU3ZW07bWFyZ2luLXRvcDoxLjcxNDI4NTdlbTtvdmVyZmxvdy14OmF1dG87cGFkZGluZy1pbmxpbmUtZW5kOjEuMTQyODU3MWVtO3BhZGRpbmctYm90dG9tOi44NTcxNDI5ZW07cGFkZGluZy10b3A6Ljg1NzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg1NzFlbX0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MDtib3JkZXItd2lkdGg6MDtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpub25lfS5wcm9zZSA6d2hlcmUocHJlY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI4NTc7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW07dGFibGUtbGF5b3V0OmF1dG87dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGhlYWR0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0Mjg2ZW07cGFkZGluZy1ib3R0b206LjU3MTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNTcxNDI4NmVtO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ucHJvc2UgOndoZXJlKHRib2R5dHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGJvZHl0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wcm9zZSA6d2hlcmUodGJvZHl0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItdG9wLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGZvb3R0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKGZpZ3VyZT4qKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jYXB0aW9ucyk7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjQyODU3MTQ7bWFyZ2luLXRvcDouODU3MTQyOWVtfS5wcm9zZXstLXR3LXByb3NlLWJvZHk6IzM3NDE1MTstLXR3LXByb3NlLWhlYWRpbmdzOiMxMTE4Mjc7LS10dy1wcm9zZS1sZWFkOiM0YjU1NjM7LS10dy1wcm9zZS1saW5rczojMTExODI3Oy0tdHctcHJvc2UtYm9sZDojMTExODI3Oy0tdHctcHJvc2UtY291bnRlcnM6IzZiNzI4MDstLXR3LXByb3NlLWJ1bGxldHM6I2QxZDVkYjstLXR3LXByb3NlLWhyOiNlNWU3ZWI7LS10dy1wcm9zZS1xdW90ZXM6IzExMTgyNzstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6I2U1ZTdlYjstLXR3LXByb3NlLWNhcHRpb25zOiM2YjcyODA7LS10dy1wcm9zZS1rYmQ6IzExMTgyNzstLXR3LXByb3NlLWtiZC1zaGFkb3dzOjE3IDI0IDM5Oy0tdHctcHJvc2UtY29kZTojMTExODI3Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWYyOTM3Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRiOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYjstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6IzljYTNhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRiNTU2MzstLXR3LXByb3NlLWludmVydC1ocjojMzc0MTUxOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM3NDE1MTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOjI1NSAyNTUgMjU1Oy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRiOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzpyZ2JhKDAsMCwwLC41KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOiM0YjU1NjM7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczojMzc0MTUxO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM3NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+dWw+bGk+cDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWx1bCx1bG9sLG9sdWwsb2xvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6LjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZSA6d2hlcmUodGhlYWR0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkLHRmb290dGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1lbmQ6LjU3MTQyODZlbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI4NmVtO3BhZGRpbmctdG9wOi41NzE0Mjg2ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyODZlbX0ucHJvc2UgOndoZXJlKHRib2R5dGQ6Zmlyc3QtY2hpbGQsdGZvb3R0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkOmxhc3QtY2hpbGQsdGZvb3R0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjJlbTttYXJnaW4tdG9wOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2U+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjB9LnNyLW9ubHl7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyLXdpZHRoOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30udmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uZml4ZWR7cG9zaXRpb246Zml4ZWR9LmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDowfS5ib3R0b20tMHtib3R0b206MH0uYm90dG9tLTEye2JvdHRvbTozcmVtfS5ib3R0b20tNHtib3R0b206MXJlbX0uYm90dG9tLTV7Ym90dG9tOjEuMjVyZW19LmJvdHRvbS02e2JvdHRvbToxLjVyZW19LmJvdHRvbS1cXFstMnB4XFxde2JvdHRvbTotMnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTR7bGVmdDoxcmVtfS5sZWZ0LTV7bGVmdDoxLjI1cmVtfS5sZWZ0LVxcWzNweFxcXXtsZWZ0OjNweH0ucmlnaHQtMHtyaWdodDowfS5yaWdodC00e3JpZ2h0OjFyZW19LnJpZ2h0LTd7cmlnaHQ6MS43NXJlbX0ucmlnaHQtOHtyaWdodDoycmVtfS50b3AtMHt0b3A6MH0uei0xMHt6LWluZGV4OjEwfS56LTMwe3otaW5kZXg6MzB9LnotNTB7ei1pbmRleDo1MH0uY29sLXNwYW4tMXtncmlkLWNvbHVtbjpzcGFuIDEvc3BhbiAxfS5jb2wtc3Bhbi0ye2dyaWQtY29sdW1uOnNwYW4gMi9zcGFuIDJ9Lm0tXFxbLTFweFxcXXttYXJnaW46LTFweH0ubXgtMXttYXJnaW4tbGVmdDouMjVyZW07bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5teS00e21hcmdpbi1ib3R0b206MXJlbTttYXJnaW4tdG9wOjFyZW19Li1tbC0xe21hcmdpbi1sZWZ0Oi0uMjVyZW19Lm1iLTF7bWFyZ2luLWJvdHRvbTouMjVyZW19Lm1iLTFcXC41e21hcmdpbi1ib3R0b206LjM3NXJlbX0ubWItMnttYXJnaW4tYm90dG9tOi41cmVtfS5tYi0ze21hcmdpbi1ib3R0b206Ljc1cmVtfS5tYi00e21hcmdpbi1ib3R0b206MXJlbX0ubWwtMXttYXJnaW4tbGVmdDouMjVyZW19Lm1sLTJ7bWFyZ2luLWxlZnQ6LjVyZW19Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubXItMHttYXJnaW4tcmlnaHQ6MH0ubXItMFxcLjV7bWFyZ2luLXJpZ2h0Oi4xMjVyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItM3ttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5tcy0ye21hcmdpbi1pbmxpbmUtc3RhcnQ6LjVyZW19Lm10LTB7bWFyZ2luLXRvcDowfS5tdC0wXFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTF7bWFyZ2luLXRvcDouMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtMlxcLjV7bWFyZ2luLXRvcDouNjI1cmVtfS5tdC00e21hcmdpbi10b3A6MXJlbX0ubXQtcHh7bWFyZ2luLXRvcDoxcHh9LmJveC1ib3JkZXJ7Ym94LXNpemluZzpib3JkZXItYm94fS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZXtkaXNwbGF5OmlubGluZX0uZmxleHtkaXNwbGF5OmZsZXh9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LmdyaWR7ZGlzcGxheTpncmlkfS5jb250ZW50c3tkaXNwbGF5OmNvbnRlbnRzfS5oaWRkZW57ZGlzcGxheTpub25lfS5zaXplLTEwe2hlaWdodDoyLjVyZW07d2lkdGg6Mi41cmVtfS5zaXplLTZ7aGVpZ2h0OjEuNXJlbTt3aWR0aDoxLjVyZW19LmgtMTB7aGVpZ2h0OjIuNXJlbX0uaC0xMntoZWlnaHQ6M3JlbX0uaC0xNHtoZWlnaHQ6My41cmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcXC41e2hlaWdodDouNjI1cmVtfS5oLTN7aGVpZ2h0Oi43NXJlbX0uaC0zXFwuNXtoZWlnaHQ6Ljg3NXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTV7aGVpZ2h0OjEuMjVyZW19LmgtNTZ7aGVpZ2h0OjE0cmVtfS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02NHtoZWlnaHQ6MTZyZW19LmgtOHtoZWlnaHQ6MnJlbX0uaC05NntoZWlnaHQ6MjRyZW19LmgtXFxbMXB4XFxde2hlaWdodDoxcHh9LmgtYXV0b3toZWlnaHQ6YXV0b30uaC1maXR7aGVpZ2h0OmZpdC1jb250ZW50fS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtODB7bWF4LWhlaWdodDoyMHJlbX0ubWluLWgtXFxbY2FsY1xcKDEwMFxcJS0xcHhcXClcXF17bWluLWhlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5taW4taC1maXR7bWluLWhlaWdodDpmaXQtY29udGVudH0udy0xXFwvMnt3aWR0aDo1MCV9LnctMTB7d2lkdGg6Mi41cmVtfS53LTExXFwvMTJ7d2lkdGg6OTEuNjY2NjY3JX0udy0xMnt3aWR0aDozcmVtfS53LTE0e3dpZHRoOjMuNXJlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcXC41e3dpZHRoOi42MjVyZW19LnctM3t3aWR0aDouNzVyZW19LnctM1xcLjV7d2lkdGg6Ljg3NXJlbX0udy00e3dpZHRoOjFyZW19LnctNDB7d2lkdGg6MTByZW19LnctNDR7d2lkdGg6MTFyZW19LnctNDh7d2lkdGg6MTJyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTh7d2lkdGg6MnJlbX0udy1cXFsxcHhcXF17d2lkdGg6MXB4fS53LWF1dG97d2lkdGg6YXV0b30udy1mdWxse3dpZHRoOjEwMCV9Lm1pbi13LVxcWzIwMHB4XFxde21pbi13aWR0aDoyMDBweH0ubWluLXctZnVsbHttaW4td2lkdGg6MTAwJX0ubWF4LXctMnhse21heC13aWR0aDo0MnJlbX0ubWF4LXctM3hse21heC13aWR0aDo0OHJlbX0ubWF4LXctZnVsbHttYXgtd2lkdGg6MTAwJX0ubWF4LXctbGd7bWF4LXdpZHRoOjMycmVtfS5tYXgtdy1zbXttYXgtd2lkdGg6MjRyZW19LmZsZXgtMXtmbGV4OjEgMSAwJX0uZmxleC1cXFsxXzFfMFxcXXtmbGV4OjEgMSAwfS5mbGV4LWF1dG97ZmxleDoxIDEgYXV0b30uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93e2ZsZXgtZ3JvdzoxfS4tdHJhbnNsYXRlLXgtMVxcLzJ7LS10dy10cmFuc2xhdGUteDotNTAlfS4tdHJhbnNsYXRlLXgtMVxcLzIsLnRyYW5zbGF0ZS15LVxcWzBcXC41cHhcXF17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS1cXFswXFwuNXB4XFxdey0tdHctdHJhbnNsYXRlLXk6MC41cHh9LnJvdGF0ZS00NXstLXR3LXJvdGF0ZTo0NWRlZ30ucm90YXRlLTQ1LC5zY2FsZS0xMDB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS0xMDB7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjF9LnNjYWxlLTExMHstLXR3LXNjYWxlLXg6MS4xOy0tdHctc2NhbGUteToxLjF9LnNjYWxlLTExMCwuc2NhbGUtOTB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS05MHstLXR3LXNjYWxlLXg6Ljk7LS10dy1zY2FsZS15Oi45fS50cmFuc2Zvcm17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgcGluZ3s3NSUsdG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19LmFuaW1hdGUtcGluZ3thbmltYXRpb246cGluZyAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIGluZmluaXRlfUBrZXlmcmFtZXMgcHVsc2V7NTAle29wYWNpdHk6LjV9fS5hbmltYXRlLXB1bHNle2FuaW1hdGlvbjpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0ucmVzaXplLW5vbmV7cmVzaXplOm5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0uZ3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS5wbGFjZS1jb250ZW50LWNlbnRlcntwbGFjZS1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5nYXAtMXtnYXA6LjI1cmVtfS5nYXAtMVxcLjV7Z2FwOi4zNzVyZW19LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTR7Z2FwOjFyZW19LmdhcC14LTJ7Y29sdW1uLWdhcDouNXJlbX0uZ2FwLXktMXtyb3ctZ2FwOi4yNXJlbX0uZ2FwLXktM3tyb3ctZ2FwOi43NXJlbX0uc3BhY2UteC0xPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO21hcmdpbi1yaWdodDpjYWxjKC41cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC43NXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNzVyZW0qdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSl9LnNwYWNlLXgtND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTowO21hcmdpbi1sZWZ0OmNhbGMoMXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYygxcmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjVyZW0qdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLXRvcDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfS5zcGFjZS15LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjc1cmVtKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi10b3A6Y2FsYyguNzVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LnNlbGYtZW5ke2FsaWduLXNlbGY6ZmxleC1lbmR9LnNlbGYtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyfS5vdmVyZmxvdy1hdXRve292ZXJmbG93OmF1dG99Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LXgtYXV0b3tvdmVyZmxvdy14OmF1dG99Lm92ZXJmbG93LXktc2Nyb2xse292ZXJmbG93LXk6c2Nyb2xsfS5vdmVyc2Nyb2xsLWNvbnRhaW57b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS50cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWVsbGlwc2lzLC50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LmJyZWFrLXdvcmRze292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC0yeGx7Ym9yZGVyLXJhZGl1czoxcmVtfS5yb3VuZGVkLTN4bHtib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6OTk5OXB4fS5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czouMzc1cmVtfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Ljc1cmVtfS5yb3VuZGVkLWItMnhse2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxcmVtfS5ib3JkZXJ7Ym9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLTB7Ym9yZGVyLXdpZHRoOjB9LmJvcmRlci0ye2JvcmRlci13aWR0aDoycHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItYi0ye2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItbHtib3JkZXItbGVmdC13aWR0aDoxcHh9LmJvcmRlci1yLTJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWR9LmJvcmRlci1ibHVlLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTIwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItZ3JheS0zMDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjA5IDIxMyAyMTkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXJlZC01MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci13aGl0ZXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5iZy1ibHVlLTUwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS02MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS03MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjkgNzggMjE2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS0yMDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmF5LTMwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLWdyYXktNTAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS04MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1pbmhlcml0e2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYmctd2hpdGV7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1vcGFjaXR5LTUwey0tdHctYmctb3BhY2l0eTowLjV9LmJnLW9wYWNpdHktNjB7LS10dy1iZy1vcGFjaXR5OjAuNn0uYmctZ3JhZGllbnQtdG8tcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpfS5mcm9tLWdyZWVuLTQwMHstLXR3LWdyYWRpZW50LWZyb206IzRhZGU4MCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOnJnYmEoNzQsMjIyLDEyOCwwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC1mcm9tKSx2YXIoLS10dy1ncmFkaWVudC10byl9LnRvLXRlYWwtNTAwey0tdHctZ3JhZGllbnQtdG86IzE0YjhhNiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzowfS5wLTF7cGFkZGluZzouMjVyZW19LnAtMVxcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0yXFwuNXtwYWRkaW5nOi42MjVyZW19LnAtM3twYWRkaW5nOi43NXJlbX0ucC00e3BhZGRpbmc6MXJlbX0ucC01e3BhZGRpbmc6MS4yNXJlbX0ucC02e3BhZGRpbmc6MS41cmVtfS5wLVxcWzEwcHhcXF17cGFkZGluZzoxMHB4fS5weC0xe3BhZGRpbmctbGVmdDouMjVyZW07cGFkZGluZy1yaWdodDouMjVyZW19LnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0ucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTV7cGFkZGluZy1sZWZ0OjEuMjVyZW07cGFkZGluZy1yaWdodDoxLjI1cmVtfS5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbTtwYWRkaW5nLXRvcDouMjVyZW19LnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy10b3A6LjVyZW19LnB5LTJcXC41e3BhZGRpbmctYm90dG9tOi42MjVyZW07cGFkZGluZy10b3A6LjYyNXJlbX0ucGItMXtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnBiLTJ7cGFkZGluZy1ib3R0b206LjVyZW19LnBiLTN7cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wbC0we3BhZGRpbmctbGVmdDowfS5wbC0xe3BhZGRpbmctbGVmdDouMjVyZW19LnBsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtfS5wbC0ze3BhZGRpbmctbGVmdDouNzVyZW19LnBsLTR7cGFkZGluZy1sZWZ0OjFyZW19LnByLTJ7cGFkZGluZy1yaWdodDouNXJlbX0ucHItXFxbMTRweFxcXXtwYWRkaW5nLXJpZ2h0OjE0cHh9LnB0LTJ7cGFkZGluZy10b3A6LjVyZW19LnB0LTV7cGFkZGluZy10b3A6MS4yNXJlbX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0uZm9udC1zYW5ze2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vaml9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1zbXtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjI1cmVtfS5mb250LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5mb250LWxpZ2h0e2ZvbnQtd2VpZ2h0OjMwMH0uZm9udC1tZWRpdW17Zm9udC13ZWlnaHQ6NTAwfS5mb250LW5vcm1hbHtmb250LXdlaWdodDo0MDB9LmZvbnQtc2VtaWJvbGR7Zm9udC13ZWlnaHQ6NjAwfS51cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5sZWFkaW5nLW5vcm1hbHtsaW5lLWhlaWdodDoxLjV9LnRyYWNraW5nLXRpZ2h0e2xldHRlci1zcGFjaW5nOi0uMDI1ZW19LnRleHQtXFxbXFwjMDAxRTVCXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDAgMzAgOTEvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtXFxbXFwjMDM0NEQxXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMgNjggMjA5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWJsdWUtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU5IDEzMCAyNDYvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtYmx1ZS02MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNjAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDc1IDg1IDk5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNzAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU1IDY1IDgxL3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktODAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktOTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE3IDI0IDM5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXJlZC01MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXNsYXRlLTMwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMDMgMjEzIDIyNS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC1zbGF0ZS00MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtd2hpdGV7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTEwMHtvcGFjaXR5OjF9Lm9wYWNpdHktMjV7b3BhY2l0eTouMjV9Lm9wYWNpdHktNzV7b3BhY2l0eTouNzV9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAycHggLTFweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LC5zaGFkb3ctbGd7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHJnYmEoMCwwLDAsLjEpLDAgNHB4IDZweCAtNHB4IHJnYmEoMCwwLDAsLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcil9LnNoYWRvdy1tZHstLXR3LXNoYWRvdzowIDRweCA2cHggLTFweCByZ2JhKDAsMCwwLC4xKSwwIDJweCA0cHggLTJweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LW1kLC5zaGFkb3ctc217Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpfS5zaGFkb3cteGx7LS10dy1zaGFkb3c6MCAyMHB4IDI1cHggLTVweCByZ2JhKDAsMCwwLC4xKSwwIDhweCAxMHB4IC02cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA4cHggMTBweCAtNnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9Lm91dGxpbmUtbm9uZXtvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHh9Lm91dGxpbmV7b3V0bGluZS1zdHlsZTpzb2xpZH0ucmluZ3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5yaW5nLC5yaW5nLTF7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0ucmluZy0xey0tdHctcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDFweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcil9LnJpbmctc2xhdGUtOTAwXFwvMTB7LS10dy1yaW5nLWNvbG9yOnJnYmEoMTUsMjMsNDIsLjEpfS5ibHVyey0tdHctYmx1cjpibHVyKDhweCl9LmJsdXIsLmZpbHRlcntmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi10cmFuc2Zvcm17dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTcwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi43c30uZWFzZS1pbi1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LmVhc2Utb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9LlxcW2tvX21lbW9cXDpcXFwiXFwrblxcK1xcXCJcXF17a29fbWVtbzpcIituK1wifS5hZnRlclxcOmludmlzaWJsZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Zpc2liaWxpdHk6aGlkZGVufS5hZnRlclxcOndoaXRlc3BhY2UtcHJlLXdyYXA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uaG92ZXJcXDpiZy1ibHVlLTcwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyOSA3OCAyMTYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWJsdWUtODAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDMwIDY0IDE3NS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmhvdmVyXFw6YmctZ3JheS0xMDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQzIDI0NCAyNDYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWdyYXktNDAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1pbmRpZ28tMzAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE2NSAxODAgMjUyL3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1vcGFjaXR5LTgwOmhvdmVyey0tdHctYmctb3BhY2l0eTowLjh9LmhvdmVyXFw6YmctZ3JhZGllbnQtdG8tdDpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AsdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uaG92ZXJcXDp0ZXh0LWJsdWUtNzAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaG92ZXJcXDp0ZXh0LXdoaXRlOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5ob3ZlclxcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXFw6c2hhZG93LWxnOmhvdmVyey0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwuMSksMCA0cHggNnB4IC00cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpyaW5nLXNsYXRlLTMwMDpob3ZlcnstLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmZvY3VzXFw6b3V0bGluZS1ub25lOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXNcXDpvdXRsaW5lOmZvY3Vze291dGxpbmUtc3R5bGU6c29saWR9LmZvY3VzXFw6b3V0bGluZS0yOmZvY3Vze291dGxpbmUtd2lkdGg6MnB4fS5mb2N1c1xcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1c1xcOnJpbmctMDpmb2N1c3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYyh2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5mb2N1c1xcOnJpbmctMDpmb2N1cywuZm9jdXNcXDpyaW5nLTI6Zm9jdXN7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0uZm9jdXNcXDpyaW5nLTI6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKX0uZm9jdXNcXDpyaW5nLTQ6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoNHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywwIDAgIzAwMDApfS5mb2N1c1xcOnJpbmctYmx1ZS0zMDA6Zm9jdXN7LS10dy1yaW5nLW9wYWNpdHk6MTstLXR3LXJpbmctY29sb3I6cmdiKDE0NyAxOTcgMjUzL3ZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5mb2N1c1xcOnJpbmctc2t5LTUwMDpmb2N1c3stLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMTQgMTY1IDIzMy92YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFxcOmJnLXRyYW5zcGFyZW50OmRpc2FibGVkLC5kaXNhYmxlZFxcOmhvdmVyXFw6YmctdHJhbnNwYXJlbnQ6aG92ZXI6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGVlcjpjaGVja2Vkfi5wZWVyLWNoZWNrZWRcXDpibG9ja3tkaXNwbGF5OmJsb2NrfTppcyguZGFyay5kYXJrXFw6Ym9yZGVyLWdyYXktNzAwKXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1NSA2NSA4MS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6YmctYmx1ZS02MDApey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM3IDk5IDIzNS92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LWdyYXktMTAwKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNDMgMjQ0IDI0Ni92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOnRleHQtZ3JheS00MDApey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6dGV4dC1ncmF5LTgwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXNsYXRlLTQwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXdoaXRlKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOmhvdmVyXFw6YmctYmx1ZS03MDA6aG92ZXIpey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDpmb2N1c1xcOnJpbmctYmx1ZS04MDA6Zm9jdXMpey0tdHctcmluZy1vcGFjaXR5OjE7LS10dy1yaW5nLWNvbG9yOnJnYigzMCA2NCAxNzUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVxcOmgtM3toZWlnaHQ6Ljc1cmVtfS5zbVxcOnctM3t3aWR0aDouNzVyZW19LnNtXFw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1kXFw6cmlnaHQtMHtyaWdodDowfS5tZFxcOmNvbC1zcGFuLTJ7Z3JpZC1jb2x1bW46c3BhbiAyL3NwYW4gMn0ubWRcXDptbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tZFxcOm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpncmlke2Rpc3BsYXk6Z3JpZH0ubWRcXDpoLTR7aGVpZ2h0OjFyZW19Lm1kXFw6aC05NntoZWlnaHQ6MjRyZW19Lm1kXFw6aC1hdXRve2hlaWdodDphdXRvfS5tZFxcOnctMVxcLzJ7d2lkdGg6NTAlfS5tZFxcOnctMVxcLzN7d2lkdGg6MzMuMzMzMzMzJX0ubWRcXDp3LTJcXC8ze3dpZHRoOjY2LjY2NjY2NyV9Lm1kXFw6dy00e3dpZHRoOjFyZW19Lm1kXFw6bWF4LXcteGx7bWF4LXdpZHRoOjM2cmVtfS5tZFxcOmZsZXgtbm9uZXtmbGV4Om5vbmV9Lm1kXFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubWRcXDpnYXAtNHtnYXA6MXJlbX0ubWRcXDpnYXAteC0ze2NvbHVtbi1nYXA6Ljc1cmVtfS5tZFxcOnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi43NXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouNzVyZW19Lm1kXFw6cC0ye3BhZGRpbmc6LjVyZW19Lm1kXFw6cC0yXFwuNXtwYWRkaW5nOi42MjVyZW19Lm1kXFw6cC00e3BhZGRpbmc6MXJlbX0ubWRcXDpwbC0we3BhZGRpbmctbGVmdDowfS5tZFxcOnBsLTN7cGFkZGluZy1sZWZ0Oi43NXJlbX0ubWRcXDp0ZXh0LTN4bHtmb250LXNpemU6MS44NzVyZW07bGluZS1oZWlnaHQ6Mi4yNXJlbX0ubWRcXDp0ZXh0LXhse2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmxnXFw6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fS5ydGxcXDpyb3RhdGUtMTgwOndoZXJlKFtkaXI9cnRsXSxbZGlyPXJ0bF0qKXstLXR3LXJvdGF0ZToxODBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ydGxcXDpzcGFjZS14LXJldmVyc2U6d2hlcmUoW2Rpcj1ydGxdLFtkaXI9cnRsXSopPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjF9Il19 */","/*!\n * surveyjs - Survey JavaScript library v1.11.5\n * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/\n * License: MIT (http://www.opensource.org/licenses/mit-license.php)\n */@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:400;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:600;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format(\"woff2\");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format(\"woff2\");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format(\"woff2\");unicode-range:U+1F00-1FFF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format(\"woff2\");unicode-range:U+0370-03FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format(\"woff2\");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format(\"woff2\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format(\"woff2\");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:\"Open Sans\";font-style:normal;font-weight:700;font-stretch:100%;src:url(https://fonts.gstatic.com/s/opensans/v34/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format(\"woff2\");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-family:\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,sans-serif}:root{--sjs-transition-duration:150ms}.sv-action-bar{display:flex;box-sizing:content-box;position:relative;align-items:center;margin-left:auto;overflow:hidden;white-space:nowrap}.sv-action-bar-separator{display:inline-block;width:1px;height:24px;vertical-align:middle;margin-right:16px;background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sv-action-bar--default-size-mode .sv-action-bar-separator{margin:0 var(--sjs-base-unit,var(--base-unit,8px))}.sv-action-bar--small-size-mode .sv-action-bar-separator{margin:0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-action-bar-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;padding:var(--sjs-base-unit,var(--base-unit,8px));box-sizing:border-box;border:none;border-radius:calc(.5 * (var(--sjs-corner-radius,4px)));background-color:transparent;color:var(--sjs-general-forecolor,var(--foreground,#161616));cursor:pointer;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));overflow-x:hidden;white-space:nowrap}button.sv-action-bar-item{overflow:hidden}.sv-action-bar--default-size-mode .sv-action-bar-item{height:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));margin:0 var(--sjs-base-unit,var(--base-unit,8px))}.sv-action-bar--small-size-mode .sv-action-bar-item{height:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px);margin:0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-action:first-of-type .sv-action-bar-item{margin-inline-start:0}.sv-action:last-of-type .sv-action-bar-item{margin-inline-end:0}.sv-action-bar--default-size-mode .sv-action-bar-item__title--with-icon{margin-inline-start:var(--sjs-base-unit,var(--base-unit,8px))}.sv-action-bar--small-size-mode .sv-action-bar-item__title--with-icon{margin-inline-start:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-action-bar-item__icon svg{display:block}.sv-action-bar-item__icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-action-bar-item:not(.sv-action-bar-item--pressed):focus:enabled,.sv-action-bar-item:not(.sv-action-bar-item--pressed):hover:enabled{outline:0;background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv-action-bar-item--active.sv-action-bar-item--pressed:focus,.sv-action-bar-item--active.sv-action-bar-item--pressed:focus-visible{outline:0}.sv-action-bar-item:not(.sv-action-bar-item--pressed):active:enabled{opacity:.5}.sv-action-bar-item:disabled{opacity:.25;cursor:default}.sv-action-bar-item__title{color:inherit;vertical-align:middle;white-space:nowrap}.sv-action-bar-item--secondary .sv-action-bar-item__icon use{fill:var(--sjs-secondary-backcolor,var(--secondary,#ff9814))}.sv-action-bar-item--active .sv-action-bar-item__icon use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-action-bar-item-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;height:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:var(--sjs-base-unit,var(--base-unit,8px));box-sizing:border-box;border:none;border-radius:calc(.5 * (var(--sjs-corner-radius,4px)));background-color:transparent;cursor:pointer;line-height:calc(1.5 * (var(--sjs-font-size,16px)));font-size:var(--sjs-font-size,16px);font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)))}.sv-expand-action:before{content:\"\";display:inline-block;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 10 10' style='enable-background:new 0 0 10 10;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23404040;%7D%0A%3C/style%3E%3Cpolygon class='st0' points='2,2 0,4 5,9 10,4 8,2 5,5 '/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:center center;height:10px;width:12px;margin:auto 8px}.sv-expand-action--expanded:before{transform:rotate(180deg)}.sv-dots{width:48px}.sv-dots__item{width:100%}.sv-dots__item .sv-action-bar-item__icon{margin:auto}.sv-action--hidden{width:0;height:0;overflow:hidden;visibility:hidden}.sv-action--hidden .sv-action__content{min-width:fit-content}.sv-action__content{display:flex;flex-direction:row;align-items:center}.sv-action__content>*{flex:0 0 auto}.sv-action--space{margin-left:auto}.sv-action-bar-item--pressed:not(.sv-action-bar-item--active){background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));opacity:50%}:root{--sjs-transition-duration:150ms}.sv-dragged-element-shortcut{height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));min-width:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-backcolor,var(--background,#fff));padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));cursor:grabbing;position:absolute;z-index:10000;box-shadow:0 8px 16px rgba(0,0,0,.1);font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-size,16px);padding-left:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));line-height:calc(1.5 * (var(--sjs-font-size,16px)))}.sv-matrixdynamic__drag-icon{padding-top:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-matrixdynamic__drag-icon:after{content:\" \";display:block;height:calc(.75 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border:1px solid #e7e7e7;box-sizing:border-box;border-radius:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));cursor:move;margin-top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-matrix-row--drag-drop-ghost-mod td{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv-matrix-row--drag-drop-ghost-mod td>*{visibility:hidden}.sv-drag-drop-choices-shortcut{cursor:grabbing;position:absolute;z-index:10000;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)))}.sv-drag-drop-choices-shortcut__content.sv-drag-drop-choices-shortcut__content{min-width:100px;box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1)),var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1));background-color:var(--sjs-general-backcolor,var(--background,#fff));border-radius:calc(4.5 * var(--sjs-base-unit,var(--base-unit,8px)));padding-right:calc(2 * var(--sjs-base-unit,var(--base-unit,8px)));margin-left:0}:root{--sjs-transition-duration:150ms}sv-popup{display:block;position:absolute}.sv-popup{position:fixed;left:0;top:0;width:100vw;outline:0;z-index:2000;height:100vh}.sv-dropdown-popup{height:0}.sv-popup.sv-popup-inner{height:0}.sv-popup-inner>.sv-popup__container{margin-top:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__item--with-icon .sv-popup-inner>.sv-popup__container{margin-top:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup__container{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1));border-radius:var(--sjs-corner-radius,4px);position:absolute;padding:0}.sv-popup__shadow{width:100%;height:100%;border-radius:var(--sjs-corner-radius,4px)}.sv-popup__body-content{background-color:var(--sjs-general-backcolor,var(--background,#fff));border-radius:var(--sjs-corner-radius,4px);width:100%;height:100%;box-sizing:border-box;display:flex;flex-direction:column;max-height:90vh;max-width:100vw}.sv-popup--modal{display:flex;align-items:center;justify-content:center;background-color:var(--background-semitransparent,rgba(144,144,144,.5));padding:calc(11 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box}.sv-popup--modal>.sv-popup__container{position:static;display:flex}.sv-popup--modal>.sv-popup__container>.sv-popup__shadow>.sv-popup__body-content{box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1));background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9));padding:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));height:auto}.sv-popup--modal>.sv-popup__container>.sv-popup__shadow>.sv-popup__body-content .sv-popup__body-footer{padding-bottom:2px}.sv-popup--modal .sv-popup__body-footer .sv-footer-action-bar{overflow:visible}.sv-popup--confirm-delete .sv-popup__shadow{height:initial}.sv-popup--confirm-delete .sv-popup__container{border-radius:var(--sjs-base-unit,var(--base-unit,8px))}.sv-popup--confirm-delete .sv-popup__body-content{border-radius:var(--sjs-base-unit,var(--base-unit,8px));max-width:min-content;align-items:flex-end;min-width:452px}.sv-popup--confirm-delete .sv-popup__body-header{color:var(--sjs-font-editorfont-color,var(--sjs-general-forecolor,rgba(0,0,0,.91)));margin-bottom:0;align-self:self-start;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-size,16px);font-style:normal;font-weight:400;line-height:calc(1.5 * (var(--sjs-font-size,16px)))}.sv-popup--confirm-delete .sv-popup__scrolling-content{display:none}.sv-popup--confirm-delete .sv-popup__body-footer{padding-bottom:0;max-width:max-content}.sv-popup--confirm-delete .sv-popup__body-footer .sv-action-bar{gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--overlay{width:100%;height:var(--sv-popup-overlay-height,100vh)}.sv-popup--overlay .sv-popup__container{background:var(--background-semitransparent,rgba(144,144,144,.5));max-width:100vw;max-height:calc(var(--sv-popup-overlay-height,100vh) - 1 * var(--sjs-base-unit,var(--base-unit,8px)));height:calc(var(--sv-popup-overlay-height,100vh) - 1 * var(--sjs-base-unit,var(--base-unit,8px)));width:100%;padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border:unset}.sv-popup--overlay .sv-popup__body-content{max-height:var(--sv-popup-overlay-height,100vh);max-width:100vw;border-radius:calc(4 * (var(--sjs-corner-radius,4px))) calc(4 * (var(--sjs-corner-radius,4px))) 0 0;background:var(--sjs-general-backcolor,var(--background,#fff));box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1));padding:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(100% - 1 * var(--sjs-base-unit,var(--base-unit,8px)))}.sv-popup--overlay .sv-popup__scrolling-content{height:calc(100% - 10 * var(--base-unit,8px))}.sv-popup--overlay .sv-popup__body-footer{margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--overlay .sv-popup__body-footer .sv-action-bar{width:100%}.sv-popup--overlay .sv-popup__body-footer-item{width:100%}.sv-popup--overlay .sv-popup__button.sv-popup__button{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));border:2px solid var(--sjs-primary-backcolor,var(--primary,#19b394));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sv-popup--overlay .sv-popup__body-footer .sv-action{flex:1 0 0}.sv-popup--modal .sv-popup__scrolling-content{padding:2px;margin:-2px}.sv-popup__scrolling-content{height:100%;overflow:auto;display:flex;flex-direction:column}.sv-popup__scrolling-content ::-webkit-scrollbar,.sv-popup__scrolling-content::-webkit-scrollbar{height:6px;width:6px;background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv-popup__scrolling-content ::-webkit-scrollbar-thumb,.sv-popup__scrolling-content::-webkit-scrollbar-thumb{background:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)))}.sv-popup__content{min-width:100%;height:100%;display:flex;flex-direction:column;min-height:0;position:relative}.sv-popup--show-pointer.sv-popup--top .sv-popup__pointer{transform:translate(calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))) rotate(180deg)}.sv-popup--show-pointer.sv-popup--bottom .sv-popup__pointer{transform:translate(calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px)))),calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px)))))}.sv-popup--show-pointer.sv-popup--right .sv-popup__container{transform:translate(var(--sjs-base-unit,var(--base-unit,8px)))}.sv-popup--show-pointer.sv-popup--right .sv-popup__container .sv-popup__pointer{transform:translate(-12px,-4px) rotate(-90deg)}.sv-popup--show-pointer.sv-popup--left .sv-popup__container{transform:translate(calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px)))))}.sv-popup--show-pointer.sv-popup--left .sv-popup__container .sv-popup__pointer{transform:translate(-4px,-4px) rotate(90deg)}.sv-popup__pointer{display:block;position:absolute}.sv-popup__pointer:after{content:\" \";display:block;width:0;height:0;border-left:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent;border-right:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent;border-bottom:var(--sjs-base-unit,var(--base-unit,8px)) solid var(--sjs-general-backcolor,var(--background,#fff));align-self:center}.sv-popup__body-header{font-family:Open Sans;font-size:calc(1.5 * (var(--sjs-font-size,16px)));line-height:calc(2 * (var(--sjs-font-size,16px)));font-style:normal;font-weight:700;margin-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sv-popup__body-footer{display:flex;margin-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup__body-footer .sv-action-bar{gap:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup__button{margin:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--modal .sv-list__filter,.sv-popup--overlay .sv-list__filter{padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sv-popup--modal .sv-list__filter-icon,.sv-popup--overlay .sv-list__filter-icon{top:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown .sv-list__filter{margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sv-popup--dropdown .sv-popup__shadow{box-shadow:var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1))}.sv-popup--dropdown .sv-popup__body-content{background-color:var(--sjs-general-backcolor,var(--background,#fff));padding:var(--sjs-base-unit,var(--base-unit,8px)) 0;height:100%}.sv-popup--dropdown>.sv-popup__container>.sv-popup__shadow>.sv-popup__body-content .sv-list{background-color:transparent}.sv-dropdown-popup .sv-popup__body-content{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sv-dropdown-popup .sv-list__filter{margin-bottom:0}.sv-popup--overlay .sv-popup__body-content{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv-popup--dropdown-overlay{z-index:2001;padding:0}.sv-popup--dropdown-overlay .sv-popup__body-content{padding:0;border-radius:0}.sv-popup--dropdown-overlay .sv-popup__body-footer .sv-action-bar .sv-action{flex:0 0 auto}.sv-popup--dropdown-overlay .sv-popup__button.sv-popup__button{background-color:transparent;color:var(--sjs-primary-backcolor,var(--primary,#19b394));border:none;box-shadow:none;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:0}.sv-popup--dropdown-overlay .sv-popup__container{max-height:calc(var(--sv-popup-overlay-height,100vh));height:calc(var(--sv-popup-overlay-height,100vh));padding-top:0}.sv-popup--dropdown-overlay .sv-popup__body-content{height:calc(var(--sv-popup-overlay-height,100vh))}.sv-popup--dropdown-overlay .sv-popup__body-footer{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));margin-top:0;padding-top:var(--sjs-base-unit,var(--base-unit,8px));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px));border-top:1px solid var(--sjs-border-light,var(--border-light,#eaeaea))}.sv-popup--dropdown-overlay .sv-popup__scrolling-content{height:calc(100% - 6 * var(--base-unit,8px))}.sv-popup--dropdown-overlay .sv-list__filter-icon .sv-svg-icon{width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown-overlay .sv-list__container{padding:0}.sv-popup--dropdown-overlay .sv-list{flex-grow:1;padding:var(--sjs-base-unit,var(--base-unit,8px)) 0}.sv-popup--dropdown-overlay .sv-list__filter{display:flex;align-items:center;margin-bottom:0;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px)) calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown-overlay .sv-list__filter-icon{position:static;height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown-overlay .sv-list__empty-container{display:flex;flex-direction:column;justify-content:center;flex-grow:1;padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sv-popup--dropdown-overlay .sv-popup__button:disabled{pointer-events:none;color:var(--sjs-general-forecolor,var(--foreground,#161616));opacity:.25}.sv-popup--dropdown-overlay .sv-list__filter-clear-button{height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));appearance:none;border:none;border-radius:100%;background-color:transparent}.sv-popup--dropdown-overlay .sv-list__filter-clear-button svg{height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown-overlay .sv-list__filter-clear-button svg use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-popup--dropdown-overlay .sv-list__input{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));font-size:max(16px,var(--sjs-font-size,16px));line-height:max(24px,1.5 * (var(--sjs-font-size,16px)));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-popup--dropdown-overlay .sv-list__item--focused .sv-list__item-body,.sv-popup--dropdown-overlay .sv-list__item:focus .sv-list__item-body,.sv-popup--dropdown-overlay .sv-list__item:hover .sv-list__item-body{background:var(--sjs-general-backcolor,var(--background,#fff))}.sv-popup--dropdown-overlay .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,.sv-popup--dropdown-overlay .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--dropdown-overlay .sv-list__item:hover.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor,var(--primary,#19b394));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));font-weight:600}.sv-popup--dropdown-overlay .sv-popup__body-footer .sv-action-bar{justify-content:flex-start}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-list__filter{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px)) calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-list{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-popup__button.sv-popup__button{padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-popup__body-footer{padding-top:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-list__filter-icon .sv-svg-icon{width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-list__filter-icon{height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-popup--dropdown-overlay .sv-list__input{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px))}.sv-popup--dropdown-overlay.sv-multi-select-list .sv-list__item--focused.sv-list__item--selected .sv-list__item-body,.sv-popup--dropdown-overlay.sv-multi-select-list .sv-list__item:focus.sv-list__item--selected .sv-list__item-body,.sv-popup--dropdown-overlay.sv-multi-select-list .sv-list__item:hover.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));color:var(--sjs-general-forecolor,var(--foreground,#161616));font-weight:400}.sv-popup--dropdown-overlay.sv-popup--tablet .sv-popup__body-content{--sv-popup-overlay-max-height:calc(var(--sv-popup-overlay-height, 100vh) - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);--sv-popup-overlay-max-width:calc(100% - var(--sjs-base-unit, var(--base-unit, 8px)) * 8);position:absolute;transform:translate(-50%,-50%);left:50%;top:50%;max-height:var(--sv-popup-overlay-max-height);min-height:min(var(--sv-popup-overlay-max-height),30 * (var(--sjs-base-unit,var(--base-unit,8px))));height:auto;width:auto;min-width:min(40 * (var(--sjs-base-unit,var(--base-unit,8px))),var(--sv-popup-overlay-max-width));max-width:var(--sv-popup-overlay-max-width);border-radius:var(--sjs-corner-radius,4px);overflow:hidden;margin:0}.sv-popup--dropdown-overlay.sv-popup--tablet .sv-list__container,.sv-popup--dropdown-overlay.sv-popup--tablet .sv-popup__content,.sv-popup--dropdown-overlay.sv-popup--tablet .sv-popup__scrolling-content{flex-grow:1}.sv-popup--visible{opacity:1}.sv-popup--hidden{opacity:0}.sv-popup--animate-enter{animation-name:fadeIn;animation-fill-mode:forwards;animation-duration:.15s}.sv-popup--modal.sv-popup--animate-enter{animation-duration:.25s}.sv-popup--animate-leave{animation-direction:reverse;animation-name:fadeIn;animation-fill-mode:forwards;animation-duration:.15s}.sv-popup--modal.sv-popup--animate-leave{animation-duration:.25s}.sv-popup--hidden{opacity:0}@keyframes modalMoveDown{from{transform:translateY(0)}to{transform:translateY(64px)}}@keyframes modalMoveUp{from{transform:translateY(64px)}to{transform:translateY(0)}}.sv-popup--modal.sv-popup--animate-leave .sv-popup__container{animation-name:modalMoveDown;animation-fill-mode:forwards;animation-duration:.25s}.sv-popup--modal.sv-popup--animate-enter .sv-popup__container{animation-name:modalMoveUp;animation-fill-mode:forwards;animation-duration:.25s}:root{--sjs-transition-duration:150ms}.sv-button-group{display:flex;align-items:center;flex-direction:row;font-size:var(--sjs-font-size,16px);overflow:auto;border:1px solid var(--sjs-border-default,var(--border,#d6d6d6))}.sv-button-group:focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor,var(--primary,#19b394));border-color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-button-group__item{display:flex;box-sizing:border-box;flex-direction:row;justify-content:center;align-items:center;appearance:none;width:100%;padding:11px calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));line-height:calc(1.5 * (var(--sjs-font-size,16px)));outline:0;font-size:var(--sjs-font-size,16px);font-weight:400;background:var(--sjs-general-backcolor,var(--background,#fff));cursor:pointer;overflow:hidden;color:var(--sjs-general-forecolor,var(--foreground,#161616));position:relative}.sv-button-group__item:not(:last-of-type){border-right:1px solid var(--sjs-border-default,var(--border,#d6d6d6))}.sv-button-group__item--hover:hover{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv-button-group__item-icon{display:block;height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-button-group__item-icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-button-group__item--selected{font-weight:600;color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-button-group__item--selected .sv-button-group__item-icon use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-button-group__item--selected:hover{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sv-button-group__item-decorator{display:flex;align-items:center;max-width:100%}.sv-button-group__item-caption{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-button-group__item-icon+.sv-button-group__item-caption{margin-left:var(--sjs-base-unit,var(--base-unit,8px))}.sv-button-group__item--disabled{color:var(--sjs-general-forecolor,var(--foreground,#161616));cursor:default}.sv-button-group__item--disabled .sv-button-group__item-decorator{opacity:.25;font-weight:400}.sv-button-group__item--disabled .sv-button-group__item-icon use{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sv-button-group__item--disabled:hover{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sv-button-group:focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor,var(--primary,#19b394));border-color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-visuallyhidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sv-hidden{display:none!important}.sv-title-actions{display:flex;align-items:center;width:100%}.sv-title-actions__title{flex-wrap:wrap;max-width:90%;min-width:50%;white-space:initial}.sv-action-title-bar{min-width:56px}.sv-title-actions .sv-title-actions__title{flex-wrap:wrap;flex:0 1 auto;max-width:unset;min-width:unset}.sv-title-actions .sv-action-title-bar{flex:1 1 auto;justify-content:flex-end;min-width:unset}:root{--sjs-transition-duration:150ms}:root{--sjs-transition-duration:150ms}.sv_window{position:fixed;bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-base-unit,var(--base-unit,8px));border:1px solid var(--sjs-border-inside,var(--border-inside,rgba(0,0,0,.16)));box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1)),var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1));background-clip:padding-box;z-index:100;max-height:50vh;overflow:auto;box-sizing:border-box;background:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));width:calc(100% - 4 * (var(--sjs-base-unit,var(--base-unit,8px))))!important}@-moz-document url-prefix(){.sv_window,.sv_window *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default,var(--border,#d6d6d6)) transparent}}.sv_window ::-webkit-scrollbar,.sv_window::-webkit-scrollbar{width:12px;height:12px;background-color:transparent}.sv_window ::-webkit-scrollbar-thumb,.sv_window::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sv_window ::-webkit-scrollbar-track,.sv_window::-webkit-scrollbar-track{background:0 0}.sv_window ::-webkit-scrollbar-thumb:hover,.sv_window::-webkit-scrollbar-thumb:hover{border:2px solid transparent;background-color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv_window_root-content{height:100%}.sv_window--full-screen{top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));left:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));max-height:100%;width:initial!important;max-width:initial!important}.sv_window_header{display:flex;justify-content:flex-end}.sv_window_content{overflow:hidden}.sv_window--collapsed{height:initial}.sv_window--collapsed .sv_window_header{height:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:var(--sjs-base-unit,var(--base-unit,8px)) var(--sjs-base-unit,var(--base-unit,8px)) var(--sjs-base-unit,var(--base-unit,8px)) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-base-unit,var(--base-unit,8px));display:flex;background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sv_window--collapsed .sv_window_content{display:none}.sv_window--collapsed .sv_window_buttons_container{margin-top:0;margin-right:0}.sv_window_header_title_collapsed{color:var(--sjs-general-dim-forecolor,rgba(0,0,0,.91));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-weight:600;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));flex:1;display:flex;justify-content:flex-start;align-items:center}.sv_window_header_description{color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));font-feature-settings:\"salt\" on;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sv_window_buttons_container{position:fixed;margin-top:var(--sjs-base-unit,var(--base-unit,8px));margin-right:var(--sjs-base-unit,var(--base-unit,8px));display:flex;gap:var(--sjs-base-unit,var(--base-unit,8px));z-index:10000}.sv_window_button{display:flex;padding:var(--sjs-base-unit,var(--base-unit,8px));justify-content:center;align-items:center;border-radius:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));cursor:pointer}.sv_window_button:active,.sv_window_button:hover{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)))}.sv_window_button:active svg path,.sv_window_button:active svg use,.sv_window_button:hover svg path,.sv_window_button:hover svg use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv_window_button:active{opacity:.5}.sv_window_button svg path,.sv_window_button svg use{fill:var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45))}.sv-brand-info,sv-brand-info{z-index:1;position:relative;margin-top:1px}.sv-brand-info{width:100%;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));text-align:center;color:#161616;background:#fff;padding:32px 0;box-shadow:0 -1px 0 #d6d6d6}.sv-brand-info a{color:#161616;text-decoration-line:underline}.sv-brand-info__text{font-weight:600;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));color:#161616}.sv-brand-info__logo{display:inline-block}.sv-brand-info__logo img{width:118px}.sv-brand-info__terms{font-weight:400;font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px)}.sv-brand-info__terms a{color:#909090}:root{--sjs-transition-duration:150ms}:root{--sjs-transition-duration:150ms}.sv-ranking{outline:0;user-select:none;-webkit-user-select:none}.sv-ranking-item{cursor:pointer;position:relative;height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));opacity:1}.sv-ranking-item:focus .sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking-item:hover:not(:focus) .sv-ranking-item__icon--hover{visibility:visible}.sv-question--disabled .sv-ranking-item:hover .sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking-item:focus{outline:0}.sv-ranking-item:focus .sv-ranking-item__icon--focus{visibility:visible;top:calc(.6 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-item:focus .sv-ranking-item__index{background:var(--sjs-general-backcolor,var(--background,#fff));outline:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-ranking-item__content.sv-ranking-item__content{display:flex;align-items:center;line-height:1em;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-item__icon-container{position:relative;left:0;top:0;bottom:0;flex-shrink:0;width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-item--disabled.sv-ranking-item--disabled,.sv-ranking-item--preview.sv-ranking-item--preview,.sv-ranking-item--readonly.sv-ranking-item--readonly{cursor:initial;user-select:initial;-webkit-user-select:initial}.sv-ranking-item--disabled.sv-ranking-item--disabled .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,.sv-ranking-item--preview.sv-ranking-item--preview .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon,.sv-ranking-item--readonly.sv-ranking-item--readonly .sv-ranking-item__icon-container.sv-ranking-item__icon-container .sv-ranking-item__icon.sv-ranking-item__icon{visibility:hidden}.sv-ranking-item__icon.sv-ranking-item__icon{visibility:hidden;fill:var(--sjs-primary-backcolor,var(--primary,#19b394));position:absolute;top:var(--sjs-base-unit,var(--base-unit,8px));width:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-item__index.sv-ranking-item__index{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:flex;flex-shrink:0;align-items:center;justify-content:center;background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-size:var(--sjs-internal-font-editorfont-size);border-radius:100%;border:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent;width:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));line-height:calc(1.5 * (var(--sjs-font-size,16px)));box-sizing:border-box;font-weight:600;margin-left:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))));transition:outline var(--sjs-transition-duration,150ms),background var(--sjs-transition-duration,150ms);outline:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent}.sv-ranking-item__index.sv-ranking-item__index svg{fill:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));width:var(--sjs-internal-font-editorfont-size);height:var(--sjs-internal-font-editorfont-size)}.sv-ranking-item__text{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));margin:0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-ranking--disabled .sv-ranking-item__text{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));opacity:.25}.sv-ranking-item--disabled .sv-ranking-item__text{color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));opacity:.25}.sv-ranking-item--readonly .sv-ranking-item__index{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sv-ranking-item--preview .sv-ranking-item__index{background-color:transparent;border:1px solid var(--sjs-general-forecolor,var(--foreground,#161616));box-sizing:border-box}.sv-ranking-item__ghost.sv-ranking-item__ghost{display:none;background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(31 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));z-index:1;position:absolute;left:0;top:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}[dir=rtl] .sv-ranking-item__ghost{left:initilal;right:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-item--ghost .sv-ranking-item__ghost{display:block}.sv-ranking-item--ghost .sv-ranking-item__content{visibility:hidden}.sv-ranking-item--drag .sv-ranking-item__content{box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking--drag .sv-ranking-item:hover .sv-ranking-item__icon{visibility:hidden}.sv-ranking-item--drag .sv-ranking-item__icon--hover{visibility:visible}.sv-ranking--mobile .sv-ranking-item__icon--hover{visibility:visible;fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-ranking--mobile.sv-ranking--drag .sv-ranking-item--ghost .sv-ranking-item__icon.sv-ranking-item__icon--hover{visibility:hidden}.sv-ranking--mobile.sv-ranking-shortcut{max-width:80%}.sv-ranking--mobile .sv-ranking-item__index.sv-ranking-item__index{margin-left:0}.sv-ranking--mobile .sd-element--with-frame .sv-ranking-item__icon{margin-left:0}.sv-ranking--design-mode .sv-ranking-item:hover .sv-ranking-item__icon{visibility:hidden}.sv-ranking--disabled{opacity:.8}.sv-ranking-shortcut[hidden]{display:none}.sv-ranking-shortcut .sv-ranking-item__icon{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-ranking-shortcut .sv-ranking-item__text{margin-right:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-shortcut .sv-ranking-item__icon--hover{visibility:visible}.sv-ranking-shortcut .sv-ranking-item__icon{width:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));top:var(--sjs-base-unit,var(--base-unit,8px))}.sv-ranking-shortcut .sv-ranking-item__content{padding-left:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking-shortcut .sv-ranking-item__icon-container{margin-left:var(--sjs-base-unit,var(--base-unit,8px))}.sv-ranking-shortcut{cursor:grabbing;position:absolute;z-index:10000;border-radius:calc(12.5 * var(--sjs-base-unit,var(--base-unit,8px)));min-width:100px;max-width:400px;box-shadow:var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1)),var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1));background-color:var(--sjs-general-backcolor,var(--background,#fff));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)))}.sv-ranking--select-to-rank{display:flex}.sv-ranking--select-to-rank-vertical{flex-direction:column-reverse}.sv-ranking--select-to-rank-vertical .sv-ranking__containers-divider{margin:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;height:1px}.sv-ranking--select-to-rank-vertical .sv-ranking__container--empty{padding-top:var(--sjs-base-unit,var(--base-unit,8px));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px));display:flex;justify-content:center;align-items:center}.sv-ranking-item--animate-item-removing{--animation-height:calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));animation-name:moveIn,fadeIn;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:linear;animation-duration:var(--sjs-ranking-move-out-duration,150ms),var(--sjs-ranking-fade-out-duration,100ms);animation-delay:var(--sjs-ranking-move-out-delay,0ms),0s}.sv-ranking-item--animate-item-adding{--animation-height:calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));animation-name:moveIn,fadeIn;opacity:0;animation-fill-mode:forwards;animation-timing-function:linear;animation-duration:var(--sjs-ranking-move-in-duration,150ms),var(--sjs-ranking-fade-in-duration,100ms);animation-delay:0s,var(--sjs-ranking-fade-in-delay,150ms)}.sv-ranking-item--animate-item-adding-empty{--animation-height:calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));animation-name:fadeIn;opacity:0;animation-timing-function:linear;animation-duration:var(--sjs-ranking-fade-in-duration,100ms);animation-delay:0}.sv-ranking-item--animate-item-removing-empty{--animation-height:calc(6 * (var(--sjs-base-unit, var(--base-unit, 8px))));animation-name:fadeIn;animation-direction:reverse;animation-timing-function:linear;animation-duration:var(--sjs-ranking-fade-out-duration,100ms);animation-delay:0}@keyframes sv-animate-item-opacity-reverse-keyframes{0%{opacity:0}100%{opacity:1}}@keyframes sv-animate-item-opacity-keyframes{0%{opacity:1}100%{opacity:0}}.sv-ranking--select-to-rank-horizontal .sv-ranking__container{max-width:calc(50% - 1px)}.sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider{width:1px}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{padding-left:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder{padding-right:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking__container-placeholder{color:var(--sjs-font-questiondescription-color,var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45)));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));white-space:normal;display:flex;justify-content:center;align-items:center;height:100%;padding-top:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box}.sv-ranking__container{flex:1}.sv-ranking__container--empty{box-sizing:border-box;text-align:center}.sv-ranking__containers-divider{background:var(--sjs-border-default,var(--sjs-border-inside,var(--border-inside,rgba(0,0,0,.16))))}.sv-ranking__container--from .sv-ranking-item__icon--focus{display:none}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:0!important;padding-left:16px}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item .sv-ranking-item__ghost{left:initial}:root{--sjs-transition-duration:150ms}.sv-list{padding:0;margin:0;overflow-y:auto;background:var(--sjs-general-backcolor,var(--background,#fff));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));list-style-type:none}.sv-list__empty-container{width:100%;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));box-sizing:border-box;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__empty-text{line-height:calc(1.5 * (var(--sjs-font-size,16px)));font-size:var(--sjs-font-size,16px);font-weight:400;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__item{width:100%;align-items:center;box-sizing:border-box;color:var(--sjs-general-forecolor,var(--foreground,#161616));cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sv-list__item-body{position:relative;width:100%;align-items:center;box-sizing:border-box;padding-block:var(--sjs-base-unit,var(--base-unit,8px));padding-inline-end:calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-weight:400;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));cursor:pointer;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--sjs-transition-duration,150ms),color var(--sjs-transition-duration,150ms)}.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected){outline:0}.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body{border:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-border-light,var(--border-light,#eaeaea));border-radius:var(--sjs-corner-radius,4px);padding-block:calc(.75 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-end:calc(7.75 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-string-viewer{margin-inline-start:calc(-.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__item:focus,.sv-list__item:hover{outline:0}.sv-list__item--hovered>.sv-list__item-body,.sv-list__item:focus .sv-list__item-body{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sv-list__item--with-icon.sv-list__item--with-icon{padding:0}.sv-list__item--with-icon.sv-list__item--with-icon>.sv-list__item-body{padding-top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex}.sv-list__item-icon{float:left;flex-shrink:0;width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__item-icon svg{display:block}.sv-list__item-icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list-item__marker-icon{position:absolute;right:var(--sjs-base-unit,var(--base-unit,8px));flex-shrink:0;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list-item__marker-icon svg{display:block}.sv-list-item__marker-icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}[dir=rtl] .sv-list__item-icon,[style*=\"direction: rtl\"] .sv-list__item-icon,[style*=\"direction:rtl\"] .sv-list__item-icon{float:right}.sv-list__item-separator{margin:var(--sjs-base-unit,var(--base-unit,8px)) 0;height:1px;background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sv-list--filtering .sv-list__item-separator{display:none}.sv-list__item.sv-list__item--selected.sv-list__item--focused>.sv-list__item-body,.sv-list__item.sv-list__item--selected:hover>.sv-list__item-body,.sv-list__item.sv-list__item--selected>.sv-list__item-body,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused>.sv-list__item-body,li:focus .sv-list__item.sv-list__item--selected>.sv-list__item-body{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));font-weight:600}.sv-list__item.sv-list__item--selected .sv-list__item-icon use,.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,.sv-list__item.sv-list__item--selected:hover .sv-list__item-icon use,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list__item-icon use,li:focus .sv-list__item.sv-list__item--selected .sv-list__item-icon use{fill:var(--sjs-general-backcolor,var(--background,#fff))}.sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use,.sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,.sv-list__item.sv-list__item--selected:hover .sv-list-item__marker-icon use,.sv-multi-select-list .sv-list__item.sv-list__item--selected.sv-list__item--focused .sv-list-item__marker-icon use,li:focus .sv-list__item.sv-list__item--selected .sv-list-item__marker-icon use{fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sv-multi-select-list .sv-list__item.sv-list__item--selected .sv-list__item-body,.sv-multi-select-list .sv-list__item.sv-list__item--selected:hover .sv-list__item-body{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-weight:400}.sv-list__item.sv-list__item--selected.sv-list__item--group>.sv-list__item-body{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-weight:400}.sv-list__item.sv-list__item--selected.sv-list__item--group>.sv-list__item-body use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__item.sv-list__item--disabled .sv-list__item-body{cursor:default;color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__item span{white-space:nowrap}.sv-list__item-text--wrap span{white-space:normal;word-wrap:break-word}.sv-list__container{position:relative;display:flex;height:100%;flex-direction:column;display:flex;min-height:0}.sv-list__filter{border-bottom:1px solid var(--sjs-border-inside,var(--border-inside,rgba(0,0,0,.16)));background:var(--sjs-general-backcolor,var(--background,#fff));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sv-list__filter-icon{display:block;position:absolute;top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));inset-inline-start:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__filter-icon .sv-svg-icon{width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-list__filter-icon .sv-svg-icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;background:var(--sjs-general-backcolor,var(--background,#fff));box-sizing:border-box;width:100%;min-width:calc(30 * (var(--sjs-base-unit,var(--base-unit,8px))));outline:0;font-size:var(--sjs-font-size,16px);color:var(--sjs-general-forecolor,var(--foreground,#161616));padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(7 * (var(--sjs-base-unit,var(--base-unit,8px))));line-height:calc(1.5 * (var(--sjs-font-size,16px)));border:none}.sv-list__input::placeholder{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__input:disabled,.sv-list__input:disabled::placeholder{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-list__loading-indicator{pointer-events:none}.sv-list__loading-indicator .sv-list__item-body{background-color:transparent}:root{--sjs-transition-duration:150ms}.sv-save-data_root{position:fixed;left:50%;bottom:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));background:var(--sjs-general-backcolor,var(--background,#fff));opacity:0;padding:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));box-shadow:var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1));border-radius:calc(2 * (var(--sjs-corner-radius,4px)));color:var(--sjs-general-forecolor,var(--foreground,#161616));min-width:calc(30 * (var(--sjs-base-unit,var(--base-unit,8px))));text-align:center;z-index:1600;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));display:flex;flex-direction:row;justify-content:center;align-items:center;transform:translateX(-50%) translateY(calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))));transition-timing-function:ease-in;transition-property:transform,opacity;transition-delay:.25s;transition:.5s}.sv-save-data_root.sv-save-data_root--shown{transition-timing-function:ease-out;transition-property:transform,opacity;transform:translateX(-50%) translateY(0);transition-delay:.25s;opacity:.75}.sv-save-data_root span{display:flex;flex-grow:1}.sv-save-data_root .sv-action-bar{display:flex;flex-grow:0;flex-shrink:0}.sv-save-data_root--shown.sv-save-data_error,.sv-save-data_root--shown.sv-save-data_success{opacity:1}.sv-save-data_root.sv-save-data_root--with-buttons{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-save-data_root.sv-save-data_error{background-color:var(--sjs-special-red,var(--red,#e60a3e));color:var(--sjs-general-backcolor,var(--background,#fff));font-weight:600;gap:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-save-data_root.sv-save-data_error .sv-save-data_button{font-weight:600;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));height:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));color:#fff;background-color:var(--sjs-special-red,var(--red,#e60a3e));border:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid #fff;border-radius:calc(1.5 * (var(--sjs-corner-radius,4px)));padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;align-items:center}.sv-save-data_root.sv-save-data_error .sv-save-data_button:focus,.sv-save-data_root.sv-save-data_error .sv-save-data_button:hover{color:var(--sjs-special-red,var(--red,#e60a3e));background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sv-save-data_root.sv-save-data_success{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));color:#fff;font-weight:600}.sv-string-viewer.sv-string-viewer--multiline{white-space:pre-wrap}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes changeHeight{from{height:var(--animation-height-from)}to{height:var(--animation-height-to)}}@keyframes moveInWithOverflow{from{overflow:hidden;height:0}99%{overflow:hidden;height:var(--animation-height)}to{overflow:visible;height:var(--animation-height)}}@keyframes moveIn{from{height:0}to{height:var(--animation-height)}}@keyframes paddingFadeIn{from{padding-top:0;padding-bottom:0}to{padding-bottom:var(--animation-padding-bottom);padding-top:var(--animation-padding-top)}}.sd-element{padding-left:var(--sv-element-add-padding-left,0);padding-right:var(--sv-element-add-padding-right,0)}.sd-element__title{outline:0}.sd-element__title.sd-element__title--disabled{opacity:.25}.sd-root--readonly .sd-element__title.sd-element__title--disabled{opacity:1}.sd-element--invisible{opacity:.35}.sd-title.sd-element__title{font-family:var(--sjs-font-questiontitle-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-questiontitle-weight,600);color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)))}.sd-element__header .sv-string-editor{max-width:100%;white-space:normal}.sd-element__title{font-size:0;line-height:0;position:static;margin:0}.sd-element__title .sd-element__num{font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px);color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-element__title span{font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))))}.sd-element__title .sv-title-actions__title{font-size:0;line-height:0}.sd-element__title .sv-title-actions__title{white-space:nowrap}.sd-element__title .sv-string-viewer{white-space:normal}.sd-element__title .sv-string-viewer.sv-string-viewer--multiline{white-space:pre-wrap}.sd-element__num{float:left;padding-top:calc(.625 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(.375 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:0;padding-inline-end:var(--sjs-base-unit,var(--base-unit,8px));width:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px);color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));margin-inline-start:calc(-5 * (var(--sjs-base-unit,var(--base-unit,8px))));text-align:end;box-sizing:border-box;white-space:nowrap;flex-shrink:0}.sd-element__num+span{float:left;width:0}[dir=rtl] .sd-element__num,[style*=\"direction: rtl\"] .sd-element__num,[style*=\"direction:rtl\"] .sd-element__num{float:right}[dir=rtl] .sd-element__title--expandable:before,[style*=\"direction: rtl\"] .sd-element__title--expandable:before,[style*=\"direction:rtl\"] .sd-element__title--expandable:before{transform:rotate(180deg)}.sd-element__title--num-inline .sd-element__num{float:none;margin-inline-start:0;width:auto;padding-inline-start:0;padding-inline-end:0}.sd-element__title--num-inline .sd-element__num+span{float:none;width:auto}.sd-element__title--expandable.sd-element__title--expandable{position:relative;display:block}.sd-element__title--expandable:before{content:\"\";display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 14L5 13L10 8L5 3L6 2L12 8L6 14Z' fill='%23909090'/%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:center center;height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));position:absolute;inset-inline-start:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));top:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));transition-property:transform}.sd-element__title--expandable.sd-element__title--expanded:before{transform:rotate(90deg)}.sd-element--with-frame{border-radius:var(--sjs-questionpanel-cornerRadius,var(--sjs-corner-radius,4px));box-sizing:border-box;padding-top:var(--sd-base-padding);padding-left:calc(var(--sd-base-padding) + var(--sv-element-add-padding-left,0px));padding-right:calc(var(--sd-base-padding) + var(--sv-element-add-padding-right,0px));padding-bottom:var(--sd-base-padding);background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15))}.sd-element--with-frame.sd-element--compact{border:1px solid var(--sjs-border-default,var(--border,#d6d6d6));border-radius:var(--sjs-questionpanel-cornerRadius,var(--sjs-corner-radius,4px));box-shadow:none;background-color:transparent}@keyframes elementMoveIn{from{flex-basis:0;flex-grow:0;max-width:0;min-width:0;width:0;height:0;padding-left:0;overflow:hidden}to{height:var(--animation-height);flex-basis:var(--animation-width);width:var(--animation-width);min-width:var(--animation-width);padding-left:var(--animation-padding-left);overflow:visible}}.sd-element-wrapper--fade-in{animation-name:elementMoveIn,fadeIn;animation-timing-function:cubic-bezier(0,0,.58,1);animation-fill-mode:forwards;animation-duration:var(--sjs-element-move-in-duration,250ms),var(--sjs-element-fade-in-duration,500ms);animation-delay:0s,var(--sjs-element-fade-in-delay,100ms);opacity:0}.sd-element-wrapper--fade-out{animation-name:elementMoveIn,fadeIn;animation-timing-function:cubic-bezier(.42,0,1,1);animation-fill-mode:forwards;animation-direction:reverse;animation-duration:var(--sjs-element-move-out-duration,250ms),var(--sjs-element-fade-out-duration,150ms);animation-delay:var(--sjs-element-move-out-delay,0ms),0s}.sd-element__content{box-sizing:border-box}.sd-element__content--fade-in,.sd-element__content--fade-out{--animation-padding-top:0;--animation-padding-bottom:0}.sd-element__content--fade-in{animation-name:fadeIn,moveInWithOverflow,paddingFadeIn;min-height:0!important;opacity:0;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0,0,.58,1);animation-duration:var(--sjs-expand-fade-in-duration,500ms),var(--sjs-expand-move-in-duration,150ms),var(--sjs-expand-move-in-duration,150ms);animation-delay:var(--sjs-expand-fade-in-delay,150ms),0s,0s}.sd-element__content--fade-out{animation-name:fadeIn,moveInWithOverflow,paddingFadeIn;min-height:0!important;animation-direction:reverse;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.42,0,1,1);animation-duration:var(--sjs-collapse-fade-out-duration,150ms),var(--sjs-collapse-move-out-duration,250ms),var(--sjs-collapse-move-out-duration,250ms);animation-delay:0s,var(--sjs-collapse-move-out-delay,100ms),var(--sjs-collapse-move-out-delay,100ms)}.sd-element--expandable.sd-elemenet--expandable--animating>.sd-element__header:focus-within,.sd-element--expandable.sd-elemenet--expandable--animating>.sd-element__header:hover{background-color:transparent}.sd-elemenet--expandable--animating.sd-element--expandable{transition-property:padding-top,padding-bottom}.sd-elemenet--expandable--animating.sd-element--expandable>.sd-element__header{transition-property:padding-top,padding-bottom}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded{transition-timing-function:cubic-bezier(0,0,.58,1);transition-duration:var(--sjs-expand-move-in-duration,150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded>.sd-element__header{transition-timing-function:cubic-bezier(0,0,.58,1);transition-duration:var(--sjs-expand-move-in-duration,150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--expanded>.sd-element__header .sd-element__title:before{transition-duration:var(--sjs-expand-move-in-duration,150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed{transition-timing-function:cubic-bezier(0,0,.58,1);transition-duration:var(--sjs-collapse-move-out-duration,250ms);transition-delay:var(--sjs-collapse-move-out-delay,100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed>.sd-element__header{transition-timing-function:cubic-bezier(0,0,.58,1);transition-duration:var(--sjs-collapse-move-out-duration,250ms);transition-delay:var(--sjs-collapse-move-out-delay,100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--collapsed>.sd-element__header .sd-element__title:before{transition-duration:var(--sjs-collapse-move-out-duration,250ms);transition-delay:var(--sjs-collapse-move-out-delay,100ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty)>.sd-element__header--location-top:after{display:block;opacity:0;height:0;--animation-height:1px;animation-name:fadeIn,moveIn;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0,0,.58,1);animation-delay:var(--sjs-expand-fade-in-delay,150ms),0s;animation-duration:var(--sjs-expand-fade-in-duration,500ms),var(--sjs-expand-move-in-duration,150ms)}.sd-elemenet--expandable--animating.sd-element--expandable.sd-element--complex:not(.sd-question--empty).sd-element--collapsed .sd-element__header--location-top:after{animation-direction:reverse;opacity:1;height:1px;animation-timing-function:cubic-bezier(.42,0,1,1);animation-delay:0s,var(--sjs-collapse-move-out-delay,100ms);animation-duration:var(--sjs-collapse-fade-out-duration,150ms),var(--sjs-collapse-move-out-duration,250ms)}.sd-question{position:relative}.sd-question--no-pointer-events .sd-rating label,.sd-question--no-pointer-events .sd-selectbase label{pointer-events:none}.sd-element__erbox--above-element{margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-question__erbox--below-question{margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-question__content--support-container-queries{container-type:inline-size}.sd-question--title-top>.sd-question__erbox--above-question{margin-bottom:calc(.5 * var(--sd-base-vertical-padding))}.sd-question--description-under-input>.sd-question__erbox--below-question,.sd-question--title-bottom>.sd-question__erbox--below-question{margin-top:calc(.25 * var(--sd-base-vertical-padding) + .5 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-element--with-frame>.sd-element__erbox--above-element{margin-bottom:var(--sd-base-padding);border-radius:var(--sjs-corner-radius,4px) var(--sjs-corner-radius,4px) 0 0}.sd-question--left>.sd-element__erbox--above-element{margin-bottom:0}.sd-element--with-frame.sd-question--left>.sd-element__erbox--above-element{margin-bottom:calc(1 * var(--sd-base-vertical-padding))}.sd-element--with-frame>.sd-question__erbox--below-question{margin-top:auto;border-radius:0 0 var(--sjs-corner-radius,4px) var(--sjs-corner-radius,4px)}.sd-element--with-frame.sd-question--title-top>.sd-question__erbox--above-question{margin-bottom:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px)))}.sd-element--with-frame.sd-question--description-under-input>.sd-question__erbox--below-question,.sd-element--with-frame.sd-question--title-bottom>.sd-question__erbox--below-question{margin-top:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px)))}.sd-question__header{width:100%}.sd-question__header--location-top{padding-bottom:calc(.5 * var(--sd-base-vertical-padding))}.sd-question__header--location--bottom{padding-top:calc(.375 * var(--sd-base-vertical-padding))}.sd-element--with-frame.sd-question--title-top{padding-top:var(--sd-base-vertical-padding)}.sd-element--with-frame.sd-question--error-top{padding-top:0}.sd-element--with-frame.sd-question--error-bottom{padding-bottom:0;display:flex;flex-direction:column}.sd-element--with-frame.sd-question--error-bottom>.sd-question__content{margin-bottom:var(--sd-base-padding)}.sd-element--with-frame>.sd-element__erbox{margin-left:calc(-1 * var(--sd-base-padding));margin-right:calc(-1 * var(--sd-base-padding));width:calc(100% + 2 * var(--sd-base-padding))}.sd-scrollable .sd-question__content{overflow-x:auto;padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-question__header--location--left{display:inline-block;width:auto;vertical-align:top;margin-top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-question--left{display:flex;flex-wrap:wrap;flex-direction:row;column-gap:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));row-gap:calc(.25 * var(--sd-base-vertical-padding))}.sd-question__content--left{display:inline-block;flex:1;margin-top:calc(.25 * var(--sd-base-vertical-padding)) 0}.sd-element--with-frame>.sd-question__content--left{margin:0}.sd-question__required-text{color:var(--sjs-special-red,var(--red,#e60a3e));vertical-align:top}.sd-question__comment-area{font-size:var(--sjs-font-size,16px);margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;flex-direction:column;gap:var(--sjs-base-unit,var(--base-unit,8px));color:var(--sjs-general-forecolor,var(--foreground,#161616));white-space:normal}.sd-question__placeholder{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));justify-content:center;min-height:calc(24 * (var(--sjs-base-unit,var(--base-unit,8px))));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)))}.sd-question__placeholder>div .sv-string-viewer,.sd-question__placeholder>span .sv-string-viewer{white-space:pre-line}.sd-scrollable-container:not(.sd-scrollable-container--compact){width:max-content;overflow:visible;max-width:100%}.sd-question__title--empty .sv-string-viewer{display:inline-block;height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))))}.sd-question__content{box-sizing:border-box}.sd-error{display:block;padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-corner-radius,4px);line-height:var(--sjs-font-size,16px);font-size:calc(.75 * (var(--sjs-font-size,16px)));font-weight:600;text-align:left;color:var(--sjs-special-red,var(--red,#e60a3e));white-space:normal;width:100%;background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)));box-sizing:border-box}.sd-element--collapsed>.sd-element__header,.sd-element--expanded>.sd-element__header{cursor:pointer}.sd-element--collapsed>.sd-element__header{padding:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sd-base-padding);box-sizing:border-box;background-color:var(--sjs-general-backcolor,var(--background,#fff));margin-inline-start:calc(-1 * var(--sd-base-padding));width:calc(100% + 2 * var(--sd-base-padding))}.sd-element--collapsed.sd-element--with-frame{padding-top:0;padding-bottom:0}.sd-element--collapsed.sd-element--with-frame>.sd-element__header{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-questionpanel-cornerRadius,var(--sjs-corner-radius,4px))}.sd-element--collapsed>.sd-element__header:focus-within,.sd-element--collapsed>.sd-element__header:hover{background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sd-element--collapsed.sd-element--nested>.sd-element__header:focus-within,.sd-element--collapsed.sd-element--nested>.sd-element__header:hover{box-shadow:0 calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0 0 var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9)),0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0 var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sd-element--complex.sd-element--with-frame{padding-top:0}.sd-element--complex.sd-element--nested-with-borders>.sd-element__erbox,.sd-element--complex.sd-element--with-frame>.sd-element__erbox{margin-top:0;margin-bottom:0}.sd-element--complex>.sd-element__header:after{content:\" \";display:block;height:1px;position:relative;background:var(--sjs-border-light,var(--border-light,#eaeaea));bottom:0}.sd-element--complex.sd-element--with-frame>.sd-element__header{padding-top:var(--sd-base-vertical-padding);padding-bottom:var(--sd-base-vertical-padding)}.sd-element--collapsed.sd-element--complex>.sd-element__header{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-element--nested.sd-element--complex>.sd-element__header--location-top:after{bottom:calc(-.5 * var(--sd-base-vertical-padding))}.sd-element--nested-with-borders{border:1px solid var(--sjs-border-light,var(--border-light,#eaeaea));border-radius:calc(var(--sjs-corner-radius,4px) - 4px);box-sizing:border-box;padding-left:var(--sd-base-padding);padding-right:var(--sd-base-padding)}.sd-element--nested-with-borders>.sd-element__header--location-top{padding-top:calc(.5 * var(--sd-base-vertical-padding));padding-bottom:calc(.5 * var(--sd-base-vertical-padding))}.sd-element--nested-with-borders>.sd-element__erbox{margin-left:calc(-1 * var(--sd-base-padding));margin-right:calc(-1 * var(--sd-base-padding));width:calc(100% + 2 * var(--sd-base-padding))}.sd-element--nested-with-borders>.sd-question__erbox--below-question{bottom:0;margin-top:0}.sd-element--nested-with-borders.sd-element--collapsed>.sd-element__header--location-top:focus-within,.sd-element--nested-with-borders.sd-element--collapsed>.sd-element__header--location-top:hover{box-shadow:none}.sd-element--complex.sd-element--with-frame>.sd-element__header--location-top:after,.sd-element--nested-with-borders>.sd-element__header--location-top:after{bottom:calc(-1 * var(--sd-base-vertical-padding));inset-inline-start:calc(-1 * var(--sd-base-padding));width:calc(100% + 2 * var(--sd-base-padding))}.sd-element--collapsed.sd-element--complex>.sd-element__header--location-top:after{display:none}.sd-question--empty.sd-question--complex>.sd-question__content{padding-top:0;padding-bottom:0}.sd-question--empty.sd-question--complex>.sd-question__content:first-of-type{padding-top:var(--sd-base-padding)}.sd-question--empty.sd-question--complex>.sd-question__header--location-top{padding-bottom:calc(.5 * var(--sd-base-vertical-padding))}.sd-question--empty.sd-question--complex>.sd-question__header--location-top:after{display:none}.sd-input{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));-webkit-appearance:none;-moz-appearance:none;appearance:none;position:static;width:100%;box-sizing:border-box;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight,400);color:var(--sjs-font-editorfont-color,var(--sjs-general-forecolor,rgba(0,0,0,.91)));font-size:var(--sjs-internal-font-editorfont-size);background-color:var(--sjs-editorpanel-backcolor,var(--sjs-editor-background,var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))));border:none;border-radius:var(--sjs-editorpanel-cornerRadius,var(--sjs-corner-radius,4px));text-align:start;box-shadow:var(--sjs-shadow-inner,inset 0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-input:focus{box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-input.sd-input:focus{outline:0}input.sd-input:disabled:not(.sd-input--disabled),textarea.sd-input:disabled:not(.sd-input--disabled){opacity:1}.sd-input--disabled{background-color:var(--sjs-editorpanel-backcolor,var(--sjs-editor-background,var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sd-input--readonly{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-input.sd-input--preview{background:0 0;box-shadow:none;transition:none;border-bottom:1px solid var(--sjs-general-forecolor,var(--foreground,#161616));border-radius:0;padding-left:0;padding-right:0}.sd-input::placeholder{color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sd-input.sd-input--disabled,.sd-input.sd-input--disabled::placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616));opacity:.25}.sd-input.sd-input--readonly{color:var(--sjs-general-forecolor,var(--foreground,#161616));box-shadow:none;transition:none}.sd-input.sd-input--readonly::placeholder{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-root--readonly .sd-input--disabled,.sd-root--readonly .sd-input--disabled::placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-input--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-text__content{position:relative}.sd-text__character-counter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-text__character-counter:focus-within{padding-inline-end:calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-text__character-counter.sd-text__character-counter--big:focus-within{padding-inline-end:calc(11 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-remaining-character-counter{display:none;flex-direction:row;justify-content:flex-end;align-items:flex-end;padding:0;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));line-height:calc(1.5 * (var(--sjs-font-size,16px)));font-size:var(--sjs-font-size,16px);color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));position:absolute;inset-inline-end:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));inset-block-end:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-question__content:focus-within .sd-remaining-character-counter{display:flex}.sd-input[type=color],.sd-input[type=date],.sd-input[type=datetime-local],.sd-input[type=email],.sd-input[type=month],.sd-input[type=password],.sd-input[type=range],.sd-input[type=tel],.sd-input[type=time],.sd-input[type=url],.sd-input[type=week]{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));box-sizing:content-box;width:calc(100% - 4 * var(--sjs-base-unit,var(--base-unit,8px)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-input[type=color].sd-text__character-counter:focus-within,.sd-input[type=date].sd-text__character-counter:focus-within,.sd-input[type=datetime-local].sd-text__character-counter:focus-within,.sd-input[type=email].sd-text__character-counter:focus-within,.sd-input[type=month].sd-text__character-counter:focus-within,.sd-input[type=password].sd-text__character-counter:focus-within,.sd-input[type=range].sd-text__character-counter:focus-within,.sd-input[type=tel].sd-text__character-counter:focus-within,.sd-input[type=time].sd-text__character-counter:focus-within,.sd-input[type=url].sd-text__character-counter:focus-within,.sd-input[type=week].sd-text__character-counter:focus-within{width:calc(100% - 10 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-input[type=range]::-webkit-slider-runnable-track{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));border-radius:var(--sjs-base-unit,var(--base-unit,8px));height:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:100%;border:2px solid var(--sjs-primary-backcolor,var(--primary,#19b394));box-shadow:inset 0 0 0 2px var(--background,#fff);background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-input[type=range]::-moz-range-track{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));border-radius:var(--sjs-base-unit,var(--base-unit,8px));height:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-input[type=range]::-moz-range-thumb{-webkit-appearance:none;appearance:none;margin-top:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:100%;border:2px solid var(--sjs-primary-backcolor,var(--primary,#19b394));box-shadow:inset 0 0 0 2px var(--background,#fff);background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-comment{display:block;height:auto;min-width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));min-height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));max-width:100%}.sd-comment__content{position:relative}.sd-panel{position:relative}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header{padding-top:0;padding-bottom:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px)))}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header:after{content:none}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__title{--page-title-font-size:var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));font-family:var(--sjs-font-pagetitle-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight,700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)));position:static;line-height:calc(1.33 * (var(--page-title-font-size)));margin:0 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__title span{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__description{font-family:var(--sjs-font-pagedescription-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagedescription-weight,400);font-size:var(--sjs-font-pagedescription-size,var(--sjs-font-size,16px));color:var(--sjs-font-pagedescription-color,var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45)));position:static;line-height:calc(1.5 * (var(--sjs-font-pagedescription-size,var(--sjs-font-size,16px))));margin:0 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-panel.sd-panel--as-page>.sd-panel__header.sd-panel__header .sd-panel__required-text{display:none}.sd-panel.sd-panel--as-page>.sd-panel__errbox{margin:0 0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;padding:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px))) var(--sd-base-padding)}.sd-panel.sd-panel--as-page>.sd-panel__content{padding-top:0}.sd-root--compact .sd-panel--as-page>.sd-panel__errbox{margin:0 0 var(--sd-base-vertical-padding) 0}.sd-row~.sd-row .sd-panel--as-page{padding-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel__required-text{color:var(--sjs-special-red,var(--red,#e60a3e))}.sd-panel__footer{box-sizing:border-box;padding-left:calc(var(--sd-base-padding) - 3 * var(--sjs-base-unit,var(--base-unit,8px)));margin-left:calc(-1 * var(--sd-base-padding));width:calc(100% + 2 * var(--sd-base-padding));margin-bottom:calc(-1 * var(--sd-base-padding) + .5 * var(--sd-base-vertical-padding));margin-top:calc(.5 * var(--sd-base-vertical-padding));border-top:1px solid var(--sjs-border-light,var(--border-light,#eaeaea));padding-top:calc(.5 * var(--sd-base-vertical-padding))}.sd-panel--as-page .sd-panel__footer{padding:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0 0;margin:0;border:none;width:initial}.sd-panel__content{padding-top:var(--sd-base-padding)}.sd-panel.sd-element--nested>.sd-panel__content{padding-bottom:var(--sd-base-padding);--animation-padding-top:var(--sd-base-padding)}.sd-panel__content{--animation-padding-top:var(--sd-base-padding)}.sjs_sp_placeholder{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sjs_sp_container{border:1px dashed var(--sjs-border-default,var(--border,#d6d6d6))}.sd-question--preview .sjs_sp_container,.sd-question--readonly .sjs_sp_container{border:none}.sd-question--preview .sjs_sp_placeholder,.sd-question--readonly .sjs_sp_placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sjs_sp_controls.sd-signaturepad__controls{right:var(--sjs-base-unit,var(--base-unit,8px));top:var(--sjs-base-unit,var(--base-unit,8px));left:auto;bottom:auto}.sd-question--signature.sd-question--error .sjs_sp_placeholder{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-signaturepad__background-image{position:absolute;top:0;left:0;object-fit:cover}.sd-signaturepad__loading-indicator{width:100%;height:100%;position:absolute;left:0;top:0}.sd-signaturepad__loading-indicator .sd-loading-indicator{position:absolute;right:var(--sjs-base-unit,var(--base-unit,8px));top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-checkbox__decorator{border-radius:calc(.5 * (var(--sjs-corner-radius,4px)))}.sd-checkbox__svg{display:block;width:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-checkbox__svg use{fill:transparent;transition:fill var(--sjs-transition-duration,150ms)}.sd-checkbox--checked .sd-checkbox__svg use{fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__svg use{fill:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-checkbox--checked .sd-checkbox__control:focus+.sd-checkbox__decorator .sd-checkbox__svg use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-checkbox--checked.sd-checkbox--readonly .sd-checkbox__svg use{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-checkbox--checked.sd-checkbox--preview .sd-checkbox__svg use{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-matrixdynamic__btn.sd-matrixdynamic__add-btn{position:sticky;left:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));z-index:12}.sd-matrixdynamic__footer:first-child{padding-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdynamic__footer{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-action.sd-matrixdynamic__remove-btn{opacity:.5}.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));width:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-matrixdynamic__btn{appearance:none;background:0 0;border:none;line-height:calc(1.5 * (var(--sjs-font-size,16px)));font-size:var(--sjs-font-size,16px);font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:600;padding:var(--sjs-base-unit,var(--base-unit,8px)) 0}.sd-matrixdynamic__drag-element{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdynamic__drag-element:hover{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sd-matrixdynamic__drag-element:after{content:\" \";display:block;height:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border:1px solid var(--sjs-border-default,var(--border,#d6d6d6));box-sizing:border-box;border-radius:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdynamic__placeholder .sd-matrixdynamic__add-btn{margin-left:0}.sd-drag-element__svg{width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));display:block}.sd-drag-element__svg use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}@keyframes borderAnimation{from{border-width:0}to{border-width:8px}}@keyframes paddingAnimation{from{padding-top:0;padding-bottom:0}to{padding-top:24px;padding-bottom:32px}}.sd-table__row--fade-in,.sd-table__row--fade-out{animation-name:empty;animation-fill-mode:forwards;--fade-in-animation-duration:calc(var(--sjs-matrix-row-fade-in-duration, 250ms) + var(--sjs-matrix-row-fade-in-delay, 150ms));animation-duration:max(var(--fade-in-animation-duration),var(--sjs-matrix-row-move-in-duration,150ms))}.sd-table__row--fade-in>td,.sd-table__row--fade-out>td{animation-name:borderAnimation;animation-timing-function:cubic-bezier(0,0,.58,1);animation-duration:var(--sjs-matrix-row-move-in-duration,150ms);animation-fill-mode:forwards}.sd-table__row--fade-in>td>div,.sd-table__row--fade-out>td>div{animation-name:fadeIn,moveInWithOverflow;opacity:0;animation-timing-function:cubic-bezier(0,0,.58,1);animation-fill-mode:forwards;animation-duration:var(--sjs-matrix-row-fade-in-duration,250ms),var(--sjs-matrix-row-move-in-duration,150ms);animation-delay:var(--sjs-matrix-row-fade-in-delay,150ms),0s}.sd-table__row--fade-out{animation-direction:reverse;--move-out-animation-duration:calc(var(--sjs-matrix-row-move-out-duration, 250ms) + var(--sjs-matrix-row-move-out-delay, 100ms));animation-duration:max(var(--move-out-animation-duration),var(--sjs-matrix-row-fade-out-duration,100ms))}.sd-table__row--fade-out>td{animation-duration:var(--sjs-matrix-row-move-out-duration,250ms);animation-delay:var(--sjs-matrix-row-move-out-delay,100ms);animation-direction:reverse;animation-timing-function:cubic-bezier(.42,0,1,1)}.sd-table__row--fade-out>td>div{animation-direction:reverse;animation-timing-function:cubic-bezier(.42,0,1,1);animation-duration:var(--sjs-matrix-row-fade-out-duration,100ms),var(--sjs-matrix-row-move-out-duration,250ms);animation-delay:0s,var(--sjs-matrix-row-move-out-delay,100ms)}.sd-table__row--detail.sd-table__row--fade-in>td,.sd-table__row--detail.sd-table__row--fade-out>td{animation-name:borderAnimation,paddingAnimation;animation-duration:var(--sjs-matrix-row-move-in-duration,150ms);animation-fill-mode:forwards}.sd-table__row--detail.sd-table__row--fade-in{--fade-in-animation-duration:calc(var(--sjs-matrix-detail-row-fade-in-duration, 500ms) + var(--sjs-matrix-detail-row-fade-in-delay, 150ms));animation-duration:max(var(--fade-in-animation-duration),var(--sjs-matrix-detail-row-move-in-duration,150ms))}.sd-table__row--detail.sd-table__row--fade-in>td{animation-timing-function:cubic-bezier(0,0,.58,1);animation-duration:var(--sjs-matrix-detail-row-move-in-duration,150ms)}.sd-table__row--detail.sd-table__row--fade-in>td>div{animation-duration:var(--sjs-matrix-detail-row-fade-in-duration,500ms),var(--sjs-matrix-detail-row-move-in-duration,150ms);animation-delay:var(--sjs-matrix-detail-row-fade-in-delay,150ms),0s}.sd-table__row--detail.sd-table__row--fade-out{--move-out-animation-duration:calc(var(--sjs-matrix-detail-row-move-out-duration, 250ms) + var(--sjs-matrix-detail-row-move-out-delay, 100ms));animation-duration:max(var(--move-out-animation-duration),var(--sjs-matrix-detail-row-fade-out-duration,150ms))}.sd-table__row--detail.sd-table__row--fade-out>td{animation-timing-function:cubic-bezier(.42,0,1,1);animation-duration:var(--sjs-matrix-detail-row-move-out-duration,250ms);animation-delay:var(--sjs-matrix-detail-row-move-out-delay,100ms);animation-direction:reverse}.sd-table__row--detail.sd-table__row--fade-out>td>div{animation-duration:var(--sjs-matrix-detail-row-fade-out-duration,150ms),var(--sjs-matrix-detail-row-move-out-duration,250ms);animation-delay:0s,var(--sjs-matrix-detail-row-move-out-delay,100ms)}.sd-table{width:100%;background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));border-collapse:separate;border-spacing:0;white-space:normal}.sd-table>thead>tr>th{border-top:0;border-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent}.sd-table__cell{border-top:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent;border-bottom:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent;border-left:none;border-right:none;background-clip:padding-box}.sd-table.sd-table--columnsautowidth .sd-table__cell:not(.sd-table__cell--actions):not(.sd-table__cell--action):not(.sd-table__cell--empty.sd-table__cell--error){width:10000px}.sd-table__row:first-of-type>.sd-table__cell{border-top:0}.sd-table__row:last-of-type>.sd-table__cell{border-bottom:0}.sd-table--align-top .sd-table__cell{vertical-align:top}.sd-table--no-header{padding-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-table--no-header{padding-top:0}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table .sd-question__content{padding-bottom:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(-.25 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-top:var(--sjs-base-unit,var(--base-unit,8px));margin-top:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));--animation-padding-top:calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content .sd-table--no-header{padding-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table.sd-question--error-top>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:0}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table.sd-question--error-top>.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content .sd-question--table>.sd-question__header~.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-panel:not(.sd-panel--as-page)>.sd-panel__content>.sd-row:not(:first-of-type) .sd-question--table>.sd-question__header~.sd-question__content .sd-table-wrapper .sd-table:not(.sd-table--no-header){margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows{margin-left:var(--sjs-base-unit,var(--base-unit,8px));margin-right:var(--sjs-base-unit,var(--base-unit,8px));width:calc(100% - 2 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__cell:not(.sd-table__cell--header):first-of-type{padding-left:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__cell:last-of-type{padding-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:first-of-type>.sd-table__cell{border-top:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:last-of-type>.sd-table__cell{border-bottom:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions){border-top-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8));border-bottom-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8));background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type.sd-matrix__text--checked,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions).sd-matrix__text--checked{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-input,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-input{background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error) .sd-item__decorator,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error) .sd-item__decorator{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--checked .sd-item__decorator{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--readonly.sd-item--checked .sd-item__decorator{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-item--preview.sd-item--preview .sd-item__decorator{background-color:transparent}.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd) td:first-of-type .sd-item:not(.sd-item--error).sd-radio--checked .sd-radio__control:focus+.sd-radio__decorator:after,.sd-root-modern:not(.sd-root-modern--mobile) .sd-table--alternate-rows .sd-table__row:nth-of-type(odd)>td.sd-table__cell:not(.sd-table__cell--actions) .sd-item:not(.sd-item--error).sd-radio--checked .sd-radio__control:focus+.sd-radio__decorator:after{background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-table__cell{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-weight:400;font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));padding:0 var(--sjs-base-unit,var(--base-unit,8px));color:var(--sjs-general-forecolor,var(--foreground,#161616));text-align:center}.sd-table__cell:not(.sd-table__cell--empty):not(.sd-table__cell--actions):not(:empty){min-width:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-table__cell .sd-item{text-align:initial}.sd-table__cell--error{border:none;padding:0 var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--error .sd-question__erbox{margin:0}.sd-table__cell--error-top{vertical-align:bottom;padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--error-bottom{vertical-align:top;padding-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--item .sd-selectbase__item{text-align:center}.sd-table__cell--item .sd-selectbase__label{justify-content:center}.sd-question--disabled .sd-table__cell{opacity:.25}.sd-root--readonly .sd-question--disabled .sd-table__cell{opacity:1}.sd-table__cell--header,.sd-table__cell--header .sv-vue-title-additional-div{font-size:0;line-height:0}.sd-table__cell--header span{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));font-weight:var(--sjs-font-questiontitle-weight,600)}.sd-table__cell--header{font-weight:600;color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));vertical-align:top;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--header:not(.sd-table__cell--empty){min-width:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--empty{min-width:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdropdown .sd-table__cell--header.sd-table__cell--action{min-width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty){min-width:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--dropdown,.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--rating{min-width:calc(22 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrixdropdown .sd-table__cell--header:not(.sd-table__cell--empty).sd-table__cell--boolean{min-width:calc(18 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-table__cell--footer{text-align:right;padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--footer-total{font-weight:600;text-align:left}.sd-table__cell--detail-panel{border-top:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent;padding:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px)) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));border-bottom:var(--sjs-base-unit,var(--base-unit,8px)) solid transparent}.sd-matrixdynamic__add-btn .sv-action-bar,.sd-table__cell--actions .sv-action-bar{overflow:visible}.sd-table__cell--actions:not(.sd-table__cell--vertical){width:var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__cell--actions:not(.sd-table__cell--vertical):not(.sd-table__cell--drag):first-of-type{padding-left:0;width:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));min-width:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-table__cell--detail-button{border:none;background:0 0;border-radius:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:var(--sjs-base-unit,var(--base-unit,8px));transition:background var(--sjs-transition-duration,150ms)}.sd-table__cell--detail-button svg{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:block;width:var(--sjs-internal-font-editorfont-size);height:var(--sjs-internal-font-editorfont-size);fill:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));transition:fill var(--sjs-transition-duration,150ms)}.sd-table__cell--detail-button:focus,.sd-table__cell--detail-button:hover{background:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));outline:0}.sd-table__cell--detail-button:focus svg,.sd-table__cell--detail-button:hover svg{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-table__cell--actions{white-space:nowrap}.sd-table__cell--actions.sd-table__cell--vertical .sd-action-bar{justify-content:center}.sd-table__cell--row-text{font-weight:var(--sjs-font-questiontitle-weight,600);color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));text-align:left;min-width:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) var(--sjs-base-unit,var(--base-unit,8px))}.sd-matrixdynamic__content .sd-table__question-wrapper{position:relative}.sd-table__question-wrapper:not(:focus-within):hover{position:relative}.sd-matrix tr>td:first-of-type,.sd-matrix__cell:first-of-type,.sd-table__cell--actions:not(.sd-table__cell--vertical),.sd-table__cell--empty,.sd-table__cell--footer-total,.sd-table__cell--row-text{position:sticky;background-color:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));z-index:12}.sd-matrix tr>td:first-of-type:first-of-type,.sd-matrix__cell:first-of-type:first-of-type,.sd-table__cell--actions:not(.sd-table__cell--vertical):first-of-type,.sd-table__cell--empty:first-of-type,.sd-table__cell--footer-total:first-of-type,.sd-table__cell--row-text:first-of-type{left:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrix tr>td:first-of-type:last-of-type,.sd-matrix__cell:first-of-type:last-of-type,.sd-table__cell--actions:not(.sd-table__cell--vertical):last-of-type,.sd-table__cell--empty:last-of-type,.sd-table__cell--footer-total:last-of-type,.sd-table__cell--row-text:last-of-type{right:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar{margin-right:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));justify-content:flex-end;background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))))}.sd-question.sd-question--table{position:relative;overflow-x:auto}.sd-question--table.sd-element--collapsed,.sd-question--table.sd-element--nested{overflow-x:visible}.sd-question--table .sd-question__header--location--left{z-index:12}.sd-table-wrapper{display:flex;margin:0 calc(-1 * var(--sd-base-padding));width:fit-content;min-width:calc(100% + 2 * var(--sd-base-padding))}.sd-table-wrapper:after,.sd-table-wrapper:before{content:\"\";display:block;position:sticky;min-height:100%;width:calc(var(--sd-base-padding) - var(--sjs-base-unit,var(--base-unit,8px)));flex-shrink:0;background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));z-index:11}.sd-table-wrapper::before{left:calc(-1 * var(--sd-base-padding))}.sd-table-wrapper:after{right:calc(-1 * var(--sd-base-padding))}.sd-table-wrapper>*{flex-basis:100%}.sd-element--with-frame.sd-element--compact .sd-table{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-table-wrapper:after,.sd-element--with-frame.sd-element--compact .sd-table-wrapper:before{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical):last-child .sd-action-bar{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-element--with-frame.sd-element--compact .sd-matrix tr>td:first-of-type,.sd-element--with-frame.sd-element--compact .sd-matrix__cell:first-of-type,.sd-element--with-frame.sd-element--compact .sd-table__cell--actions:not(.sd-table__cell--vertical),.sd-element--with-frame.sd-element--compact .sd-table__cell--empty,.sd-element--with-frame.sd-element--compact .sd-table__cell--footer-total,.sd-element--with-frame.sd-element--compact .sd-table__cell--row-text{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-question--table .sd-question__description--under-input .sv-string-viewer,.sd-question--table>.sd-question__header{position:sticky;left:0}.sd-question--table>.sd-question__content{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));--animation-padding-top:calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));min-width:min-content}.sd-question--table.sd-element--nested>.sd-question__content{min-width:auto;overflow-x:auto}.sd-question--table.sd-element--nested>.sd-question__content,.sd-question--table:not(.sd-element--with-frame):not(.sd-element--nested){padding-right:var(--sd-base-padding);margin-right:calc(-1 * var(--sd-base-padding));padding-left:var(--sd-base-padding);margin-left:calc(-1 * var(--sd-base-padding));box-sizing:content-box}.sd-row--multiple .sd-question--table.sd-element--nested>.sd-question__content{padding-right:calc(var(--sd-base-padding) + 2px)}.sd-question--scroll{overflow-x:scroll}.sd-table__row-disabled>.sd-table__cell{opacity:.25}.sd-table__cell--detail-panel .sd-panel__content{padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-table__question-wrapper .sd-boolean-root{margin:auto}.sd-root-modern--mobile .sd-table__question-wrapper .sd-boolean-root{margin:initial}.sd-table__cell--footer .sd-table__question-wrapper--expression .sd-expression{padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-bottom:1px solid var(--sjs-border-light,var(--border-light,#eaeaea));font-size:var(--sjs-font-size,16px);font-weight:600;line-height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-table__cell--footer .sd-table__question-wrapper--left{text-align:start}.sd-table__cell--footer .sd-table__question-wrapper--center{text-align:center}.sd-table__cell--footer .sd-table__question-wrapper--right{text-align:end}.sd-table.sd-matrixdynamic{table-layout:auto}.sd-page{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));width:100%;box-sizing:border-box}.sd-root-modern--mobile .sd-page{padding:0}.sd-page .sd-page__title{--page-title-font-size:var(--sjs-font-pagetitle-size, calc(1.5 * (var(--sjs-font-size, 16px))));font-family:var(--sjs-font-pagetitle-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagetitle-weight,700);font-size:var(--page-title-font-size);color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)));position:static;line-height:calc(1.33 * (var(--page-title-font-size)));margin:0 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-page .sd-page__description{font-family:var(--sjs-font-pagedescription-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-pagedescription-weight,400);font-size:var(--sjs-font-pagedescription-size,var(--sjs-font-size,16px));color:var(--sjs-font-pagedescription-color,var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45)));position:static;line-height:calc(1.5 * (var(--sjs-font-pagedescription-size,var(--sjs-font-size,16px))));margin:0 0 calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-page__errbox{padding:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px))) var(--sd-base-padding)}.sd-page__description~.sd-page__errbox,.sd-page__title~.sd-page__errbox{margin-top:calc(.5 * var(--sd-base-vertical-padding) + var(--sjs-base-unit,var(--base-unit,8px)));margin-bottom:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root--compact .sd-page__description~.sd-page__errbox,.sd-root--compact .sd-page__title~.sd-page__errbox{margin-bottom:0}.sd-row{display:flex;flex-direction:row;width:100%;box-sizing:border-box;--animate-margin:var(--sd-base-vertical-padding);margin-top:var(--sd-base-vertical-padding)}.sd-row.sd-page__row{margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));--animate-margin:calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-page__row.sd-row--compact{margin-top:var(--sd-base-vertical-padding);--animate-margin:var(--sd-base-vertical-padding)}.sd-row:first-of-type{margin-top:0;--animate-margin:0}.sd-page__description~.sd-row.sd-page__row:not(.sd-row--compact),.sd-page__title~.sd-row.sd-page__row:not(.sd-row--compact){margin-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));--animate-margin:calc(3 * (var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-page__description~.sd-page__row.sd-row--compact,.sd-page__title~.sd-page__row.sd-row--compact{margin-top:var(--sd-base-vertical-padding);--animate-margin:var(--sd-base-vertical-padding)}.sd-page__description~.sd-page__row.sd-row.sd-row--fade-in.sd-row--fade-in,.sd-page__title~.sd-page__row.sd-row.sd-row--fade-in.sd-row--fade-in{margin-top:0}.sd-row.sd-page__row:not(.sd-row--compact)~.sd-row.sd-page__row:not(.sd-row--compact){margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));--animate-margin:calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))))}.sd-row.sd-page__row:not(.sd-row--compact)~.sd-page__row.sd-row.sd-row--fade-in.sd-row--fade-in{margin-top:0}.sd-row--multiple{row-gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:calc(-1 * var(--sd-base-padding));width:calc(100% + var(--sd-base-padding));flex-wrap:wrap}.sd-row--multiple>div{box-sizing:border-box;--animation-padding-left:calc(2 * (var(--sjs-base-unit, var(--base-unit, 8px))));padding-left:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;align-items:stretch}.sd-panel.sd-panel--as-page>.sd-panel__content>.sd-row--multiple:not(.sd-row--compact){margin-left:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(100% + var(--base-unit) * 2)}.sd-panel:not(.sd-panel--as-page) .sd-row--multiple{row-gap:var(--sd-base-vertical-padding)}.sd-panel:not(.sd-panel--as-page) .sd-row--multiple>div{--animation-padding-left:var(--sd-base-padding);padding-left:var(--sd-base-padding)}.sd-row--multiple.sd-row--compact>div{--animation-padding-left:var(--sd-base-padding);padding-left:var(--sd-base-padding)}.sd-page__row.sd-row--multiple{margin-left:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(100% + 2 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-page__row.sd-row--multiple.sd-row--compact{padding:0;row-gap:var(--sd-base-vertical-padding);margin-left:calc(-1 * var(--sd-base-padding));width:calc(100% + var(--sd-base-padding))}.sd-row__panel{box-sizing:border-box;width:100%}.sd-row__question{box-sizing:border-box;width:100%;white-space:nowrap}@keyframes marginFadeIn{from{margin-top:0}to{margin-top:var(--animate-margin)}}.sd-row.sd-row--fade-in{margin-top:0}.sd-row--fade-in{animation-fill-mode:forwards;animation-name:fadeIn,moveInWithOverflow,marginFadeIn;min-height:0!important;opacity:0;height:0;animation-timing-function:cubic-bezier(0,0,.58,1);animation-delay:var(--sjs-row-fade-in-delay,150ms),0s,0s;animation-duration:var(--sjs-row-fade-in-duration,500ms),var(--sjs-row-move-in-duration,150ms),var(--sjs-row-move-in-duration,150ms)}.sd-row--delayed-fade-in{animation-delay:calc(var(--sjs-row-fade-in-delay,150ms) + var(--sjs-row-fade-in-animation-delay,400ms)),var(--sjs-row-fade-in-animation-delay,400ms),var(--sjs-row-fade-in-animation-delay,400ms)}.sd-row--fade-out{animation-name:fadeIn,moveInWithOverflow,marginFadeIn;animation-timing-function:cubic-bezier(.42,0,1,1);animation-fill-mode:forwards;animation-direction:reverse;min-height:0!important;animation-delay:0s,var(--sjs-row-move-out-delay,100ms),var(--sjs-row-move-out-delay,100ms);animation-duration:var(--sjs-row-fade-out-duration,150ms),var(--sjs-row-move-out-duration,250ms),var(--sjs-row-move-out-duration,250ms)}.sd-row--fade-in .sd-element-wrapper--fade-in{animation:none}.sd-row--fade-out .sd-element-wrapper--fade-out{animation:none}.sd-title{display:block;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;color:var(--sjs-general-forecolor,var(--foreground,#161616));flex-direction:row;white-space:normal}.sd-title.sd-container-modern__title{display:flex;align-items:center;padding:var(--sd-page-vertical-padding) var(--sd-page-vertical-padding);overflow:auto;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));gap:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));box-shadow:0 2px 0 var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-title.sd-container-modern__title .sd-logo.sv-logo--right{margin-left:auto}.sd-title.sd-container-modern__title .sd-logo__image{margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-header__text{display:flex;flex-direction:column;gap:var(--sjs-base-unit,var(--base-unit,8px));flex-grow:1}.sd-header__text .sd-title{--survey-title-font-size:var(--sjs-font-surveytitle-size, calc(2 * (var(--sjs-font-size, 16px))));font-size:var(--survey-title-font-size);line-height:calc(1.25 * (var(--survey-title-font-size)));color:var(--sjs-font-surveytitle-color,var(--sjs-primary-backcolor,var(--primary,#19b394)));font-family:var(--sjs-font-surveytitle-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-surveytitle-weight,700)}.sd-header__text h3{line-height:calc(2.5 * (var(--sjs-font-size,16px)))}.sd-header__text h5{font-size:var(--sjs-font-size,16px);font-weight:400;line-height:calc(1.5 * (var(--sjs-font-size,16px)))}.sd-header__text .sd-description{--survey-description-font-size:var(--sjs-font-surveydescription-size, var(--sjs-font-size, 16px));font-size:var(--survey-description-font-size);line-height:calc(1.5 * (var(--survey-description-font-size)));color:var(--sjs-font-surveydescription-color,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)));font-family:var(--sjs-font-surveydescription-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-surveydescription-weight,400)}.sd-title .sv-title-actions{width:100%;justify-content:space-between}.sd-root-modern .sd-container-modern__title{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sd-root-modern .sd-container-modern__title .sd-header__text h3{margin:0}.sd-root-modern .sd-container-modern__title .sd-description{margin:0;color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-title .sv-title-actions{align-items:flex-start;width:calc(100% + 3 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-title .sv-title-actions .sv-title-actions__title{flex-wrap:wrap;flex:0 1 auto;max-width:calc(100% - 3 * var(--sjs-base-unit,var(--base-unit,8px)));white-space:initial;min-width:unset}.sd-action-title-bar{flex:1 9 auto;min-width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));justify-content:flex-end;margin:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-action-title-bar .sv-action{flex:0 0 auto}.sd-action-title-bar.sd-action-bar--empty{min-width:0}.sd-description{font-style:normal;font-family:var(--sjs-font-questiondescription-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-questiondescription-weight,400);color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));font-size:var(--sjs-font-questiondescription-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiondescription-size,var(--sjs-font-size,16px))));white-space:normal}.sd-description.sd-question__description--under-input{padding-top:calc(.375 * var(--sd-base-vertical-padding))}.sd-element__header .sd-description{margin-top:calc(.25 * var(--sd-base-vertical-padding) - .5 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-item{padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-item--disabled.sd-item--disabled .sd-item__decorator,.sd-item__decorator{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:flex;align-items:center;justify-content:center;width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;background-color:var(--sjs-editorpanel-backcolor,var(--sjs-editor-background,var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))));border:none;flex-shrink:0;margin-top:calc((1.5 * (var(--sjs-internal-font-editorfont-size)) - 3 * (var(--sjs-base-unit,var(--base-unit,8px))))/ 2);box-shadow:var(--sjs-shadow-inner,inset 0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms),background var(--sjs-transition-duration,150ms)}.sd-item--readonly.sd-item--readonly .sd-item__decorator{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8));box-shadow:none;transition:none}.sd-item--preview.sd-item--preview .sd-item__decorator{background-color:transparent;box-shadow:none;transition:none}.sd-item--checked .sd-item__decorator{box-shadow:none}.sd-item__control:focus+.sd-item__decorator{background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));outline:0;box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-item--allowhover:not(.sd-item--readonly) .sd-selectbase__label:hover .sd-item__decorator{background:var(--sjs-editorpanel-hovercolor,var(--sjs-general-backcolor-dim-dark,#f3f3f3));outline:0}.sd-item--checked .sd-item__decorator{background:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-item__control-label{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-style:normal;font-weight:var(--sjs-font-editorfont-weight,400);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));font-size:var(--sjs-internal-font-editorfont-size);color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));white-space:normal;width:100%;text-align:left;min-width:0}.sd-item__control-label .sv-string-viewer{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:block}.sd-item--disabled .sd-item__control-label{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));opacity:.25}.sd-root--readonly .sd-item--disabled .sd-item__control-label{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)))}.sd-item--error .sd-item__decorator{background:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-selectbase{border:none;margin:0;padding:0;min-inline-size:0;min-width:0}.sd-selectbase--row{border:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-selectbase--multi-column{display:flex;flex:1 1 0px}.sd-selectbase__label{display:inline-flex;position:relative;gap:var(--sjs-base-unit,var(--base-unit,8px));vertical-align:top;max-width:100%}.sd-selectbase__column{vertical-align:top}.sd-selectbase__column{display:block;box-sizing:border-box;flex:1 1 0px;min-width:0}.sd-selectbase__column:not(:last-child){padding-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-selectbase__column.sv-q-column-1{width:100%}.sd-checkbox__decorator{border-radius:calc(.5 * (var(--sjs-corner-radius,4px)))}.sd-checkbox__svg{display:block;width:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-checkbox__svg use{fill:transparent;transition:fill var(--sjs-transition-duration,150ms)}.sd-checkbox--checked .sd-checkbox__svg use{fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-checkbox--checked.sd-checkbox--disabled .sd-checkbox__svg use{fill:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-checkbox--checked .sd-checkbox__control:focus+.sd-checkbox__decorator .sd-checkbox__svg use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-checkbox--checked.sd-checkbox--readonly .sd-checkbox__svg use{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-checkbox--checked.sd-checkbox--preview .sd-checkbox__svg use{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-radio__decorator{border-radius:50%}.sd-radio__decorator:after{content:\" \";display:block;width:var(--sjs-base-unit,var(--base-unit,8px));height:var(--sjs-base-unit,var(--base-unit,8px));border-radius:50%;background-color:transparent;transition:background-color var(--sjs-transition-duration,150ms)}.sd-radio--checked .sd-radio__decorator:after{content:\" \";display:block;width:var(--sjs-base-unit,var(--base-unit,8px));height:var(--sjs-base-unit,var(--base-unit,8px));border-radius:50%;background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-radio--checked.sd-radio--disabled .sd-radio__decorator:after{background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-radio--checked.sd-radio--readonly .sd-radio__decorator:after{background-color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-radio--checked.sd-radio--preview .sd-radio__decorator:after{display:none}.sd-radio--checked.sd-radio--preview .sd-radio__decorator .sd-radio__svg{fill:var(--sjs-general-forecolor,var(--foreground,#161616));display:block;width:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-radio--checked .sd-radio__control:focus+.sd-radio__decorator:after{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-radio__svg{display:none}.sd-visuallyhidden{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.sd-matrix fieldset{border:none;padding:0;margin:0}.sd-matrix__label{display:flex;position:relative;justify-content:center}.sd-matrix__text{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrix__text--checked{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-matrix__cell:first-of-type{font-weight:var(--sjs-font-questiontitle-weight,600);text-align:left}:root{--sd-rating-bad-color:var(--sjs-special-red, var(--red, #e60a3e));--sd-rating-normal-color:var(--sjs-special-yellow, var(--yellow, #ff9814));--sd-rating-good-color:var(--sjs-special-green, var(--green, #19b394));--sd-rating-bad-color-light:var(--sjs-special-red-light, var(--red-light, rgba(230, 10, 62, 0.1)));--sd-rating-normal-color-light:var(--sjs-special-yellow-light, var(--yellow-light, rgba(255, 152, 20, 0.1)));--sd-rating-good-color-light:var(--sjs-special-green-light, var(--green-light, rgba(25, 179, 148, 0.1)))}.sd-rating{overflow-x:auto;min-height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating fieldset{display:flex;border:none;padding:0 0 2px 0;flex-wrap:nowrap;gap:var(--sjs-base-unit,var(--base-unit,8px));margin-inline-start:0;align-items:center}.sd-rating.sd-rating--wrappable fieldset{flex-wrap:wrap;min-width:0}.sd-rating.sd-rating--labels-top fieldset{padding-top:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))));position:relative}.sd-rating.sd-rating--labels-top fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;top:0;border:0}.sd-rating.sd-rating--labels-top fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;top:0;border:0}.sd-rating.sd-rating--labels-bottom fieldset{padding-bottom:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))));position:relative}.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;bottom:0;border:0}.sd-rating.sd-rating--labels-bottom fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;bottom:0;border:0}.sd-rating.sd-rating--labels-diagonal fieldset{padding-top:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))));position:relative}.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__min-text{position:absolute;margin:0;left:0;top:0;border:0}.sd-rating.sd-rating--labels-diagonal fieldset .sd-rating__max-text{position:absolute;margin:0;right:0;bottom:0;border:0}.sd-rating--small{min-height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:auto}.sd-rating--small fieldset{padding:0;gap:var(--sjs-base-unit,var(--base-unit,8px))}.sd-rating__item{position:relative;background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));white-space:nowrap;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));text-align:center;border:0 solid transparent;color:var(--sjs-general-forecolor,var(--foreground,#161616));fill:var(--sjs-general-forecolor,var(--foreground,#161616));font-size:var(--sjs-font-size,16px);box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15)),inset 0 0 0 0 var(--sjs-general-backcolor,var(--background,#fff));transition:box-shadow var(--sjs-transition-duration,150ms),background-color var(--sjs-transition-duration,150ms)}.sd-rating__item--fixed-size{width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:0}legend+.sd-rating__item,legend+sv-ng-rating-item+.sd-rating__item,legend+sv-ng-rating-item-smiley+.sd-rating__item-smiley{margin-inline-start:2px}.sd-rating__item--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)));box-shadow:0 1px 2px transparent;border:none}.sd-rating__item.sd-rating__item--disabled{color:var(--sjs-general-forecolor,var(--foreground,#161616));fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--disabled{color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));fill:var(--sjs-general-forecolor,var(--foreground,#161616));background-color:var(--background-semitransparent,rgba(144,144,144,.5));border:none}.sd-rating__item.sd-rating__item--readonly{fill:transparent;background-color:transparent;border:2px solid var(--sjs-border-inside,var(--border-inside,rgba(0,0,0,.16)));box-shadow:none;transform:none}.sd-rating__item.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly{border-color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--readonly .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item.sd-rating__item--preview{fill:transparent;background-color:transparent;border:1px solid transparent;box-shadow:none;transform:none}.sd-rating__item.sd-rating__item--preview:focus-within{box-shadow:none}.sd-rating__item.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview{border-color:var(--sjs-general-forecolor,var(--foreground,#161616));border-width:1px}.sd-rating__item.sd-rating__item--selected.sd-rating__item--preview .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-question--disabled .sd-rating__item-text{opacity:.25}.sd-rating__item--allowhover:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-rating__item:focus-within{box-shadow:0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item--selected{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));font-weight:600;box-shadow:0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item--selected:focus-within{box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),inset 0 0 0 4px var(--sjs-general-backcolor,var(--background,#fff)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-smiley{position:relative;border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));white-space:nowrap;padding:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;min-width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));min-height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;justify-content:center;align-items:center;text-align:center;border:2px solid var(--sjs-border-default,var(--border,#d6d6d6));color:var(--sjs-general-forecolor,var(--foreground,#161616));fill:var(--sjs-border-default,var(--border,#d6d6d6));box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),inset 0 0 0 0 var(--sjs-general-backcolor,var(--background,#fff));transition:box-shadow var(--sjs-transition-duration,150ms),background-color var(--sjs-transition-duration,150ms)}.sd-rating__item-smiley svg{display:block;width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-smiley--small{padding:calc(.625 * (var(--sjs-base-unit,var(--base-unit,8px))));min-width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));min-height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));border-width:1px}.sd-rating__item-smiley--small svg{width:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{box-shadow:0 0 0 1px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-smiley--colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{box-shadow:0 0 0 1px var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)))}.sd-rating__item-smiley--small.sd-rating__item-smiley--selected:focus-within{box-shadow:inset 0 0 0 2px var(--sjs-general-backcolor,var(--background,#fff)),0 0 0 1px var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)))}legend+.sd-rating__item-smiley,legend+sv-ng-rating-item+.sd-rating__item-smiley{margin-inline-start:2px}.sd-rating__item-smiley--scale-colored{border-color:var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)));fill:var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)));transition:box-shadow var(--sjs-transition-duration,150ms),opacity var(--sjs-transition-duration,150ms),background-color var(--sjs-transition-duration,150ms)}.sd-rating__item-smiley--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)));border-color:transparent;fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:hover{fill:var(--sd-rating-item-color,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-rating__item-smiley--error.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected){opacity:initial}.sd-rating__item-smiley.sd-rating__item-smiley--disabled{opacity:.5}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--disabled{opacity:initial;fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-rating__item-smiley.sd-rating__item-smiley--readonly{fill:var(--sjs-border-default,var(--border,#d6d6d6));border-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--readonly{fill:var(--sjs-general-forecolor,var(--foreground,#161616));border-color:var(--sjs-general-forecolor,var(--foreground,#161616));background-color:unset}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview{border:1px solid var(--sjs-general-forecolor,var(--foreground,#161616));fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview:focus-within{box-shadow:none}.sd-rating__item-smiley.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview svg{margin:1px}.sd-rating__item-smiley.sd-rating__item-smiley--selected.sd-rating__item-smiley--preview.sd-rating__item-smiley--preview{fill:var(--sjs-general-backcolor,var(--background,#fff));background-color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item-smiley--allowhover:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8));border-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-rating__item-smiley:focus-within{border:none;box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-smiley:focus-within{border:none;box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-smiley--selected{background-color:var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)));border-color:var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)));fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));font-weight:600}.sd-rating__item-smiley--selected:focus-within{border:0 solid var(--sjs-general-backcolor,var(--background,#fff));box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),inset 0 0 0 4px var(--sjs-general-backcolor,var(--background,#fff)),0 0 0 2px var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)))}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected){opacity:.25}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover{background-color:var(--sd-rating-item-color-light,var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8)));border-color:var(--sd-rating-item-color,var(--sjs-border-default,var(--border,#d6d6d6)));opacity:.5}.sd-rating__item-smiley--rate-colored:not(.sd-rating__item-smiley--selected).sd-rating__item-smiley--allowhover:hover{opacity:.5}.sd-rating__item-smiley--scale-colored:not(.sd-rating__item-smiley--selected):focus-within{opacity:1;box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)))}.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--small:not(.sd-rating__item-smiley--selected):focus-within{opacity:1;box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 1px var(--sd-rating-item-color,var(--sjs-primary-backcolor,var(--primary,#19b394)))}.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--preview,.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--readonly,.sd-rating__item-smiley--scale-colored.sd-rating__item-smiley--selected{opacity:1}.sd-rating__item-star{position:relative;width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:content-box}.sd-rating__item-star:not(:first-of-type){padding-left:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-star:not(:last-of-type){padding-right:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-right:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-star svg{stroke:var(--sjs-border-default,var(--border,#d6d6d6));stroke-width:2px;fill:transparent;width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));display:block;position:absolute;transition:stroke var(--sjs-transition-duration,150ms),opacity var(--sjs-transition-duration,150ms),fill var(--sjs-transition-duration,150ms)}.sd-rating__item-star .sv-star{opacity:1}.sd-rating__item-star .sv-star-2{opacity:0}.sd-rating__item-star--small{width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-star--small svg{width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-star--small.sd-rating__item-star--selected svg{stroke-width:1px}.sd-rating__item-star--selected svg{stroke:transparent;fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-star--selected:nth-child(1) svg{transition-delay:0s}.sd-rating__item-star--selected:nth-child(2) svg{transition-delay:25ms}.sd-rating__item-star--selected:nth-child(3) svg{transition-delay:50ms}.sd-rating__item-star--selected:nth-child(4) svg{transition-delay:75ms}.sd-rating__item-star--selected:nth-child(5) svg{transition-delay:.1s}.sd-rating__item-star--selected:nth-child(6) svg{transition-delay:125ms}.sd-rating__item-star--selected:nth-child(7) svg{transition-delay:150ms}.sd-rating__item-star--selected:nth-child(8) svg{transition-delay:175ms}.sd-rating__item-star--selected:nth-child(9) svg{transition-delay:.2s}.sd-rating__item-star--selected:nth-child(10) svg{transition-delay:225ms}.sd-rating__item-star--selected:nth-child(11) svg{transition-delay:250ms}.sd-rating__item-star--selected:nth-child(12) svg{transition-delay:275ms}.sd-rating__item-star--selected:nth-child(13) svg{transition-delay:.3s}.sd-rating__item-star--selected:nth-child(14) svg{transition-delay:325ms}.sd-rating__item-star--selected:nth-child(15) svg{transition-delay:350ms}.sd-rating__item-star--selected:nth-child(16) svg{transition-delay:375ms}.sd-rating__item-star--selected:nth-child(17) svg{transition-delay:.4s}.sd-rating__item-star--selected:nth-child(18) svg{transition-delay:425ms}.sd-rating__item-star--selected:nth-child(19) svg{transition-delay:450ms}.sd-rating__item-star--selected:nth-child(20) svg{transition-delay:475ms}.sd-rating__item-star--selected:nth-child(21) svg{transition-delay:.5s}.sd-rating__item-star--selected:nth-child(22) svg{transition-delay:525ms}.sd-rating__item-star--selected:nth-child(23) svg{transition-delay:550ms}.sd-rating__item-star--selected:nth-child(24) svg{transition-delay:575ms}.sd-rating__item-star--selected:nth-child(25) svg{transition-delay:.6s}.sd-rating__item-star--error svg{stroke:none;fill:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-rating__item-star--disabled{opacity:.5}.sd-rating__item-star--disabled svg{stroke:var(--sjs-border-default,var(--border,#d6d6d6));fill:none}.sd-rating__item-star--selected.sd-rating__item-star--disabled svg{stroke:none;fill:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-rating__item-star--readonly svg{stroke:var(--sjs-border-default,var(--border,#d6d6d6));fill:none}.sd-rating__item-star--selected.sd-rating__item-star--readonly svg{stroke:none;fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item-star--preview svg{stroke:var(--sjs-general-forecolor,var(--foreground,#161616));stroke-width:1px;fill:none}.sd-rating__item-star--selected.sd-rating__item-star--preview svg{stroke:none;fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-rating__item-star:not(.sd-rating__item-star--preview):focus-within svg{stroke:var(--sjs-primary-backcolor,var(--primary,#19b394));fill:transparent}.sd-rating__item-star--unhighlighted svg{stroke:transparent;fill:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-rating__item-star--highlighted svg{stroke:var(--sjs-border-default,var(--border,#d6d6d6));fill:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview).sd-rating__item-star--unhighlighted:focus-within svg{stroke:var(--sjs-border-default,var(--border,#d6d6d6));fill:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within svg{stroke:var(--sjs-primary-backcolor,var(--primary,#19b394));fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star{opacity:0}.sd-rating__item-star--selected:not(.sd-rating__item-star--preview):focus-within .sv-star-2{opacity:1}.sd-rating__item-text.sd-rating__item-text{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight,400);color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));display:inline-block;box-sizing:border-box;transition:color var(--sjs-transition-duration,150ms)}.sd-rating__item-text.sd-rating__item-text.sd-rating__max-text,.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text{margin-top:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));border:2px solid transparent}.sd-rating__item-text.sd-rating__item-text.sd-rating__min-text{margin-right:var(--sjs-base-unit,var(--base-unit,8px));border-left:0}.sd-rating__item-text.sd-rating__item-text.sd-rating__max-text{margin-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:var(--sjs-base-unit,var(--base-unit,8px))}.sd-rating__item-text.sd-rating__item-text .sv-string-editor{white-space:nowrap}.sd-rating__item-text.sd-rating__item-text.sd-rating__item--fixed-size{min-width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating__item-text.sd-rating__item-text::after{display:block;content:attr(data-text);font-weight:600;height:0;color:transparent;overflow:hidden;visibility:hidden}.sd-rating--wrappable .sd-rating__item-text{max-width:100%}.sd-rating--wrappable .sd-rating__item-text .sv-string-viewer{max-width:100%;text-overflow:ellipsis;overflow:hidden;display:block}.sd-rating__item:focus-within .sd-rating__item-text.sd-rating__item-text{border:none}.sd-rating__item--selected .sd-rating__item-text.sd-rating__item-text{color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));font-weight:inherit;border:none}.sd-rating-dropdown-item{display:flex;width:100%;justify-content:space-between;align-items:center;gap:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-rating-dropdown-item_description{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-weight:400;font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px)}.sv-list__item.sv-list__item--selected .sd-rating-dropdown-item_description{color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sv-ranking-item--error .sv-ranking-item__index{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)));box-shadow:0 1px 2px transparent;border-color:transparent}.sd-element--with-frame .sv-ranking-item{left:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking.sd-ranking--readonly{user-select:initial;-webkit-user-select:initial}.sv-ranking.sd-ranking--readonly.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider{visibility:hidden}.sv-ranking.sd-ranking--readonly .sv-ranking__container--empty{visibility:hidden}.sv-ranking.sd-ranking--preview{user-select:initial;-webkit-user-select:initial}.sv-ranking.sd-ranking--preview.sv-ranking--select-to-rank-empty-value .sv-ranking__containers-divider{visibility:hidden}.sv-ranking.sd-ranking--preview .sv-ranking__container--empty{visibility:hidden}.sv-ranking--select-to-rank-horizontal .sv-ranking__containers-divider{margin:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;height:1px;width:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty{padding-top:var(--sjs-base-unit,var(--base-unit,8px));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px));display:flex;justify-content:center;align-items:center}.sv-ranking--select-to-rank-horizontal .sv-ranking__container{max-width:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking-item{left:initial}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--to .sv-ranking__container-placeholder{padding-left:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-right:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-ranking--select-to-rank-horizontal .sv-ranking__container--empty.sv-ranking__container--from .sv-ranking__container-placeholder{padding-right:initial}.sd-element--with-frame .sv-ranking--mobile .sv-ranking-item{left:0}.sv-ranking-item__content.sd-ranking-item__content{line-height:calc(1.5 * (var(--sjs-font-size,16px)))}.sv-dragdrop-movedown{transform:translate(0,0);animation:svdragdropmovedown .1s;animation-timing-function:ease-in-out}@keyframes svdragdropmovedown{0%{transform:translate(0,-50px)}100%{transform:translate(0,0)}}.sv-dragdrop-moveup{transform:translate(0,0);animation:svdragdropmoveup .1s;animation-timing-function:ease-in-out}@keyframes svdragdropmoveup{0%{transform:translate(0,50px)}100%{transform:translate(0,0)}}.sv-dropdown_select-wrapper{position:relative}.sv-dropdown_select-wrapper use{fill:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-inline-end:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));opacity:1;display:flex;justify-content:space-between;word-spacing:normal}.sd-dropdown[disabled]{pointer-events:none}.sd-dropdown--empty:not(.sd-input--disabled),.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__value{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-dropdown__input-field-component{height:auto}.sd-dropdown option{color:var(--sjs-general-forecolor,var(--foreground,#161616));font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-size,16px)}.sd-dropdown input[readonly]{pointer-events:none}.sd-dropdown__value{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));width:100%;min-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight,400);color:var(--sjs-font-editorfont-color,var(--sjs-general-forecolor,rgba(0,0,0,.91)));font-size:var(--sjs-internal-font-editorfont-size);position:relative}.sd-dropdown_clean-button{display:flex;justify-content:center;align-items:center;padding:0 var(--sjs-base-unit,var(--base-unit,8px));margin:auto 0}.sd-dropdown_chevron-button{position:absolute;width:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));top:0;bottom:0;inset-inline-end:0;display:flex;justify-content:center;align-items:center;padding-inline-end:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-dropdown_chevron-button-svg,.sd-dropdown_clean-button-svg{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));width:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-input.sd-dropdown:focus-within{box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-input.sd-dropdown.sd-input--readonly{box-shadow:none;transition:none}.sd-dropdown__filter-string-input{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));position:absolute;left:0;top:0;bottom:0;width:100%;max-width:100%;border:none;outline:0;padding:0;font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight,400);color:var(--sjs-font-editorfont-color,var(--sjs-general-forecolor,rgba(0,0,0,.91)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));background-color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;appearance:none}.sd-dropdown--empty:not(.sd-input--disabled) .sd-dropdown__filter-string-input::placeholder{color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-dropdown--empty div{min-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-dropdown__filter-string-input::placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616));width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;appearance:none}.sd-dropdown__hint-prefix{color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-dropdown__hint-prefix span{white-space:pre}.sd-dropdown__hint-suffix{display:flex;color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-dropdown__hint-suffix span{white-space:pre}.sd-input--disabled .sv-string-viewer,.sd-input--preview .sv-string-viewer,.sd-input--readonly .sv-string-viewer{max-width:100%;overflow:hidden;text-overflow:ellipsis}.sd-question--readonly .sd-dropdown_chevron-button use{opacity:.24}.sd-question--preview .sd-dropdown_chevron-button{display:none}.sv-dropdown-popup .sd-list__item-body{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));font-size:var(--sjs-internal-font-editorfont-size);font-weight:var(--sjs-font-editorfont-weight,400);font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));padding-inline-end:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-block:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))));border:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent;border-radius:var(--sjs-corner-radius,4px);transition:border-color var(--sjs-transition-duration,150ms)}.sv-dropdown-popup .sv-list__item.sv-list__item--focused:not(.sv-list__item--selected) .sv-list__item-body{border:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-border-light,var(--border-light,#eaeaea));padding-inline-end:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-block:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(1.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup .sv-list__item span{margin-inline-start:calc(-.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-dropdown-popup.sv-single-select-list.sv-popup--animate-leave .sd-list__item.sv-list__item--selected .sv-list__item-body{font-weight:400;color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));background-color:transparent}.sv-dropdown-popup.sv-popup--dropdown.sv-popup--top .sv-popup__container{transform:translateY(-2px)}.sv-dropdown-popup.sv-popup--dropdown.sv-popup--bottom .sv-popup__container{transform:translateY(2px)}[dir=rtl] .sd-dropdown,[style*=\"direction: rtl\"] .sd-dropdown,[style*=\"direction:rtl\"] .sd-dropdown{background-position:left calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) top 50%,0 0}.sd-input.sd-tagbox:not(.sd-tagbox--empty).sd-input--editable{height:auto;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-end:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-start:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-tagbox.sd-input--disabled,.sd-tagbox.sd-input--preview,.sd-tagbox.sd-input--readonly{white-space:normal}.sd-tagbox_clean-button{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));padding:calc(.5 * (var(--sjs-internal-font-editorfont-size)));margin:auto 0}.sd-input.sd-tagbox:focus-within{box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sv-tagbox__item{position:relative;display:flex;align-items:center;padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));border-radius:calc(.5 * (var(--sjs-corner-radius,4px)));max-width:100%;box-sizing:border-box}.sv-tagbox__item-text{color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));min-width:calc(5.5 * (var(--sjs-base-unit,var(--base-unit,8px))));text-align:center;font-weight:600}.sv-tagbox__item-text span{display:block;text-overflow:ellipsis;overflow:hidden}.sv-tagbox__item:focus .sd-tagbox-item_clean-button,.sv-tagbox__item:focus-within .sd-tagbox-item_clean-button,.sv-tagbox__item:hover .sd-tagbox-item_clean-button{align-self:center;opacity:1}.sd-tagbox-item_clean-button{display:flex;position:absolute;inset-inline-end:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:0;padding-inline-start:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));background:linear-gradient(270deg,var(--sjs-primary-backcolor,var(--primary,#19b394)) 53.12%,rgba(25,179,148,0) 100%);opacity:0;transition:opacity var(--sjs-transition-duration,150ms)}.sd-tagbox-item_clean-button-svg{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:block;padding:calc(.25 * (var(--sjs-internal-font-editorfont-size)));width:var(--sjs-internal-font-editorfont-size);height:var(--sjs-internal-font-editorfont-size)}.sd-tagbox-item_clean-button-svg:hover{border-radius:100px;background:var(--sjs-primary-forecolor-light,var(--primary-foreground-disabled,rgba(255,255,255,.25)))}.sd-tagbox-item_clean-button-svg use{fill:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-tagbox__value.sd-dropdown__value{position:relative;gap:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;flex-wrap:wrap;flex-grow:1;padding-inline:unset;margin-inline:unset;margin-block:unset}.sd-tagbox__filter-string-input{width:100%;display:flex;flex-grow:1}.sd-tagbox__placeholder{position:absolute;top:0;left:0;max-width:100%;width:auto;height:100%;text-align:left;cursor:text;pointer-events:none;color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}[dir=rtl] .sd-tagbox-item_clean-button,[style*=\"direction: rtl\"] .sd-tagbox-item_clean-button,[style*=\"direction:rtl\"] .sd-tagbox-item_clean-button{background:linear-gradient(90deg,var(--sjs-primary-backcolor,var(--primary,#19b394)) 53.12%,rgba(25,179,148,0) 100%)}.sd-tagbox.sd-tagbox--empty .sd-tagbox__filter-string-input,.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint,.sd-tagbox.sd-tagbox--empty .sd-tagbox__hint-suffix-wrapper{width:100%}.sd-tagbox__hint{display:flex;flex-grow:1}.sd-tagbox__hint-suffix-wrapper{position:relative;width:100%}.sd-dropdown__hint-suffix.sd-tagbox__hint-suffix{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:100%;display:flex;align-items:center}.sd-dropdown__hint-prefix.sd-tagbox__hint-prefix{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:100%;display:flex;align-items:center}.sd-imagepicker{display:flex;flex-wrap:wrap;padding:0;border:none;gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:100%;margin:0}.sd-imagepicker--column{align-items:flex-start;flex-direction:column}@supports not (aspect-ratio:1/1){.sd-imagepicker>div{margin-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}}.sd-imagepicker__item .sd-imagepicker__image-container>div,.sd-imagepicker__item img{border-radius:var(--sjs-corner-radius,4px);background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sd-imagepicker__item-decorator{position:relative;display:flex;flex-direction:column;align-items:center}.sd-imagepicker__label{position:relative}.sd-imagepicker__label .sd-visuallyhidden{height:100%;margin:0}.sd-imagepicker__image-container{position:relative}.sd-imagepicker__check-decorator{display:block;opacity:0;position:absolute;top:var(--sjs-base-unit,var(--base-unit,8px));right:var(--sjs-base-unit,var(--base-unit,8px));padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;border-radius:100%;background-color:var(--sjs-general-backcolor,var(--background,#fff));z-index:1;transition:opacity var(--sjs-transition-duration,150ms)}.sd-imagepicker__check-icon{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:block;width:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-imagepicker__item--checked .sd-imagepicker__check-decorator{opacity:1}.sd-imagepicker__item--error .sd-imagepicker__image-container::before{display:block;position:absolute;content:\" \";left:0;top:0;width:100%;height:100%;background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)));border-radius:var(--sjs-corner-radius,4px);background:linear-gradient(0deg,var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1))),var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1))))}.sd-imagepicker__item--allowhover:not(.sd-imagepicker__item--readonly,.sd-imagepicker__item--preview) .sd-imagepicker__image:hover,.sd-imagepicker__item:focus-within .sd-imagepicker__image .sd-imagepicker__image:hover{opacity:.5}.sd-imagepicker__image{display:block;box-sizing:border-box;max-width:100%;transition:opacity var(--sjs-transition-duration,150ms)}.sd-imagepicker__text{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));margin-top:var(--sjs-base-unit,var(--base-unit,8px));color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)))}.sd-imagepicker__no-image{display:flex;background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9));inset-block-start:0}.sd-imagepicker__no-image-svg{height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:auto}.sd-imagepicker__no-image-svg use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-imagepicker__column{display:flex;flex-direction:column;gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));align-items:flex-start;padding-right:0}.sd-imagepicker__column .sd-imagepicker__item{width:100%}.sd-imagepicker__column .sd-imagepicker__text{width:100%;display:inline-block;overflow:hidden;text-overflow:ellipsis;text-align:center}.sd-selectbase__column.sd-imagepicker__column:not(:last-child){padding-right:0}.sd-imagepicker__item--readonly .sd-imagepicker__check-icon{fill:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-imagepicker__item--preview .sd-imagepicker__check-decorator{display:none}.sd-imagepicker__item--preview .sd-imagepicker__image{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.25}.sd-imagepicker__item--preview.sd-imagepicker__item--checked .sd-imagepicker__image{-webkit-filter:grayscale(0);filter:grayscale(0);opacity:1}.sd-image__image{display:block;max-width:100%;border-radius:var(--sjs-corner-radius,4px)}.sd-image__image--adaptive{width:100%;height:auto;max-width:calc(80 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-image__no-image{background:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9));min-width:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));min-height:calc(27.5 * (var(--sjs-base-unit,var(--base-unit,8px))));width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.sd-image__no-image use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}:root{--sjs-transition-duration:150ms}.sd-html{white-space:initial}.sd-html{font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)))}.sd-html h1{font-size:var(--sjs-article-font-xx-large-fontSize,calc(4 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight,700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing,0);line-height:var(--sjs-article-font-xx-large-lineHeight,64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent,0);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-html h2{font-size:var(--sjs-article-font-x-large-fontSize,calc(3 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight,700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing,0);line-height:var(--sjs-article-font-x-large-lineHeight,56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent,0);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-html h3{font-size:var(--sjs-article-font-large-fontSize,calc(2 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight,700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing,0);line-height:var(--sjs-article-font-large-lineHeight,40px);text-indent:var(--sjs-article-font-large-paragraphIndent,0);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-html h4,.sd-html h5,.sd-html h6{font-size:var(--sjs-article-font-medium-fontSize,calc(1.5 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight,700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing,0);line-height:var(--sjs-article-font-medium-lineHeight,32px);text-indent:var(--sjs-article-font-medium-paragraphIndent,0);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-html div,.sd-html p,.sd-html span,.sd-html td{font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-html a{color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-html button{display:flex;align-items:center;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor,var(--background,#fff));border:none;border-radius:var(--sjs-corner-radius,4px);cursor:pointer;user-select:none;outline:solid calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) transparent;color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))));box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-html button:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-html button:focus{box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-html button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-html--nested{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)))}.sd-expression{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));font-size:var(--sjs-font-size,16px);white-space:break-spaces}.sd-question__content--left .sd-expression{line-height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-progress{height:2px;background-color:var(--sjs-border-light,var(--border-light,#eaeaea));position:relative}.sd-progress__bar{position:relative;height:100%;background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));overflow:hidden}.sd-progress__text{position:absolute;margin-top:var(--sjs-base-unit,var(--base-unit,8px));padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45));font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px);font-weight:600}@media only screen and (min-width:1000px){.sd-progress__text{margin-left:5%}}@media only screen and (max-width:1000px){.sd-progress__text{margin-left:10px}}.sd-body__progress--top{margin-bottom:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));position:sticky;top:0;z-index:50}.sd-body__progress--bottom .sd-progress__text{margin-top:calc(-3.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-root--sticky-top .sd-progress__text{border-radius:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-general-dim-forecolor,rgba(0,0,0,.91));opacity:.75;background:var(--sjs-general-backcolor,var(--background,#fff));box-shadow:var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1)),var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15))}.sd-boolean{display:flex;width:max-content;position:relative;gap:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-editorpanel-backcolor,var(--sjs-editor-background,var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));box-shadow:var(--sjs-shadow-inner,inset 0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-boolean.sd-boolean--allowhover:focus-within{box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-boolean__label,.sd-boolean__thumb{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:block;font-family:var(--sjs-font-editorfont-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-editorfont-weight,400);font-size:var(--sjs-internal-font-editorfont-size);color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)));line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-boolean__switch{display:flex;padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));align-items:center;position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));overflow:hidden}.sd-boolean.sd-boolean--checked .sd-boolean__label--true,.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false{color:transparent;transition-duration:.15s;transition-property:color;transition-timing-function:linear}.sd-boolean.sd-boolean--indeterminate .sd-boolean__switch{display:none}.sd-boolean--indeterminate .sd-boolean__thumb{display:none}.sd-boolean__thumb{position:absolute;left:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));transform:translateX(0);background-color:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));transition-duration:.2s;transition-property:transform,left;transition-timing-function:linear;color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:600;z-index:2}.sd-boolean__thumb .sv-string-viewer.sv-string-viewer--multiline{white-space:nowrap}.sd-boolean--checked:not(.sd-boolean--exchanged) .sd-boolean__thumb,.sd-boolean--exchanged:not(.sd-boolean--checked) .sd-boolean__thumb{left:calc(100% - .5 * var(--sjs-base-unit,var(--base-unit,8px)));transform:translateX(-100%)}.sd-boolean--exchanged.sd-boolean.sd-boolean--checked .sd-boolean__label--true,.sd-boolean--exchanged.sd-boolean:not(.sd-boolean--checked):not(sd-boolean--indeterminate) .sd-boolean__label--false{color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-boolean--disabled{pointer-events:none}.sd-boolean--disabled .sd-boolean__label,.sd-boolean--disabled .sd-boolean__thumb{color:var(--sjs-general-forecolor,var(--foreground,#161616));opacity:.25}.sd-boolean--readonly{pointer-events:none;box-shadow:none;transition:none;background:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-boolean--readonly .sd-boolean__thumb{box-shadow:inset 0 0 0 2px var(--sjs-general-forecolor,var(--foreground,#161616));transition:none;color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-boolean--preview{pointer-events:none;box-shadow:none;transition:none;background:0 0}.sd-boolean--preview .sd-boolean__thumb{border:1px solid var(--sjs-general-forecolor,var(--foreground,#161616));box-shadow:none;transition:none;color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-boolean--preview.sd-boolean--checked .sd-boolean__thumb,.sd-boolean--preview.sd-boolean--indeterminate .sd-boolean__thumb{margin-left:auto}.sd-boolean--preview .sd-checkbox__label--preview{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-boolean__thumb-ghost{z-index:1;border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:transparent;transition:background-color var(--sjs-transition-duration,150ms)}.sd-boolean.sd-boolean--allowhover .sd-boolean__thumb-ghost:hover{background-color:var(--sjs-editorpanel-hovercolor,var(--sjs-general-backcolor-dim-dark,#f3f3f3))}.sd-boolean--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-paneldynamic .sd-progress{position:absolute;left:0;right:0;height:2px;z-index:2;transform:translateY(-1px)}.sd-paneldynamic>.sd-panel{padding-top:1px;padding-bottom:calc(.5 * var(--sd-base-vertical-padding))}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header{padding-bottom:0;padding-top:var(--sd-base-vertical-padding)}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header:after{display:none}.sd-paneldynamic .sd-paneldynamic__panel-wrapper>.sd-panel>.sd-panel__header>.sd-panel__title{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-question--preview .sd-paneldynamic .sd-question__placeholder,.sd-question--readonly .sd-paneldynamic .sd-question__placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-paneldynamic__separator{display:none}.sd-paneldynamic__panel-wrapper{box-sizing:border-box;padding-bottom:calc(1 * var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper:after{display:table;clear:both;content:\" \"}.sd-paneldynamic__footer .sd-paneldynamic__separator,.sd-paneldynamic__panel-wrapper--list~.sd-paneldynamic__panel-wrapper--list:before{content:\" \";display:block;position:absolute;left:0;right:0;margin:0;border-color:var(--sjs-border-light,var(--border-light,#eaeaea));background:var(--sjs-border-light,var(--border-light,#eaeaea));height:1px;border:none}.sd-paneldynamic__separator:only-child{display:none}.sd-paneldynamic__panel-wrapper--in-row{display:flex;flex-direction:row;align-items:center}.sd-paneldynamic__footer{clear:both}.sd-paneldynamic__footer .sd-paneldynamic__next-btn,.sd-paneldynamic__footer .sd-paneldynamic__prev-btn{display:block}.sd-paneldynamic__footer .sd-paneldynamic__next-btn svg,.sd-paneldynamic__footer .sd-paneldynamic__prev-btn svg{width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__footer .sd-paneldynamic__add-btn,.sd-paneldynamic__footer .sd-paneldynamic__progress--bottom,.sd-paneldynamic__footer .sd-paneldynamic__progress-text{display:initial}.sd-paneldynamic__buttons-container{display:flex;align-items:center;padding:calc(var(--sd-base-vertical-padding) - var(--sjs-base-unit,var(--base-unit,8px))) 0}.sd-paneldynamic__progress-container{display:flex;align-items:center;margin-left:auto;margin-right:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__progress-text{font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))));color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));margin:0;margin-right:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__next-btn,.sd-paneldynamic__prev-btn{width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__next-btn .sv-svg-icon,.sd-paneldynamic__prev-btn .sv-svg-icon{display:block}.sd-paneldynamic__prev-btn{margin-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__next-btn{margin-left:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));transform:rotate(180deg)}.sd-paneldynamic__placeholder .sd-paneldynamic__add-btn{display:initial;margin-left:0}.sd-question--empty.sd-question--paneldynamic>.sd-question__content{padding-bottom:var(--sd-base-padding);--animation-padding-bottom:var(--sd-base-padding)}.sd-question--paneldynamic:not(.sd-question--empty)>.sd-question__content>.sd-question__comment-area{padding-bottom:var(--sd-base-padding)}.sd-paneldynamic__buttons-container .sd-action-bar{width:100%;margin:0 calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(100% + 6 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-paneldynamic__panel-footer{border-top:none;position:relative;top:calc(.5 * var(--sd-base-vertical-padding));margin-right:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));justify-content:flex-end}.sd-paneldynamic__panel-footer .sv-action:not(.sv-action--hidden){margin-bottom:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-tabs-toolbar.sv-action-bar{align-items:flex-start;margin:var(--sjs-base-unit,var(--base-unit,8px)) 0 -1px calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(100% + 4 * var(--sjs-base-unit,var(--base-unit,8px)));z-index:1}.sd-tabs-toolbar.sd-tabs-toolbar--left{justify-content:flex-start}.sd-tabs-toolbar.sd-tabs-toolbar--right{justify-content:flex-end}.sd-tabs-toolbar.sd-tabs-toolbar--center{justify-content:center}.sd-tab-item{margin:0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-tab-item{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));padding:var(--sjs-base-unit,var(--base-unit,8px)) 0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;box-sizing:border-box;border:none;background-color:transparent;cursor:pointer;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));overflow-x:hidden;white-space:nowrap;box-shadow:inset 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-tab-item:focus-visible,.sd-tab-item:hover{outline:0;box-shadow:inset 0 -2px 0 var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-tab-item.sd-tab-item--pressed{color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));box-shadow:inset 0 -2px 0 var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-tab-item--icon{padding:var(--sjs-base-unit,var(--base-unit,8px));width:auto;border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-tab-item--icon use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));opacity:.5}.sd-tab-item--icon.sd-tab-item--pressed,.sd-tab-item--icon:hover{background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));box-shadow:none}.sd-tab-item--icon.sd-tab-item--pressed use,.sd-tab-item--icon:hover use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-tab-item--icon:hover use{opacity:1}.sd-tabs-toolbar .sv-dots{width:auto}.sd-tabs-toolbar .sv-dots.sv-action--hidden{width:0}.sd-tab-item__title{line-height:calc(1.5 * (var(--sjs-font-size,16px)));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;align-items:center}.sd-question__title~.sd-tabs-toolbar{margin-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab{padding-bottom:0}.sd-paneldynamic__header.sd-element__header.sd-paneldynamic__header-tab::after{bottom:0}.sd-question--paneldynamic.sd-element--with-frame{padding-bottom:0}.sd-paneldynamic__panels-container{position:relative;overflow:hidden;margin-left:calc(-1 * var(--sd-base-padding));padding-left:var(--sd-base-padding);margin-right:calc(-1 * var(--sd-base-padding));padding-right:var(--sd-base-padding)}.sd-paneldynamic__panel-wrapper{box-sizing:border-box}@keyframes movePanel{from{transform:translateX(var(--sjs-pd-tab-move-margin))}to{transform:translateX(0)}}.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-left,.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-right{--sjs-pd-tab-animation-delay:0ms;animation-name:movePanel,changeHeight,paddingFadeIn,fadeIn;animation-duration:var(--sjs-pd-tab-move-in-duration,250ms),var(--sjs-pd-tab-height-change-duration,250ms),var(--sjs-pd-tab-height-change-duration,250ms),var(--sjs-pd-tab-fade-in-duration,250ms);animation-delay:calc(var(--sjs-pd-tab-move-in-delay,100ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay,0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay,0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-fade-in-delay,100ms) + var(--sjs-pd-tab-animation-delay));animation-timing-function:cubic-bezier(0,0,.58,1);animation-fill-mode:forwards;opacity:0;padding-bottom:0;transform:translateX(var(--sjs-pd-tab-move-margin));height:var(--animation-height-from);--animation-padding-top:0;--animation-padding-bottom:calc(1 * var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-left{--sjs-pd-tab-move-margin:calc(1 * var(--sjs-pd-tab-move-in-margin, 50%))}.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-right{--sjs-pd-tab-move-margin:calc(-1 * var(--sjs-pd-tab-move-in-margin, 50%))}.sd-paneldynamic__panel-wrapper--fade-out.sv-pd-animation-left,.sd-paneldynamic__panel-wrapper--fade-out.sv-pd-animation-right{animation-name:fadeIn,movePanel;animation-duration:var(--sjs-pd-tab-fade-out-duration,250ms),var(--sjs-pd-tab-move-out-duration,250ms);animation-delay:var(--sjs-pd-tab-fade-out-delay,0ms),var(--sjs-pd-tab-move-out-delay,0ms);animation-timing-function:cubic-bezier(.42,0,1,1);animation-direction:reverse;animation-fill-mode:forwards;position:absolute;left:var(--sd-base-padding);top:0;width:calc(100% - 2 * var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--fade-out.sv-pd-animation-left{--sjs-pd-tab-move-margin:calc(-1 * var(--sjs-pd-tab-move-out-margin, 50%))}.sd-paneldynamic__panel-wrapper--fade-out.sv-pd-animation-right{--sjs-pd-tab-move-margin:calc(1 * var(--sjs-pd-tab-move-out-margin, 50%))}.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-adding{animation-name:fadeIn,changeHeight,paddingFadeIn;animation-duration:var(--sjs-pd-tab-add-fade-in-duration,500ms),var(--sjs-pd-tab-height-change-duration,250ms),var(--sjs-pd-tab-height-change-duration,250ms);animation-delay:calc(var(--sjs-pd-tab-add-fade-in-delay,250ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay,0ms) + var(--sjs-pd-tab-animation-delay)),calc(var(--sjs-pd-tab-height-change-delay,0ms) + var(--sjs-pd-tab-animation-delay));animation-timing-function:cubic-bezier(0,0,.58,1);animation-fill-mode:forwards;transform:translateX(0)}.sd-paneldynamic__panel-wrapper--fade-in.sv-pd-animation-removing{--sjs-pd-tab-animation-delay:var(--sjs-pd-tab-remove-fade-in-delay, 150ms)}.sd-paneldynamic__panel-wrapper--fade-out.sv-pd-animation-removing{animation-name:fadeIn;animation-duration:var(--sjs-pd-tab-remove-fade-out-duration,150ms);animation-delay:var(--sjs-pd-tab-remove-fade-out-delay,0ms);animation-timing-function:cubic-bezier(.42,0,1,1);animation-direction:reverse;animation-fill-mode:forwards;position:absolute;left:var(--sd-base-padding);top:0;width:calc(100% - 2 * var(--sd-base-padding))}.sd-paneldynamic__panel-wrapper--fade-in,.sd-paneldynamic__panel-wrapper--fade-out{animation-name:fadeIn,moveInWithOverflow,paddingFadeIn;animation-fill-mode:forwards;--animation-padding-top:0;--animation-padding-bottom:calc(1 * var(--sd-base-padding));min-height:0!important}.sd-paneldynamic__panel-wrapper--fade-in{opacity:0;animation-timing-function:cubic-bezier(0,0,.58,1);animation-duration:var(--sjs-pd-list-fade-in-duration,500ms),var(--sjs-pd-list-move-in-duration,250ms),var(--sjs-pd-list-move-in-duration,250ms);animation-delay:var(--sjs-pd-list-fade-in-delay,250ms),0s,0s}.sd-paneldynamic__panel-wrapper--fade-out{animation-direction:reverse;animation-timing-function:cubic-bezier(.42,0,1,1);animation-duration:var(--sjs-pd-list-fade-out-duration,150ms),var(--sjs-pd-list-move-out-duration,250ms),var(--sjs-pd-list-move-out-duration,250ms);animation-delay:0s,var(--sjs-pd-list-move-out-delay,100ms),var(--sjs-pd-list-move-out-delay,100ms);--animation-padding-bottom:calc(1 * var(--sd-base-padding))}:root{--sjs-transition-duration:150ms}.sd-file{position:relative;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));min-height:calc(36 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;padding:0 calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-file .sv-action-bar{padding:var(--sjs-base-unit,var(--base-unit,8px)) 0;justify-content:center;position:absolute;width:100%;left:0;bottom:0}.sd-file .sv-action-bar .sv-action-bar-item{height:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));border-radius:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;font-weight:600}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:hover{background-color:var(--sjs-general-backcolor,var(--background,#fff))}.sd-file .sv-action-bar #fileIndex .sv-action-bar-item:disabled{opacity:initial}.sd-file__decorator{display:flex;flex-direction:column;position:absolute;position:absolute;left:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))));width:100%;height:100%;box-sizing:border-box;justify-content:center;align-items:center;border:1px dashed var(--sjs-border-default,var(--border,#d6d6d6));container-type:inline-size}.sd-file--answered .sd-file__decorator{container-type:unset}.sd-file__decorator--drag{z-index:1;border:1px solid var(--sjs-primary-backcolor,var(--primary,#19b394));background:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));box-shadow:inset 0 0 0 1px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-file__no-file-chosen{display:none}.sd-file__drag-area-placeholder{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));text-align:center;white-space:normal;color:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));padding:0 calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-file__decorator .sd-action{padding:var(--sjs-base-unit,var(--base-unit,8px))}.sd-file__decorator .sd-action .sv-svg-icon{margin-left:0}.sd-file__decorator .sd-file__actions-container{flex-direction:column}.sd-file__decorator .sd-file__actions-container span{display:none}.sd-file__choose-btn--text{display:block;font-weight:600;color:var(--sjs-primary-backcolor,var(--primary,#19b394));cursor:pointer}.sd-file__choose-btn--text .sv-svg-icon{margin-left:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))));width:24px;height:24px;fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-file__choose-btn--icon>span{display:none}.sd-file__wrapper{width:max-content;max-width:100%}.sd-question--answered .sd-file__drag-area-placeholder{display:none}.sd-file__actions-container{margin-top:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));flex-wrap:wrap;justify-content:center}.sd-file__actions-container .sv-action--hidden{display:none}.sd-file--answered .sd-file__actions-container{z-index:2;margin-top:0;gap:var(--sjs-base-unit,var(--base-unit,8px))}.sd-file--answered .sd-file__actions-container{top:var(--sjs-base-unit,var(--base-unit,8px));right:var(--sjs-base-unit,var(--base-unit,8px));position:absolute}.sd-file--chose-btn--as .sd-file--answered .sd-file__actions-container{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));inset-inline-end:calc(1.5 * (var(--sjs-internal-font-editorfont-size)) + 5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-file__list{display:flex;gap:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:content-box;flex-direction:row;align-items:stretch;justify-content:center;padding:calc(10.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;min-height:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))));max-height:calc(15 * (var(--sjs-base-unit,var(--base-unit,8px))));width:100%}.sd-file__preview-item{position:relative;display:flex;align-items:stretch;flex-direction:column;min-height:100%;width:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:0;cursor:pointer}.sd-file__preview-item .sd-file__default-image{width:calc(7 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(8.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-file__preview-item:hover .sd-file__remove-file-button{opacity:1}.sd-file__preview-item:hover .sd-file__sign a{text-decoration:underline}.sd-file__sign{margin-top:var(--sjs-base-unit,var(--base-unit,8px));text-align:center;font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px)}.sd-file__sign a{display:block;text-decoration:none;color:var(--sjs-font-questiontitle-color,var(--sjs-general-forecolor,var(--foreground,#161616)));white-space:normal;word-break:break-all;width:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));min-width:100%;max-width:100%;overflow:hidden;max-height:calc(3 * (var(--sjs-font-size,16px)));text-overflow:ellipsis;line-height:var(--sjs-font-size,16px);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.sd-file__remove-file-button{display:block;opacity:0;position:absolute;left:100%;top:0;transform:translate(-50%,-50%);transition:opacity var(--sjs-transition-duration,150ms)}.sd-file__image-wrapper--default-image .sd-file__remove-file-button{left:50%;top:50%;transform:translate(calc(3.5 * var(--sjs-base-unit,var(--base-unit,8px)) - 50% - 1.5px),calc(-4.25 * var(--sjs-base-unit,var(--base-unit,8px)) - 50% + 1.5px))}.sd-file__decorator--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-file__image-wrapper{position:relative;text-align:center;display:flex;align-items:center;justify-content:center;width:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));min-height:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));background:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-file__image-wrapper img:not(.sd-file__default-image){display:block;max-width:100%;max-height:100%;width:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(12 * (var(--sjs-base-unit,var(--base-unit,8px))));object-fit:contain}.sd-file__image-wrapper--default-image{background:0 0}.sd-file--single .sd-file__preview-item .sd-file__remove-file-button{display:none}.sd-file--single-image{height:calc(36 * var(--sjs-base-unit,var(--base-unit,8px)))}.sd-file--single-image .sd-file__preview-item{width:100%;margin:0}.sd-file--single-image .sd-file__list{position:absolute;left:0;padding:0;height:100%;max-height:100%;width:100%}.sd-file--single-image .sd-file__image-wrapper{background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sd-file--single-image .sd-file__image-wrapper{min-height:100%;min-width:100%}.sd-file--single-image .sd-file__image-wrapper img{width:100%;height:100%}.sd-file--single-image .sd-file__sign{position:absolute;margin:0;width:100%;min-height:100%}.sd-file--single-image .sd-file__sign a{color:transparent;width:100%;min-width:100%;max-width:100%;height:100%;outline:0}.sd-file__image-wrapper.sd-file__image-wrapper--default-image{background:0 0}.sd-file>input:focus+.sd-file__decorator .sd-file__choose-btn.sd-file__choose-btn--icon use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-file>input:focus+.sd-file__decorator .sd-file__choose-btn:not(.sd-file__choose-btn--icon){background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)))}.sd-file__drag-area{position:static;width:100%}.sd-file__change-camera-button{position:absolute;z-index:2;left:var(--sjs-base-unit,var(--base-unit,8px));top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-file__close-camera-button{position:absolute;z-index:2;right:var(--sjs-base-unit,var(--base-unit,8px));top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-context-btn.sd-file__take-picture-button{background-color:var(--sjs-special-red,var(--red,#e60a3e));position:absolute;bottom:16px;left:50%;transform:translateX(-50%);padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-context-btn.sd-file__take-picture-button .sv-svg-icon{height:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-context-btn.sd-file__take-picture-button .sv-svg-icon use{fill:var(--sjs-general-backcolor,var(--background,#fff))}.sd-context-btn.sd-file__take-picture-button:focus,.sd-context-btn.sd-file__take-picture-button:hover{box-shadow:0 0 0 2px var(--sjs-special-red,var(--red,#e60a3e))}.sd-file__video-container{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8));position:absolute;top:0;left:0;width:100%;height:100%}.sd-file__loading-indicator{width:100%;height:100%;box-sizing:border-box;position:absolute;border:1px dashed var(--sjs-border-default,var(--border,#d6d6d6));left:0}.sd-file__loading-indicator .sd-loading-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.sd-file__choose-file-btn--disabled{opacity:.25;cursor:default}.sd-file--readonly .sd-context-btn{display:none}.sd-file--readonly .sd-file__decorator{border-color:transparent}.sd-file--readonly .sd-file__actions-container{display:none}.sd-file--readonly .sd-file__image-wrapper{background:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-file--readonly .sd-file__drag-area-placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-file--preview .sd-context-btn{display:none}.sd-file--preview .sd-file__decorator{border-color:transparent}.sd-file--preview .sd-file__image-wrapper{background:0 0}.sd-file--preview .sd-file__actions-container{display:none}.sd-file--preview .sd-file__drag-area-placeholder{color:var(--sjs-general-forecolor,var(--foreground,#161616))}.sd-hidden{display:none!important}.sd-body__navigation .sd-btn{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))));font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))))}.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action){background-color:var(--sjs-general-backcolor-dim-light,var(--background-dim-light,#f9f9f9))}.sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--action):hover{background-color:var(--sjs-editorpanel-hovercolor,var(--sjs-general-backcolor-dim-dark,#f3f3f3))}.sd-root-modern--mobile .sd-body__navigation .sd-btn,.sd-root-modern--mobile .sd-body__navigation .sv-action:not(.sv-action--hidden){flex-grow:1}.sd-root-modern--mobile .sd-body__navigation .sd-btn{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body__navigation .sv-action--hidden{display:none}:root{--sjs-transition-duration:150ms}.sd-btn{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));background:var(--sjs-questionpanel-backcolor,var(--sjs-question-background,var(--sjs-general-backcolor,var(--background,#fff))));border-radius:var(--sjs-corner-radius,4px);cursor:pointer;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-weight:600;font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)));text-align:center;color:var(--sjs-primary-backcolor,var(--primary,#19b394));border:none;outline:0;box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms),background var(--sjs-transition-duration,150ms)}.sd-btn--small{flex-grow:1;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-btn:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-btn:focus-visible{box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-btn:disabled{color:var(--sjs-general-forecolor,var(--foreground,#161616));opacity:.25;pointer-events:none}.sd-btn--action{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-btn--action:hover{color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));background-color:var(--sjs-primary-backcolor-dark,#14a48b)}.sd-btn--action:disabled{color:var(--sjs-primary-forecolor-light,var(--primary-foreground-disabled,rgba(255,255,255,.25)));pointer-events:none}.sd-btn--danger{background-color:var(--sjs-special-red,var(--red,#e60a3e));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-btn--danger:hover{background-color:var(--sjs-special-red,var(--red,#e60a3e));color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-btn--danger:disabled{color:var(--sjs-special-red-forecolor,#fff);pointer-events:none}:root{--sjs-transition-duration:150ms}.sd-body{width:100%;box-sizing:border-box}.sd-body .sd-body__page{min-width:min(100%,300px)}.sd-body .sd-body__timer{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0;box-sizing:border-box}.sd-body.sd-body--static{max-width:calc(90 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:auto;margin-right:auto;padding-top:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(10 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body.sd-body--static .sd-body__navigation,.sd-body.sd-body--static .sd-body__page,.sd-body.sd-body--static .sd-body__timer{margin-left:0;margin-right:0}.sd-body.sd-body--static .sd-body__navigation{padding-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body.sd-body--static .sd-body__navigation.sd-action-bar{padding-left:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-right:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body.sd-body--responsive{max-width:initial;padding:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box}.sd-body.sd-body--responsive .sd-page{padding:0}.sd-body.sd-body--responsive .sd-body__navigation,.sd-body.sd-body--responsive .sd-body__timer{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) 0}.sd-body.sd-body--responsive .sd-body__navigation{padding-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body.sd-body--responsive.sd-body--with-timer{max-width:calc(100% + var(--sd-timer-size) * -1.4444444444 + 6 * var(--sjs-base-unit,var(--base-unit,8px)));margin-left:auto;margin-right:auto}.sd-root-modern--mobile .sd-body.sd-body--with-timer.sd-body--responsive{max-width:initial;margin-left:0;margin-right:0}.sd-root-modern--mobile .sd-body.sd-body--responsive,.sd-root-modern--mobile .sd-body.sd-body--static{padding:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern--mobile .sd-body.sd-body--responsive .sd-body__navigation,.sd-root-modern--mobile .sd-body.sd-body--static .sd-body__navigation{padding-left:0;padding-right:0;padding-bottom:0}.sd-root--compact .sd-body.sd-body--responsive .sd-body__navigation,.sd-root--compact .sd-body.sd-body--static .sd-body__navigation{padding-top:calc(7 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body__navigation.sd-action-bar{box-sizing:border-box;padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));flex-wrap:wrap;gap:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-body--empty{min-height:400px;text-align:center;padding-top:180px;box-sizing:border-box}.sd-body--empty,.sd-body--loading{font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)))}.sd-body--empty h1,.sd-body--loading h1{font-size:var(--sjs-article-font-xx-large-fontSize,calc(4 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight,700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing,0);line-height:var(--sjs-article-font-xx-large-lineHeight,64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent,0);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-body--empty h2,.sd-body--loading h2{font-size:var(--sjs-article-font-x-large-fontSize,calc(3 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight,700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing,0);line-height:var(--sjs-article-font-x-large-lineHeight,56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent,0);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-body--empty h3,.sd-body--loading h3{font-size:var(--sjs-article-font-large-fontSize,calc(2 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight,700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing,0);line-height:var(--sjs-article-font-large-lineHeight,40px);text-indent:var(--sjs-article-font-large-paragraphIndent,0);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-body--empty h4,.sd-body--empty h5,.sd-body--empty h6,.sd-body--loading h4,.sd-body--loading h5,.sd-body--loading h6{font-size:var(--sjs-article-font-medium-fontSize,calc(1.5 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight,700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing,0);line-height:var(--sjs-article-font-medium-lineHeight,32px);text-indent:var(--sjs-article-font-medium-paragraphIndent,0);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-body--empty div,.sd-body--empty p,.sd-body--empty span,.sd-body--empty td,.sd-body--loading div,.sd-body--loading p,.sd-body--loading span,.sd-body--loading td{font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-body--empty a,.sd-body--loading a{color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-body--empty button,.sd-body--loading button{display:flex;align-items:center;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor,var(--background,#fff));border:none;border-radius:var(--sjs-corner-radius,4px);cursor:pointer;user-select:none;outline:solid calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) transparent;color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))));box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-body--empty button:hover,.sd-body--loading button:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-body--empty button:focus,.sd-body--loading button:focus{box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-body--empty button span,.sd-body--loading button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-root_background-image{background-position-x:center;position:absolute;top:0;bottom:0;left:0;right:0}:root{--sjs-transition-duration:150ms}.sd-multipletext{width:100%;table-layout:fixed;border-spacing:0;height:1px}.sd-multipletext__cell{height:100%}.sd-multipletext__cell:not(:first-of-type){padding-left:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-multipletext__item-container.sd-input:focus-within{box-shadow:var(--sjs-shadow-inner-reset,inset 0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-multipletext__item-container{display:flex;align-items:flex-start;height:100%;padding-top:0;padding-bottom:0}.sd-multipletext__item-container .sd-input{padding-top:0;padding-right:0;padding-bottom:0;border:none;box-shadow:none}.sd-multipletext__item-container .sd-input,.sd-multipletext__item-title{margin-top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-multipletext__item-title{font-size:0;line-height:0}.sd-multipletext__item-title span{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));font-size:var(--sjs-internal-font-editorfont-size);line-height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-multipletext__item-title{height:calc(100% - var(--sjs-base-unit,var(--base-unit,8px)) * 3);max-width:30%;padding-right:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-right:1px solid var(--sjs-border-default,var(--border,#d6d6d6));white-space:normal;color:var(--sjs-font-editorfont-placeholdercolor,var(--sjs-general-forecolor-light,var(--foreground-light,#909090)))}.sd-question--preview .sd-multipletext__item-title{border:none}.sd-multipletext__item{flex-grow:1}.sd-multipletext__content .sd-multipletext__item-container{position:relative}.sd-multipletext__item-container--error{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-multipletext__item-container--error .sd-input--error{background-color:transparent}.sd-multipletext-item__character-counter{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-question__content:focus-within .sd-multipletext-item__character-counter{padding-inline-end:calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-multipletext__cell{padding-left:0;padding-right:0;padding-bottom:var(--sjs-base-unit,var(--base-unit,8px));padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-multipletext__cell--error-bottom,.sd-multipletext__row:first-of-type .sd-multipletext__cell{padding-top:0}.sd-multipletext__cell--error-top,.sd-multipletext__row:last-of-type .sd-multipletext__cell{padding-bottom:0}.sd-multipletext__cell--error .sd-question__erbox{margin:0}.sd-multipletext .sd-input .sd-input{background:0 0}.sd-action{appearance:none;border:none;display:flex;align-items:center;gap:var(--sjs-base-unit,var(--base-unit,8px));background:0 0;padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));color:var(--sjs-primary-backcolor,var(--primary,#19b394));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));font-weight:600;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-style:normal;font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))));outline:0;transition:background-color var(--sjs-transition-duration,150ms)}.sd-action--negative{color:var(--sjs-special-red,var(--red,#e60a3e))}.sd-action--icon{padding:var(--sjs-base-unit,var(--base-unit,8px))}.sd-action__icon{margin-left:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-action__icon use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-action--icon .sd-action__icon{margin-left:0}.sd-action--icon use{fill:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)));transition:fill var(--sjs-transition-duration,150ms)}svg.sd-action--icon{fill:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)))}.sd-action--disabled,.sd-action:disabled{color:var(--sjs-general-forecolor,var(--foreground,#161616));cursor:default;opacity:.25;pointer-events:none}.sd-action--disabled use,.sd-action:disabled use{fill:var(--sjs-font-questiondescription-color,var(--sjs-general-forecolor-light,rgba(0,0,0,.45)))}.sd-action:not(.sd-action--pressed):focus,.sd-action:not(.sd-action--pressed):hover{outline:0;background-color:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));cursor:pointer;opacity:1}.sd-action:not(.sd-action--pressed):focus.sd-action--icon,.sd-action:not(.sd-action--pressed):hover.sd-action--icon{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-action:not(.sd-action--pressed):focus.sd-action--negative,.sd-action:not(.sd-action--pressed):hover.sd-action--negative{background-color:var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))}.sd-action:not(.sd-action--pressed):focus.sd-action--negative.sd-action--icon use,.sd-action:not(.sd-action--pressed):hover.sd-action--negative.sd-action--icon use{fill:var(--sjs-special-red,var(--red,#e60a3e))}.sd-action:not(.sd-action--pressed):focus:active,.sd-action:not(.sd-action--pressed):hover:active{opacity:.5}.sd-action__icon{display:block;width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-action--pressed:not(.sd-action--active){background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));opacity:.5}.sd-action-bar{display:flex;align-items:center}.sd-action-bar .sv-action:not(:last-child) .sv-action__content{padding-right:0}.sd-context-btn{background-color:var(--sjs-general-backcolor,var(--background,#fff));padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:calc(12.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border:none;outline:0;cursor:pointer}.sd-context-btn .sv-svg-icon{margin:0}.sd-context-btn svg{--sjs-internal-font-editorfont-size:var(--sjs-mobile-font-editorfont-size, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)));display:block;width:calc(1.5 * (var(--sjs-internal-font-editorfont-size)));height:calc(1.5 * (var(--sjs-internal-font-editorfont-size)))}.sd-context-btn use{fill:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));transition:fill var(--sjs-transition-duration,150ms)}.sd-context-btn:focus use,.sd-context-btn:hover use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-context-btn:focus.sd-context-btn--negative use,.sd-context-btn:hover.sd-context-btn--negative use{fill:var(--sjs-special-red,var(--red,#e60a3e))}.sd-context-btn:disabled{opacity:.25}.sd-context-btn--small{padding:var(--sjs-base-unit,var(--base-unit,8px))}.sd-context-btn--small svg{width:var(--sjs-internal-font-editorfont-size);height:var(--sjs-internal-font-editorfont-size)}.sd-context-btn--with-border{--box-shadow-color:var(--sjs-border-inside, var(--border-inside, rgba(0, 0, 0, 0.16)));box-shadow:0 0 0 1px var(--box-shadow-color)}.sd-context-btn--colorful use{fill:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-context-btn--colorful.sd-context-btn--negative use{fill:red}.sd-context-btn--colorful:focus,.sd-context-btn--colorful:hover{background:linear-gradient(var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1))),var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)))),linear-gradient(var(--sjs-general-backcolor,var(--background,#fff)),var(--sjs-general-backcolor,var(--background,#fff)))}.sd-context-btn--colorful:focus.sd-context-btn--negative,.sd-context-btn--colorful:hover.sd-context-btn--negative{background:linear-gradient(var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1))),var(--sjs-special-red-light,var(--red-light,rgba(230,10,62,.1)))),linear-gradient(var(--sjs-general-backcolor,var(--background,#fff)),var(--sjs-general-backcolor,var(--background,#fff)))}.sd-context-btn--colorful:focus.sd-context-btn--with-border,.sd-context-btn--colorful:hover.sd-context-btn--with-border{--box-shadow-color:var(--sjs-primary-backcolor, var(--primary, #19b394))}.sd-context-btn--colorful:focus.sd-context-btn--with-border.sd-context-btn--negative,.sd-context-btn--colorful:hover.sd-context-btn--with-border.sd-context-btn--negative{--box-shadow-color:var(--sjs-special-red, var(--red, #e60a3e))}:root{--sjs-transition-duration:150ms}.sd-completed-before-page,.sd-completedpage{align-items:center;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:700;box-sizing:border-box;text-align:center;height:auto;font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\");color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)))}.sd-completed-before-page h1,.sd-completedpage h1{font-size:var(--sjs-article-font-xx-large-fontSize,calc(4 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-xx-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-xx-large-fontWeight,700);font-style:var(--sjs-article-font-xx-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-xx-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-xx-large-letterSpacing,0);line-height:var(--sjs-article-font-xx-large-lineHeight,64px);text-indent:var(--sjs-article-font-xx-large-paragraphIndent,0);text-transform:var(--sjs-article-font-xx-large-textCase, \"none\")}.sd-completed-before-page h2,.sd-completedpage h2{font-size:var(--sjs-article-font-x-large-fontSize,calc(3 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-x-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-x-large-fontWeight,700);font-style:var(--sjs-article-font-x-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-x-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-x-large-letterSpacing,0);line-height:var(--sjs-article-font-x-large-lineHeight,56px);text-indent:var(--sjs-article-font-x-large-paragraphIndent,0);text-transform:var(--sjs-article-font-x-large-textCase, \"none\")}.sd-completed-before-page h3,.sd-completedpage h3{font-size:var(--sjs-article-font-large-fontSize,calc(2 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-large-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-large-fontWeight,700);font-style:var(--sjs-article-font-large-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-large-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-large-letterSpacing,0);line-height:var(--sjs-article-font-large-lineHeight,40px);text-indent:var(--sjs-article-font-large-paragraphIndent,0);text-transform:var(--sjs-article-font-large-textCase, \"none\")}.sd-completed-before-page h4,.sd-completed-before-page h5,.sd-completed-before-page h6,.sd-completedpage h4,.sd-completedpage h5,.sd-completedpage h6{font-size:var(--sjs-article-font-medium-fontSize,calc(1.5 * (var(--sjs-font-size,16px))));text-decoration:var(--sjs-article-font-medium-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-medium-fontWeight,700);font-style:var(--sjs-article-font-medium-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-medium-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-medium-letterSpacing,0);line-height:var(--sjs-article-font-medium-lineHeight,32px);text-indent:var(--sjs-article-font-medium-paragraphIndent,0);text-transform:var(--sjs-article-font-medium-textCase, \"none\")}.sd-completed-before-page div,.sd-completed-before-page p,.sd-completed-before-page span,.sd-completed-before-page td,.sd-completedpage div,.sd-completedpage p,.sd-completedpage span,.sd-completedpage td{font-size:var(--sjs-article-font-default-fontSize,var(--sjs-font-size,16px));text-decoration:var(--sjs-article-font-default-textDecoration, \"none\");font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-weight:var(--sjs-article-font-default-fontWeight,400);font-style:var(--sjs-article-font-default-fontStyle, \"normal\");font-stretch:var(--sjs-article-font-default-fontStretch, \"normal\");letter-spacing:var(--sjs-article-font-default-letterSpacing,0);line-height:var(--sjs-article-font-default-lineHeight,28px);text-indent:var(--sjs-article-font-default-paragraphIndent,0);text-transform:var(--sjs-article-font-default-textCase, \"none\")}.sd-completed-before-page a,.sd-completedpage a{color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-completed-before-page button,.sd-completedpage button{display:flex;align-items:center;padding:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));vertical-align:baseline;text-align:center;background-color:var(--sjs-general-backcolor,var(--background,#fff));border:none;border-radius:var(--sjs-corner-radius,4px);cursor:pointer;user-select:none;outline:solid calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px)))) transparent;color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:600;font-style:normal;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));font-size:var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px));line-height:calc(1.5 * (var(--sjs-font-questiontitle-size,var(--sjs-font-size,16px))));box-shadow:var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15)),0 0 0 0 var(--sjs-primary-backcolor,var(--primary,#19b394));transition:box-shadow var(--sjs-transition-duration,150ms)}.sd-completed-before-page button:hover,.sd-completedpage button:hover{background-color:var(--sjs-questionpanel-hovercolor,var(--sjs-general-backcolor-dark,#f8f8f8))}.sd-completed-before-page button:focus,.sd-completedpage button:focus{box-shadow:var(--sjs-shadow-small-reset,0 0 0 0 rgba(0,0,0,.15)),0 0 0 2px var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-completed-before-page button span,.sd-completedpage button span{display:flex;align-items:center;flex-grow:1;justify-content:center}.sd-completedpage:after,.sd-completedpage:before{display:block;width:calc(9 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:calc(50% - 4.5 * var(--sjs-base-unit,var(--base-unit,8px)));content:\"\"}.sd-completedpage:before{height:calc(13 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-completedpage:after{height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__image-button-left{display:none}.sd-progress-buttons__image-button-right{display:none}.sd-progress-buttons__image-button--hidden{visibility:hidden}.sd-progress-buttons__page-description{display:none}.sd-progress-buttons{padding:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));display:flex;flex-direction:column}.sd-progress-buttons__list-container{display:flex;overflow:hidden;margin:0 calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__connector{display:none}.sd-progress-buttons__list{display:inline-flex;flex-direction:row;flex-grow:1;margin:0 auto;padding:0}.sd-progress-buttons__list li{display:flex;flex-grow:1;flex-shrink:1;flex-basis:0;position:relative;flex-wrap:nowrap;text-align:center;flex-direction:column;cursor:pointer}.sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{display:block;content:\"\";height:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45));opacity:.5;position:absolute;bottom:calc(1.125 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(50% + 4px);width:calc(100% - 4px);pointer-events:none}.sd-progress-buttons__list li .sd-progress-buttons__button{position:relative;display:flex;content:attr(data-page-number);width:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:calc(.75 * (var(--sjs-base-unit,var(--base-unit,8px))));border:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent;border-radius:50%;align-self:center;z-index:1;font-size:calc(.75 * (var(--sjs-font-size,16px)));font-weight:600;line-height:var(--sjs-font-size,16px);justify-content:center;color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background{position:absolute;width:calc(2.5 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));top:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))));left:calc(-1.25 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));z-index:-2}.sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-content{position:absolute;width:100%;height:100%;top:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))));left:calc(-.5 * (var(--sjs-base-unit,var(--base-unit,8px))));background-color:var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45));opacity:.5;z-index:-1;border:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid transparent;border-radius:50%;box-sizing:content-box}.sd-progress-buttons__list li:hover .sd-progress-buttons__button{color:var(--sjs-primary-backcolor,var(--primary,#19b394));padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px))));border:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-primary-backcolor,var(--primary,#19b394));background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff))}.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-background{left:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__list li:hover .sd-progress-buttons__button .sd-progress-buttons__button-content{top:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))));left:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))));border:calc(.75 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-primary-backcolor,var(--primary,#19b394));background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed:not(:first-child)>.sd-progress-buttons__connector{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394))}.sd-progress-buttons__list .sd-progress-buttons__list-element--passed .sd-progress-buttons__button .sd-progress-buttons__button-content{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--current:not(:first-child)>.sd-progress-buttons__connector{background-color:var(--sjs-primary-backcolor,var(--primary,#19b394));opacity:1}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button{border:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-primary-backcolor,var(--primary,#19b394));background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));color:var(--sjs-primary-backcolor,var(--primary,#19b394));padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));margin:calc(.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-background{left:calc(-.75 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__list .sd-progress-buttons__list-element--current .sd-progress-buttons__button .sd-progress-buttons__button-content{border:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px)))) solid var(--sjs-primary-backcolor,var(--primary,#19b394));background-color:var(--sjs-primary-forecolor,var(--primary-foreground,#fff));opacity:1}.sd-progress-buttons__page-title{display:flex;justify-content:center;align-items:center;font-size:calc(.75 * (var(--sjs-font-size,16px)));font-weight:600;line-height:var(--sjs-font-size,16px);flex-grow:1;text-align:center;padding:0 calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons__header .sd-progress-buttons__page-title{margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-progress-buttons__footer .sd-progress-buttons__page-title{margin-top:var(--sjs-base-unit,var(--base-unit,8px));margin-bottom:0;justify-content:flex-end;padding:0;color:var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45))}.sd-progress-buttons--bottom{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(5 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(4 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));flex-direction:column-reverse}.sd-progress-buttons--bottom .sd-progress-buttons__list li{flex-direction:column-reverse}.sd-progress-buttons--bottom .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{top:calc(1.125 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--bottom .sd-progress-buttons__page-title{margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:0}.sd-progress-buttons--bottom .sd-progress-buttons__header .sd-progress-buttons__page-title{margin-top:var(--sjs-base-unit,var(--base-unit,8px));margin-bottom:0}.sd-progress-buttons--bottom .sd-progress-buttons__footer .sd-progress-buttons__page-title{margin-top:0;margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-progress-buttons--numbered .sd-progress-buttons__list-container{margin:0 calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{bottom:calc(2.175 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(50% + 8px);width:calc(100% - 8px)}.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button{width:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li .sd-progress-buttons__button .sd-progress-buttons__button-background{height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(4.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--numbered .sd-progress-buttons__list li:hover .sd-progress-buttons__button{padding:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--with-titles .sd-progress-buttons__list-container{margin:0}.sd-progress-buttons--no-titles .sd-progress-buttons__list,.sd-root-modern--mobile .sd-progress-buttons__list{justify-content:space-between;width:100%}.sd-progress-buttons--no-titles .sd-progress-buttons__list li,.sd-root-modern--mobile .sd-progress-buttons__list li{flex-grow:0}.sd-progress-buttons--bottom.sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{top:calc(2.175 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern--mobile .sd-progress-buttons{padding:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px)))) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-progress-buttons--fit-survey-width{max-width:calc(90 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;width:100%;margin:auto}[dir=rtl] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction: rtl\"] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction:rtl\"] .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{right:unset;left:calc(50% + 4px)}[dir=rtl] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction: rtl\"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector,[style*=\"direction:rtl\"] .sd-progress-buttons--numbered .sd-progress-buttons__list li:not(:first-child)>.sd-progress-buttons__connector{right:unset;left:calc(50% + 8px)}.sv_progress-toc{padding:var(--sjs-base-unit,var(--base-unit,8px));max-width:calc(42 * (var(--sjs-base-unit,var(--base-unit,8px))));height:100%;background:var(--sjs-general-backcolor,var(--background,#fff));box-sizing:border-box;min-width:calc(32 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv_progress-toc .sv-list__item.sv-list__item--selected .sv-list__item-body{background:var(--sjs-primary-backcolor-light,var(--primary-light,rgba(25,179,148,.1)));color:var(--sjs-general-forecolor,var(--foreground,#161616));font-weight:400}.sv_progress-toc .sv-list__item span{white-space:break-spaces}.sv_progress-toc .sv-list__item-body{padding-inline-start:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-inline-end:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-corner-radius,4px);padding-top:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv_progress-toc--left{border-right:1px solid var(--sjs-border-default,var(--border,#d6d6d6))}.sv_progress-toc--right{border-left:1px solid var(--sjs-border-default,var(--border,#d6d6d6))}.sv_progress-toc--mobile{position:fixed;top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));right:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));width:auto;min-width:auto;height:auto;background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));z-index:15;border-radius:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv_progress-toc--mobile>div{width:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));height:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv_progress-toc--mobile:hover{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3))}.sd-title+.sv-components-row>.sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile),.sd-title~.sv-components-row>.sv-components-column .sv_progress-toc:not(.sv_progress-toc--mobile){margin-top:2px}.sv_progress-toc.sv_progress-toc--sticky{position:sticky;height:auto;overflow-y:auto;top:0}.sd-list{padding-right:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-left:calc(.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-list__item{padding:0}.sd-list__item-body{padding-block:calc(1.5 * (var(--sjs-base-unit,var(--base-unit,8px))));border-radius:var(--sjs-corner-radius,4px);font-size:var(--sjs-font-size,16px);line-height:calc(1.5 * (var(--sjs-font-size,16px)))}.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected){outline:0}.sd-list__item.sd-list__item--focused:not(.sd-list__item--selected) .sd-list__item-body{padding-block:calc(1.25 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-timer{z-index:2;position:fixed;bottom:calc(var(--sd-timer-size)/ 144 * 32);right:var(--sjs-base-unit,var(--base-unit,8px));background:#fff;width:var(--sd-timer-size);height:var(--sd-timer-size);margin-right:calc(var(--sd-timer-size)/ 144 * 32);display:flex;border-radius:100%;padding:calc(var(--sd-timer-size)/ 144 * 8);box-shadow:var(--sjs-shadow-large,0 8px 16px 0 rgba(0,0,0,.1)),var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1));box-sizing:border-box}.sd-timer--top{top:calc(var(--sd-timer-size)/ 144 * 32);margin-top:calc(4 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(-1 * var(--sd-timer-size))}.sd-timer--bottom{bottom:calc(var(--sd-timer-size)/ 144 * 32);margin-top:calc(var(--sd-timer-size) * -1.2222222222)}.sd-timer__progress{--sd-timer-stroke-background-color:var(--background-dim, #f3f3f3);--sd-timer-stroke-background-width:2px;stroke-linecap:round;height:100%;width:100%;transform:rotate(-90deg);stroke:var(--sjs-primary-backcolor,var(--primary,#19b394));stroke-dashoffset:0;fill:none;stroke-width:4px}.sd-timer__progress--animation{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}.sd-timer__text-container{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:var(--sjs-base-unit,var(--base-unit,8px));color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:700;font-size:calc(var(--sd-timer-size)/ 144 * 32)}.sd-timer__text--major{color:var(--sjs-primary-backcolor,var(--primary,#19b394));font-weight:700;font-size:calc(var(--sd-timer-size)/ 144 * 32)}.sd-timer__text--minor{color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090));font-weight:600;font-size:calc(.75 * (var(--sjs-font-size,16px)))}.sv-header{position:relative;background-color:var(--sjs-header-backcolor,var(--sjs-primary-backcolor,var(--primary,#19b394)))}.sv-header__overlap{padding-bottom:calc(8 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-header__overlap~div .sd-body,.sv-header__overlap~div .sv-body{margin-top:calc(-14 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern--mobile .sv-header__overlap{padding-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern--mobile .sv-header__overlap~div .sd-body,.sd-root-modern--mobile .sv-header__overlap~div .sv-body{margin-top:calc(-5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-header__overlap.sv-header__without-background{margin-bottom:0;padding-bottom:0}.sv-header__overlap.sv-header__without-background~div .sd-body,.sv-header__overlap.sv-header__without-background~div .sv-body{margin-top:0}.sv-header__without-background .sv-header--mobile,.sv-header__without-background .sv-header__content{padding-bottom:0}.sv-header__content{padding:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))));box-sizing:border-box;height:100%;position:relative;display:grid;gap:0;grid-auto-columns:1fr 1fr 1fr;grid-auto-rows:1fr 1fr 1fr}.sv-header__content--static{max-width:calc(90 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:auto;margin-right:auto}.sv-header__background-image{width:100%;height:100%;position:absolute;top:0;left:0;right:0;border:0;background-position-x:center}.sv-header__background-image--contain{background-repeat:no-repeat}.sv-header__cell{position:relative}.sv-header__cell-content{display:flex;flex-direction:column;position:absolute;width:max-content;top:0;bottom:0}.sv-header__cell--left .sv-header__cell-content{left:0}.sv-header__cell--center .sv-header__cell-content{min-width:100%;left:50%;transform:translateX(-50%)}.sv-header__cell--right .sv-header__cell-content{right:0}.sv-header__logo{display:flex}.sv-header__logo img{display:block}.sv-header__title{display:flex}.sv-header__title .sd-title{--header-title-font-size:var(--sjs-font-headertitle-size, calc(2 * (var(--sjs-font-size, 16px))));font-size:var(--header-title-font-size);line-height:calc(1.25 * (var(--header-title-font-size)));color:var(--sjs-font-headertitle-color,var(--sjs-primary-forecolor,var(--primary-foreground,#fff)));font-family:var(--sjs-font-headertitle-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-headertitle-weight,700);margin:0}.sv-header__logo~.sv-header__title{margin-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-header__logo~.sv-header__description{margin-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sv-header__title~.sv-header__description{margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sv-header__description{display:flex}.sv-header__description .sd-description{--header-description-font-size:var(--sjs-font-headerdescription-size, var(--sjs-font-size, 16px));font-size:var(--header-description-font-size);line-height:calc(1.5 * (var(--header-description-font-size)));color:var(--sjs-font-headerdescription-color,var(--sjs-primary-forecolor,var(--primary-foreground,#fff)));font-family:var(--sjs-font-headerdescription-family,var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family))));font-weight:var(--sjs-font-headerdescription-weight,600);margin:0}.sv-header__content .sd-header__text h3{margin:0}.sv-header--mobile{padding:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));position:relative;z-index:1}.sv-header--mobile .sv-header__logo img{max-width:100%}.sv-header__background-color--custom .sv-header__title .sd-title,.sv-header__background-color--none .sv-header__title .sd-title{color:var(--sjs-font-pagetitle-color,var(--sjs-general-dim-forecolor,rgba(0,0,0,.91)))}.sv-header__background-color--custom .sv-header__description .sd-description,.sv-header__background-color--none .sv-header__description .sd-description{--header-description-font-size:var(--sjs-font-headerdescription-size, var(--sjs-font-size, 16px));font-size:var(--header-description-font-size);line-height:calc(1.5 * (var(--header-description-font-size)));color:var(--sjs-font-pagedescription-color,var(--sjs-general-dim-forecolor-light,rgba(0,0,0,.45)))}@keyframes rotationAnimation{from{rotate:0deg}to{rotate:360deg}}.sd-loading-indicator{height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-loading-indicator .sv-svg-icon{height:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(6 * (var(--sjs-base-unit,var(--base-unit,8px))));animation-name:rotationAnimation;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:1s}.sd-components-container,sv-components-container{display:flex}.sv-components-row{display:flex;flex-direction:row;width:100%}.sv-components-column{display:flex;flex-direction:column}.sv-components-column--expandable{flex-grow:1}.sv-components-row>.sv-components-column--expandable{width:1px}.sjs_sp_container{position:relative;max-width:100%}.sjs_sp_controls{position:absolute;left:0;bottom:0}.sjs_sp_controls>button{user-select:none}.sjs_sp_container>div>canvas:focus{outline:0}.sjs_sp_placeholder{display:flex;align-items:center;justify-content:center;position:absolute;z-index:1;user-select:none;pointer-events:none;width:100%;height:100%}.sjs_sp_canvas{position:relative;max-width:100%;display:block}.sjs_sp__background-image{position:absolute;top:0;left:0;object-fit:cover;max-width:100%;width:100%;height:100%}.sd-root-modern{--sd-base-padding:calc(5 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-base-vertical-padding:calc(4 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-page-vertical-padding:calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-root-modern.sd-root-modern--mobile{--sd-base-padding:calc(3 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-base-vertical-padding:calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));--sd-page-vertical-padding:calc(2 * var(--sjs-base-unit, var(--base-unit, 8px)));--sjs-mobile-font-editorfont-size:Max(16px, var(--sjs-font-editorfont-size, var(--sjs-font-size, 16px)))}.sd-root-modern.sd-root-modern--mobile .sd-element__num{float:none;margin-inline-start:0;width:auto;padding-inline-start:0;padding-inline-end:0}.sd-root-modern.sd-root-modern--mobile .sd-element__num+span{float:none;width:auto}.sd-root-modern.sd-root-modern--mobile .sd-element__title--expandable:before{inset-inline-start:calc(-2.5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-title.sd-container-modern__title{flex-direction:column}.sd-root-modern.sd-root-modern--mobile .sd-header__text{min-width:100%}.sd-root-modern.sd-root-modern--mobile .sd-question.sd-question--table>.sd-question__content{padding-top:0;--animation-padding-top:0}.sd-root-modern.sd-root-modern--mobile .sd-question--scroll,.sd-root-modern.sd-root-modern--mobile .sd-question--table{overflow-x:visible}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-matrix__cell{display:flex;align-items:flex-start;border-top:none;border-bottom:none}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-matrix__cell .sd-matrix__responsive-title{margin-left:var(--sjs-base-unit,var(--base-unit,8px));text-align:left}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-matrix__cell:first-of-type{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern.sd-root-modern--mobile .sd-table thead{display:none}.sd-root-modern.sd-root-modern--mobile .sd-table tr{display:flex;flex-direction:column}.sd-root-modern.sd-root-modern--mobile .sd-matrix__table .sd-table__row{padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern.sd-root-modern--mobile .sd-table__row{padding-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table__row--expanded .sd-table__cell-action--show-detail-mobile{display:none}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) .sd-table__row{padding-bottom:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) .sd-table__row.sd-table__row--has-end-actions{padding-bottom:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions){padding-bottom:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type){padding-bottom:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--has-end-actions):not(:last-of-type)::after{bottom:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before,.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after{z-index:12;content:\" \";display:block;position:relative;height:1px;background-color:var(--sjs-border-light,var(--border-light,#eaeaea));left:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))));width:calc(100% + 4 * var(--sjs-base-unit,var(--base-unit,8px)));z-index:12}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tr:not(.sd-table__row--expanded)::after{bottom:0}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tfoot tr{padding-top:calc(5 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-matrix__table) tfoot tr::before{background-color:transparent}.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--remove-row,.sd-root-modern.sd-root-modern--mobile .sd-table:not(.sd-table--has-footer) .sd-table__row:last-of-type .sd-table__cell-action--show-detail-mobile{margin-bottom:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-matrix__label{justify-content:flex-start}.sd-root-modern.sd-root-modern--mobile .sd-table__cell{border-top:none;border-bottom:none;display:block;padding-top:0;padding-bottom:0;text-align:left}.sd-root-modern.sd-root-modern--mobile .sd-table__cell{margin-top:calc(2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--error{margin-top:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--error.sd-table__cell--error-bottom .sd-question__erbox{margin-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern.sd-root-modern--mobile .sd-matrix__cell,.sd-root-modern.sd-root-modern--mobile .sd-table__cell:first-of-type{margin-top:0}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--footer:not(.sd-question--answered){display:none}.sd-root-modern.sd-root-modern--mobile .sd-table__responsive-title{padding-bottom:var(--sjs-base-unit,var(--base-unit,8px));font-weight:600;display:block;text-align:left}.sd-root-modern.sd-root-modern--mobile .sd-table__responsive-title .sv-string-viewer{white-space:normal}.sd-root-modern.sd-root-modern--mobile .sd-table--no-header{padding-top:0}.sd-root-modern.sd-root-modern--mobile .sd-table--no-header .sd-table__responsive-title{display:none}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--detail-panel{padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--detail-panel .sd-panel__content{padding-top:0}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-table__cell--actions{width:auto;margin-top:var(--sjs-base-unit,var(--base-unit,8px));margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-table__cell--actions .sd-action-bar{margin-right:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-left:calc(-3 * (var(--sjs-base-unit,var(--base-unit,8px))));background:var(--sjs-general-backcolor,var(--background,#fff))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-table__cell--actions #show-detail-mobile{flex-grow:1}.sd-root-modern.sd-root-modern--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn{opacity:1;padding:var(--sjs-base-unit,var(--base-unit,8px)) calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn .sd-action__icon{display:none}.sd-root-modern.sd-root-modern--mobile .sd-action.sd-action.sd-matrixdynamic__remove-btn:after{content:attr(title)}.sd-root-modern.sd-root-modern--mobile .sd-matrixdynamic__footer{padding-top:var(--sjs-base-unit,var(--base-unit,8px));margin-bottom:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--footer-total:not(.sd-matrix__cell),.sd-root-modern.sd-root-modern--mobile .sd-table__cell--row-text:not(.sd-matrix__cell){color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-root-modern.sd-root-modern--mobile .sd-matrixdropdown.sd-table tr::after{bottom:calc(-2 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-matrixdropdown.sd-table tr:last-child:after{content:none}.sd-root-modern.sd-root-modern--mobile .sd-table__cell.sd-table__cell--error-top{margin-top:0}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--error-top:first-of-type~.sd-table__cell:nth-of-type(2){margin-top:0}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--error-top .sd-question__erbox{margin-top:calc(3 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:calc(-1 * (var(--sjs-base-unit,var(--base-unit,8px))))}.sd-root-modern.sd-root-modern--mobile .sd-table__cell--error-top:first-of-type .sd-question__erbox{margin-top:calc(0 * (var(--sjs-base-unit,var(--base-unit,8px))));margin-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-root-modern.sd-root-modern--mobile .sv-ranking-item__icon-container{margin-left:0;margin-right:0}.sd-multipletext--mobile .sd-multipletext__cell{display:block}.sd-multipletext--mobile .sd-multipletext__cell:not(:first-of-type){padding-left:0;padding-top:var(--sjs-base-unit,var(--base-unit,8px))}.sd-multipletext--mobile .sd-multipletext__cell :not(:last-of-type){padding-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-multipletext--mobile .sd-multipletext__item-container{padding-top:var(--sjs-base-unit,var(--base-unit,8px));padding-bottom:var(--sjs-base-unit,var(--base-unit,8px))}.sd-multipletext--mobile .sd-multipletext__item-title{max-width:none;border-right:none;width:100%;padding:var(--sjs-base-unit,var(--base-unit,8px)) 0;margin:0}.sd-multipletext--mobile .sd-multipletext__item{flex-basis:0;min-width:0}.sd-multipletext--mobile .sd-multipletext__item .sd-input{padding:0;margin:0}.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within,.sd-multipletext--mobile .sd-multipletext__item-container--answered{flex-direction:column}.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title,.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title{padding:0}.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item-title span,.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item-title span{font-size:calc(.75 * (var(--sjs-font-size,16px)));line-height:var(--sjs-font-size,16px)}.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item,.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item{flex-basis:auto;min-width:auto;width:100%}.sd-multipletext--mobile .sd-multipletext__item-container--allow-focus:focus-within .sd-multipletext__item .sd-input,.sd-multipletext--mobile .sd-multipletext__item-container--answered .sd-multipletext__item .sd-input{width:100%}.sd-selectbase--mobile .sd-selectbase--multi-column{flex-direction:column}.sd-selectbase--mobile .sd-selectbase--multi-column .sd-selectbase__column:not(:last-child){padding-right:0}body{--sv-defaultV2-mark:true}.sd-root-modern{-webkit-font-smoothing:antialiased;--sd-mobile-width:600px;--sd-timer-size:calc(18 * var(--sjs-base-unit, var(--base-unit, 8px)));width:100%;font-family:var(--sjs-font-family,var(--font-family,var(--sjs-default-font-family)));background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));position:relative}@-moz-document url-prefix(){.sd-root-modern,.sd-root-modern *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default,var(--border,#d6d6d6)) transparent}}.sd-root-modern ::-webkit-scrollbar,.sd-root-modern::-webkit-scrollbar{width:12px;height:12px;background-color:transparent}.sd-root-modern ::-webkit-scrollbar-thumb,.sd-root-modern::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sd-root-modern ::-webkit-scrollbar-track,.sd-root-modern::-webkit-scrollbar-track{background:0 0}.sd-root-modern ::-webkit-scrollbar-thumb:hover,.sd-root-modern::-webkit-scrollbar-thumb:hover{border:2px solid transparent;background-color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sd-root-modern form{position:relative}.sd-root-modern--animation-disabled *{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.sd-root-modern.sd-root-modern--full-container{width:100%;height:100%;overflow:auto;position:relative}.sd-root-modern--mobile{--sd-timer-size:calc(9 * var(--sjs-base-unit, var(--base-unit, 8px)))}.sd-root-modern__wrapper{position:relative}.sd-root-modern__wrapper--has-image{min-height:100%}.sd-root-modern--full-container .sd-root-modern__wrapper--fixed{position:static;width:100%;height:100%}.sd-root-modern--full-container .sd-root-modern__wrapper--fixed form{overflow:auto;width:100%;max-height:100%}@-moz-document url-prefix(){.sv-popup .sv-popup__scrolling-content,.sv-popup .sv-popup__scrolling-content *{scrollbar-width:thin;scrollbar-color:var(--sjs-border-default,var(--border,#d6d6d6)) transparent}}.sv-popup .sv-popup__scrolling-content ::-webkit-scrollbar,.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar{width:12px;height:12px;background-color:transparent}.sv-popup .sv-popup__scrolling-content ::-webkit-scrollbar-thumb,.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:32px;background-color:var(--sjs-border-default,var(--border,#d6d6d6))}.sv-popup .sv-popup__scrolling-content ::-webkit-scrollbar-track,.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-track{background:0 0}.sv-popup .sv-popup__scrolling-content ::-webkit-scrollbar-thumb:hover,.sv-popup .sv-popup__scrolling-content::-webkit-scrollbar-thumb:hover{border:2px solid transparent;background-color:var(--sjs-general-forecolor-light,var(--foreground-light,#909090))}.sv-components-container-center{position:sticky;top:0}.sv-root--sticky-top .sv-components-container-center{z-index:15}.sv-root--sticky-top.sd-progress--pages .sv-components-container-center{background-color:var(--sjs-general-backcolor-dim,var(--background-dim,#f3f3f3));box-shadow:var(--sjs-shadow-medium,0 2px 6px 0 rgba(0,0,0,.1)),var(--sjs-shadow-small,0 1px 2px 0 rgba(0,0,0,.15))}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIiUzQ2lucHV0JTIwY3NzJTIwMSUzRSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztFQUlFLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsZ0ZBQWdGLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsd0dBQXdHLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsMEdBQTBHLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsa0hBQWtILENBQUMsd0pBQXdKLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsZ0ZBQWdGLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsd0dBQXdHLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsMEdBQTBHLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsa0hBQWtILENBQUMsd0pBQXdKLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsZ0ZBQWdGLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMseUJBQXlCLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsK0RBQStELENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENBQUMsd0dBQXdHLENBQUMsV0FBVyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsb0hBQW9ILENB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QUFvRCxxQkFBcUIsQ0FBQyw0RkFBNEYsZUFBZSxDQUFDLEtBQUssd0JBQXdCLENBQUMsZ0JBQWdCLGtDQUFrQyxDQUFDLHVCQUF1QixDQUFDLHNFQUFzRSxDQUFDLFVBQVUsQ0FBQyxvRkFBb0YsQ0FBQywrRUFBK0UsQ0FBQyxpQkFBaUIsQ0FBQyw0QkFBNEIsa0NBQWtDLG9CQUFvQixDQUFDLDJFQUEyRSxDQUFDLENBQUMsdUVBQXVFLFVBQVUsQ0FBQyxXQUFXLENBQUMsNEJBQTRCLENBQUMsbUZBQW1GLDRCQUE0QixDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLGdFQUFnRSxDQUFDLG1GQUFtRixjQUFjLENBQUMsK0ZBQStGLDRCQUE0QixDQUFDLG1GQUFtRixDQUFDLHFCQUFxQixpQkFBaUIsQ0FBQyxzQ0FBc0MsaUNBQWlDLENBQUMsOEJBQThCLENBQUMsNEJBQTRCLENBQUMseUJBQXlCLENBQUMsK0NBQStDLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixxRUFBcUUsQ0FBQyx5QkFBeUIsaUJBQWlCLENBQUMsb0NBQW9DLGVBQWUsQ0FBQyxnRUFBZ0UsZUFBZSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMscUVBQXFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLDRCQUE0QixnRkFBZ0Ysb0JBQW9CLENBQUMsMkVBQTJFLENBQUMsQ0FBQyxxSEFBcUgsVUFBVSxDQUFDLFdBQVcsQ0FBQyw0QkFBNEIsQ0FBQyxpSUFBaUksNEJBQTRCLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsZ0VBQWdFLENBQUMsaUlBQWlJLGNBQWMsQ0FBQyw2SUFBNkksNEJBQTRCLENBQUMsbUZBQW1GLENBQUMsZ0NBQWdDLGVBQWUsQ0FBQyxLQUFLLENBQUMscURBQXFELFVBQVUsQ0FBQyx3RUFBd0UsK0VBQStFLENBQUMsa0hBQWtIIiwiZmlsZSI6InN1cnZleS5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBzdXJ2ZXlqcyAtIFN1cnZleSBKYXZhU2NyaXB0IGxpYnJhcnkgdjEuMTEuNVxuICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMjQgRGV2c29mdCBCYWx0aWMgT8OcICAtIGh0dHA6Ly9zdXJ2ZXlqcy5pby9cbiAqIExpY2Vuc2U6IE1JVCAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApXG4gKi9AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0ttdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzA0NjAtMDUyRixVKzFDODAtMUM4OCxVKzIwQjQsVSsyREUwLTJERkYsVStBNjQwLUE2OUYsVStGRTJFLUZFMkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN1bXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU09tdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3ltdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzAzNzAtMDNGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUzJtdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzA1OTAtMDVGRixVKzIwMEMtMjAxMCxVKzIwQUEsVSsyNUNDLFUrRkIxRC1GQjRGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTQ211MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMUVBMC0xRUY5LFUrMjBBQn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzAxMDAtMDI0RixVKzAyNTksVSsxRTAwLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMENGLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMjAwMC0yMDZGLFUrMjA3NCxVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTS211MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzg4LFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzAzMDEsVSswNDAwLTA0NUYsVSswNDkwLTA0OTEsVSswNEIwLTA0QjEsVSsyMTE2fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wM0ZGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDU5MC0wNUZGLFUrMjAwQy0yMDEwLFUrMjBBQSxVKzI1Q0MsVStGQjFELUZCNEZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswMTAyLTAxMDMsVSswMTEwLTAxMTEsVSswMTI4LTAxMjksVSswMTY4LTAxNjksVSswMUEwLTAxQTEsVSswMUFGLTAxQjAsVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMjRGLFUrMDI1OSxVKzFFMDAtMUVGRixVKzIwMjAsVSsyMEEwLTIwQUIsVSsyMEFELTIwQ0YsVSsyMTEzLFUrMkM2MC0yQzdGLFUrQTcyMC1BN0ZGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTLW11dy53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSsyMDAwLTIwNkYsVSsyMDc0LFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkR9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDODgsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6XCJPcGVuIFNhbnNcIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjM0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTdW11MWFCLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxRjAwLTFGRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN5bXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMybXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswNTkwLTA1RkYsVSsyMDBDLTIwMTAsVSsyMEFBLFUrMjVDQyxVK0ZCMUQtRkI0Rn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3YzNC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0NtdTFhQi53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzFFQTAtMUVGOSxVKzIwQUJ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNHbXUxYUIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyNEYsVSswMjU5LFUrMUUwMC0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDRixVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpcIk9wZW4gU2Fuc1wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92MzQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMtbXV3LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMDAwMC0wMEZGLFUrMDEzMSxVKzAxNTItMDE1MyxVKzAyQkItMDJCQyxVKzAyQzYsVSswMkRBLFUrMDJEQyxVKzIwMDAtMjA2RixVKzIwNzQsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRH06cm9vdHstLWZvbnQtZmFtaWx5OlwiT3BlbiBTYW5zXCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmfTpyb290ey0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb246MTUwbXN9LnN2LWFjdGlvbi1iYXJ7ZGlzcGxheTpmbGV4O2JveC1zaXppbmc6Y29udGVudC1ib3g7cG9zaXRpb246cmVsYXRpdmU7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1sZWZ0OmF1dG87b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uc3YtYWN0aW9uLWJhci1zZXBhcmF0b3J7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MXB4O2hlaWdodDoyNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpfS5zdi1hY3Rpb24tYmFyLS1kZWZhdWx0LXNpemUtbW9kZSAuc3YtYWN0aW9uLWJhci1zZXBhcmF0b3J7bWFyZ2luOjAgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnN2LWFjdGlvbi1iYXItLXNtYWxsLXNpemUtbW9kZSAuc3YtYWN0aW9uLWJhci1zZXBhcmF0b3J7bWFyZ2luOjAgY2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1hY3Rpb24tYmFyLWl0ZW17LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOmNhbGMoLjUgKiAodmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSkpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXB9YnV0dG9uLnN2LWFjdGlvbi1iYXItaXRlbXtvdmVyZmxvdzpoaWRkZW59LnN2LWFjdGlvbi1iYXItLWRlZmF1bHQtc2l6ZS1tb2RlIC5zdi1hY3Rpb24tYmFyLWl0ZW17aGVpZ2h0OmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTttYXJnaW46MCB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc3YtYWN0aW9uLWJhci0tc21hbGwtc2l6ZS1tb2RlIC5zdi1hY3Rpb24tYmFyLWl0ZW17aGVpZ2h0OmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2ZvbnQtc2l6ZTpjYWxjKC43NSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTttYXJnaW46MCBjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWFjdGlvbjpmaXJzdC1vZi10eXBlIC5zdi1hY3Rpb24tYmFyLWl0ZW17bWFyZ2luLWlubGluZS1zdGFydDowfS5zdi1hY3Rpb246bGFzdC1vZi10eXBlIC5zdi1hY3Rpb24tYmFyLWl0ZW17bWFyZ2luLWlubGluZS1lbmQ6MH0uc3YtYWN0aW9uLWJhci0tZGVmYXVsdC1zaXplLW1vZGUgLnN2LWFjdGlvbi1iYXItaXRlbV9fdGl0bGUtLXdpdGgtaWNvbnttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zdi1hY3Rpb24tYmFyLS1zbWFsbC1zaXplLW1vZGUgLnN2LWFjdGlvbi1iYXItaXRlbV9fdGl0bGUtLXdpdGgtaWNvbnttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtYWN0aW9uLWJhci1pdGVtX19pY29uIHN2Z3tkaXNwbGF5OmJsb2NrfS5zdi1hY3Rpb24tYmFyLWl0ZW1fX2ljb24gdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1hY3Rpb24tYmFyLWl0ZW06bm90KC5zdi1hY3Rpb24tYmFyLWl0ZW0tLXByZXNzZWQpOmZvY3VzOmVuYWJsZWQsLnN2LWFjdGlvbi1iYXItaXRlbTpub3QoLnN2LWFjdGlvbi1iYXItaXRlbS0tcHJlc3NlZCk6aG92ZXI6ZW5hYmxlZHtvdXRsaW5lOjA7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3YtYWN0aW9uLWJhci1pdGVtLS1hY3RpdmUuc3YtYWN0aW9uLWJhci1pdGVtLS1wcmVzc2VkOmZvY3VzLC5zdi1hY3Rpb24tYmFyLWl0ZW0tLWFjdGl2ZS5zdi1hY3Rpb24tYmFyLWl0ZW0tLXByZXNzZWQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjB9LnN2LWFjdGlvbi1iYXItaXRlbTpub3QoLnN2LWFjdGlvbi1iYXItaXRlbS0tcHJlc3NlZCk6YWN0aXZlOmVuYWJsZWR7b3BhY2l0eTouNX0uc3YtYWN0aW9uLWJhci1pdGVtOmRpc2FibGVke29wYWNpdHk6LjI1O2N1cnNvcjpkZWZhdWx0fS5zdi1hY3Rpb24tYmFyLWl0ZW1fX3RpdGxle2NvbG9yOmluaGVyaXQ7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uc3YtYWN0aW9uLWJhci1pdGVtLS1zZWNvbmRhcnkgLnN2LWFjdGlvbi1iYXItaXRlbV9faWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtc2Vjb25kYXJ5LWJhY2tjb2xvcix2YXIoLS1zZWNvbmRhcnksI2ZmOTgxNCkpfS5zdi1hY3Rpb24tYmFyLWl0ZW0tLWFjdGl2ZSAuc3YtYWN0aW9uLWJhci1pdGVtX19pY29uIHVzZXtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc3YtYWN0aW9uLWJhci1pdGVtLWRyb3Bkb3duey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtkaXNwbGF5OmZsZXg7aGVpZ2h0OmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6Y2FsYyguNSAqICh2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpKSk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpfS5zdi1leHBhbmQtYWN0aW9uOmJlZm9yZXtjb250ZW50OlwiXCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDJTNGeG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J3V0Zi04JyUzRiUzRSUzQyEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgLS0lM0UlM0NzdmcgdmVyc2lvbj0nMS4xJyBpZD0nTGF5ZXJfMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCAxMCAxMCcgc3R5bGU9J2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAgMTA7JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3N0eWxlIHR5cGU9J3RleHQvY3NzJyUzRSAuc3QwJTdCZmlsbDolMjM0MDQwNDA7JTdEJTBBJTNDL3N0eWxlJTNFJTNDcG9seWdvbiBjbGFzcz0nc3QwJyBwb2ludHM9JzIsMiAwLDQgNSw5IDEwLDQgOCwyIDUsNSAnLyUzRSUzQy9zdmclM0UlMEFcIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtoZWlnaHQ6MTBweDt3aWR0aDoxMnB4O21hcmdpbjphdXRvIDhweH0uc3YtZXhwYW5kLWFjdGlvbi0tZXhwYW5kZWQ6YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc3YtZG90c3t3aWR0aDo0OHB4fS5zdi1kb3RzX19pdGVte3dpZHRoOjEwMCV9LnN2LWRvdHNfX2l0ZW0gLnN2LWFjdGlvbi1iYXItaXRlbV9faWNvbnttYXJnaW46YXV0b30uc3YtYWN0aW9uLS1oaWRkZW57d2lkdGg6MDtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59LnN2LWFjdGlvbi0taGlkZGVuIC5zdi1hY3Rpb25fX2NvbnRlbnR7bWluLXdpZHRoOmZpdC1jb250ZW50fS5zdi1hY3Rpb25fX2NvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXJ9LnN2LWFjdGlvbl9fY29udGVudD4qe2ZsZXg6MCAwIGF1dG99LnN2LWFjdGlvbi0tc3BhY2V7bWFyZ2luLWxlZnQ6YXV0b30uc3YtYWN0aW9uLWJhci1pdGVtLS1wcmVzc2VkOm5vdCguc3YtYWN0aW9uLWJhci1pdGVtLS1hY3RpdmUpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSk7b3BhY2l0eTo1MCV9OnJvb3R7LS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbjoxNTBtc30uc3YtZHJhZ2dlZC1lbGVtZW50LXNob3J0Y3V0e2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttaW4td2lkdGg6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKDQuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Y3Vyc29yOmdyYWJiaW5nO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDA7Ym94LXNoYWRvdzowIDhweCAxNnB4IHJnYmEoMCwwLDAsLjEpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtwYWRkaW5nLWxlZnQ6Y2FsYygyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSl9LnN2LW1hdHJpeGR5bmFtaWNfX2RyYWctaWNvbntwYWRkaW5nLXRvcDpjYWxjKDEuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtbWF0cml4ZHluYW1pY19fZHJhZy1pY29uOmFmdGVye2NvbnRlbnQ6XCIgXCI7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYyguNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlcjoxcHggc29saWQgI2U3ZTdlNztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czpjYWxjKDEuMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtjdXJzb3I6bW92ZTttYXJnaW4tdG9wOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LW1hdHJpeC1yb3ctLWRyYWctZHJvcC1naG9zdC1tb2QgdGR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3YtbWF0cml4LXJvdy0tZHJhZy1kcm9wLWdob3N0LW1vZCB0ZD4qe3Zpc2liaWxpdHk6aGlkZGVufS5zdi1kcmFnLWRyb3AtY2hvaWNlcy1zaG9ydGN1dHtjdXJzb3I6Z3JhYmJpbmc7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMDtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSl9LnN2LWRyYWctZHJvcC1jaG9pY2VzLXNob3J0Y3V0X19jb250ZW50LnN2LWRyYWctZHJvcC1jaG9pY2VzLXNob3J0Y3V0X19jb250ZW50e21pbi13aWR0aDoxMDBweDtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctbGFyZ2UsMCA4cHggMTZweCAwIHJnYmEoMCwwLDAsLjEpKSx2YXIoLS1zanMtc2hhZG93LW1lZGl1bSwwIDJweCA2cHggMCByZ2JhKDAsMCwwLC4xKSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7Ym9yZGVyLXJhZGl1czpjYWxjKDQuNSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTtwYWRkaW5nLXJpZ2h0OmNhbGMoMiAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTttYXJnaW4tbGVmdDowfTpyb290ey0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb246MTUwbXN9c3YtcG9wdXB7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0uc3YtcG9wdXB7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3dpZHRoOjEwMHZ3O291dGxpbmU6MDt6LWluZGV4OjIwMDA7aGVpZ2h0OjEwMHZofS5zdi1kcm9wZG93bi1wb3B1cHtoZWlnaHQ6MH0uc3YtcG9wdXAuc3YtcG9wdXAtaW5uZXJ7aGVpZ2h0OjB9LnN2LXBvcHVwLWlubmVyPi5zdi1wb3B1cF9fY29udGFpbmVye21hcmdpbi10b3A6Y2FsYygtMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1saXN0X19pdGVtLS13aXRoLWljb24gLnN2LXBvcHVwLWlubmVyPi5zdi1wb3B1cF9fY29udGFpbmVye21hcmdpbi10b3A6Y2FsYygtLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcG9wdXBfX2NvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1sYXJnZSwwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwuMSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KTtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjB9LnN2LXBvcHVwX19zaGFkb3d7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCl9LnN2LXBvcHVwX19ib2R5LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDo5MHZoO21heC13aWR0aDoxMDB2d30uc3YtcG9wdXAtLW1vZGFse2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQtc2VtaXRyYW5zcGFyZW50LHJnYmEoMTQ0LDE0NCwxNDQsLjUpKTtwYWRkaW5nOmNhbGMoMTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDE1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym94LXNpemluZzpib3JkZXItYm94fS5zdi1wb3B1cC0tbW9kYWw+LnN2LXBvcHVwX19jb250YWluZXJ7cG9zaXRpb246c3RhdGljO2Rpc3BsYXk6ZmxleH0uc3YtcG9wdXAtLW1vZGFsPi5zdi1wb3B1cF9fY29udGFpbmVyPi5zdi1wb3B1cF9fc2hhZG93Pi5zdi1wb3B1cF9fYm9keS1jb250ZW50e2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1sYXJnZSwwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwuMSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSk7cGFkZGluZzpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6YXV0b30uc3YtcG9wdXAtLW1vZGFsPi5zdi1wb3B1cF9fY29udGFpbmVyPi5zdi1wb3B1cF9fc2hhZG93Pi5zdi1wb3B1cF9fYm9keS1jb250ZW50IC5zdi1wb3B1cF9fYm9keS1mb290ZXJ7cGFkZGluZy1ib3R0b206MnB4fS5zdi1wb3B1cC0tbW9kYWwgLnN2LXBvcHVwX19ib2R5LWZvb3RlciAuc3YtZm9vdGVyLWFjdGlvbi1iYXJ7b3ZlcmZsb3c6dmlzaWJsZX0uc3YtcG9wdXAtLWNvbmZpcm0tZGVsZXRlIC5zdi1wb3B1cF9fc2hhZG93e2hlaWdodDppbml0aWFsfS5zdi1wb3B1cC0tY29uZmlybS1kZWxldGUgLnN2LXBvcHVwX19jb250YWluZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc3YtcG9wdXAtLWNvbmZpcm0tZGVsZXRlIC5zdi1wb3B1cF9fYm9keS1jb250ZW50e2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7bWF4LXdpZHRoOm1pbi1jb250ZW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kO21pbi13aWR0aDo0NTJweH0uc3YtcG9wdXAtLWNvbmZpcm0tZGVsZXRlIC5zdi1wb3B1cF9fYm9keS1oZWFkZXJ7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IscmdiYSgwLDAsMCwuOTEpKSk7bWFyZ2luLWJvdHRvbTowO2FsaWduLXNlbGY6c2VsZi1zdGFydDtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKX0uc3YtcG9wdXAtLWNvbmZpcm0tZGVsZXRlIC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnR7ZGlzcGxheTpub25lfS5zdi1wb3B1cC0tY29uZmlybS1kZWxldGUgLnN2LXBvcHVwX19ib2R5LWZvb3RlcntwYWRkaW5nLWJvdHRvbTowO21heC13aWR0aDptYXgtY29udGVudH0uc3YtcG9wdXAtLWNvbmZpcm0tZGVsZXRlIC5zdi1wb3B1cF9fYm9keS1mb290ZXIgLnN2LWFjdGlvbi1iYXJ7Z2FwOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tb3ZlcmxheXt3aWR0aDoxMDAlO2hlaWdodDp2YXIoLS1zdi1wb3B1cC1vdmVybGF5LWhlaWdodCwxMDB2aCl9LnN2LXBvcHVwLS1vdmVybGF5IC5zdi1wb3B1cF9fY29udGFpbmVye2JhY2tncm91bmQ6dmFyKC0tYmFja2dyb3VuZC1zZW1pdHJhbnNwYXJlbnQscmdiYSgxNDQsMTQ0LDE0NCwuNSkpO21heC13aWR0aDoxMDB2dzttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3YtcG9wdXAtb3ZlcmxheS1oZWlnaHQsMTAwdmgpIC0gMSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zdi1wb3B1cC1vdmVybGF5LWhlaWdodCwxMDB2aCkgLSAxICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpO3dpZHRoOjEwMCU7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyOnVuc2V0fS5zdi1wb3B1cC0tb3ZlcmxheSAuc3YtcG9wdXBfX2JvZHktY29udGVudHttYXgtaGVpZ2h0OnZhcigtLXN2LXBvcHVwLW92ZXJsYXktaGVpZ2h0LDEwMHZoKTttYXgtd2lkdGg6MTAwdnc7Ym9yZGVyLXJhZGl1czpjYWxjKDQgKiAodmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSkpIGNhbGMoNCAqICh2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpKSkgMCAwO2JhY2tncm91bmQ6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1sYXJnZSwwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwuMSkpO3BhZGRpbmc6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMTAwJSAtIDEgKiB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSl9LnN2LXBvcHVwLS1vdmVybGF5IC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEwICogdmFyKC0tYmFzZS11bml0LDhweCkpfS5zdi1wb3B1cC0tb3ZlcmxheSAuc3YtcG9wdXBfX2JvZHktZm9vdGVye21hcmdpbi10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LXBvcHVwLS1vdmVybGF5IC5zdi1wb3B1cF9fYm9keS1mb290ZXIgLnN2LWFjdGlvbi1iYXJ7d2lkdGg6MTAwJX0uc3YtcG9wdXAtLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWZvb3Rlci1pdGVte3dpZHRoOjEwMCV9LnN2LXBvcHVwLS1vdmVybGF5IC5zdi1wb3B1cF9fYnV0dG9uLnN2LXBvcHVwX19idXR0b257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnN2LXBvcHVwLS1vdmVybGF5IC5zdi1wb3B1cF9fYm9keS1mb290ZXIgLnN2LWFjdGlvbntmbGV4OjEgMCAwfS5zdi1wb3B1cC0tbW9kYWwgLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudHtwYWRkaW5nOjJweDttYXJnaW46LTJweH0uc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50e2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXIsLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjZweDt3aWR0aDo2cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3ItbGlnaHQsdmFyKC0tcHJpbWFyeS1saWdodCxyZ2JhKDI1LDE3OSwxNDgsLjEpKSl9LnN2LXBvcHVwX19jb250ZW50e21pbi13aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfS5zdi1wb3B1cC0tc2hvdy1wb2ludGVyLnN2LXBvcHVwLS10b3AgLnN2LXBvcHVwX19wb2ludGVye3RyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpKSByb3RhdGUoMTgwZGVnKX0uc3YtcG9wdXAtLXNob3ctcG9pbnRlci5zdi1wb3B1cC0tYm90dG9tIC5zdi1wb3B1cF9fcG9pbnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSxjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkpfS5zdi1wb3B1cC0tc2hvdy1wb2ludGVyLnN2LXBvcHVwLS1yaWdodCAuc3YtcG9wdXBfX2NvbnRhaW5lcnt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc3YtcG9wdXAtLXNob3ctcG9pbnRlci5zdi1wb3B1cC0tcmlnaHQgLnN2LXBvcHVwX19jb250YWluZXIgLnN2LXBvcHVwX19wb2ludGVye3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEycHgsLTRweCkgcm90YXRlKC05MGRlZyl9LnN2LXBvcHVwLS1zaG93LXBvaW50ZXIuc3YtcG9wdXAtLWxlZnQgLnN2LXBvcHVwX19jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkpfS5zdi1wb3B1cC0tc2hvdy1wb2ludGVyLnN2LXBvcHVwLS1sZWZ0IC5zdi1wb3B1cF9fY29udGFpbmVyIC5zdi1wb3B1cF9fcG9pbnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKC00cHgsLTRweCkgcm90YXRlKDkwZGVnKX0uc3YtcG9wdXBfX3BvaW50ZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0uc3YtcG9wdXBfX3BvaW50ZXI6YWZ0ZXJ7Y29udGVudDpcIiBcIjtkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWxlZnQ6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgc29saWQgdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO2FsaWduLXNlbGY6Y2VudGVyfS5zdi1wb3B1cF9fYm9keS1oZWFkZXJ7Zm9udC1mYW1pbHk6T3BlbiBTYW5zO2ZvbnQtc2l6ZTpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7bGluZS1oZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbTpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnN2LXBvcHVwX19ib2R5LWZvb3RlcntkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcG9wdXBfX2JvZHktZm9vdGVyIC5zdi1hY3Rpb24tYmFye2dhcDpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cF9fYnV0dG9ue21hcmdpbjpjYWxjKC4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tbW9kYWwgLnN2LWxpc3RfX2ZpbHRlciwuc3YtcG9wdXAtLW92ZXJsYXkgLnN2LWxpc3RfX2ZpbHRlcntwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc3YtcG9wdXAtLW1vZGFsIC5zdi1saXN0X19maWx0ZXItaWNvbiwuc3YtcG9wdXAtLW92ZXJsYXkgLnN2LWxpc3RfX2ZpbHRlci1pY29ue3RvcDpjYWxjKDIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tZHJvcGRvd24gLnN2LWxpc3RfX2ZpbHRlcnttYXJnaW4tYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zdi1wb3B1cC0tZHJvcGRvd24gLnN2LXBvcHVwX19zaGFkb3d7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LW1lZGl1bSwwIDJweCA2cHggMCByZ2JhKDAsMCwwLC4xKSl9LnN2LXBvcHVwLS1kcm9wZG93biAuc3YtcG9wdXBfX2JvZHktY29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIDA7aGVpZ2h0OjEwMCV9LnN2LXBvcHVwLS1kcm9wZG93bj4uc3YtcG9wdXBfX2NvbnRhaW5lcj4uc3YtcG9wdXBfX3NoYWRvdz4uc3YtcG9wdXBfX2JvZHktY29udGVudCAuc3YtbGlzdHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zdi1kcm9wZG93bi1wb3B1cCAuc3YtcG9wdXBfX2JvZHktY29udGVudHtwYWRkaW5nOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwfS5zdi1kcm9wZG93bi1wb3B1cCAuc3YtbGlzdF9fZmlsdGVye21hcmdpbi1ib3R0b206MH0uc3YtcG9wdXAtLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXl7ei1pbmRleDoyMDAxO3BhZGRpbmc6MH0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWNvbnRlbnR7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MH0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWZvb3RlciAuc3YtYWN0aW9uLWJhciAuc3YtYWN0aW9ue2ZsZXg6MCAwIGF1dG99LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1wb3B1cF9fYnV0dG9uLnN2LXBvcHVwX19idXR0b257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlci1yYWRpdXM6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luOjB9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1wb3B1cF9fY29udGFpbmVye21heC1oZWlnaHQ6Y2FsYyh2YXIoLS1zdi1wb3B1cC1vdmVybGF5LWhlaWdodCwxMDB2aCkpO2hlaWdodDpjYWxjKHZhcigtLXN2LXBvcHVwLW92ZXJsYXktaGVpZ2h0LDEwMHZoKSk7cGFkZGluZy10b3A6MH0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWNvbnRlbnR7aGVpZ2h0OmNhbGModmFyKC0tc3YtcG9wdXAtb3ZlcmxheS1oZWlnaHQsMTAwdmgpKX0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWZvb3RlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO21hcmdpbi10b3A6MDtwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtwYWRkaW5nLWJvdHRvbTp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWxpZ2h0LHZhcigtLWJvcmRlci1saWdodCwjZWFlYWVhKSl9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnR7aGVpZ2h0OmNhbGMoMTAwJSAtIDYgKiB2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1saXN0X19maWx0ZXItaWNvbiAuc3Ytc3ZnLWljb257d2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fY29udGFpbmVye3BhZGRpbmc6MH0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3R7ZmxleC1ncm93OjE7cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSAwfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVyLWljb257cG9zaXRpb246c3RhdGljO2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2VtcHR5LWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1ncm93OjE7cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1wb3B1cF9fYnV0dG9uOmRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmU7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO29wYWNpdHk6LjI1fS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVyLWNsZWFyLWJ1dHRvbntoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVyLWNsZWFyLWJ1dHRvbiBzdmd7aGVpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3dpZHRoOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVyLWNsZWFyLWJ1dHRvbiBzdmcgdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9faW5wdXR7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpO2ZvbnQtc2l6ZTptYXgoMTZweCx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKTtsaW5lLWhlaWdodDptYXgoMjRweCwxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtwYWRkaW5nOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwIGNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW0tLWZvY3VzZWQgLnN2LWxpc3RfX2l0ZW0tYm9keSwuc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW06Zm9jdXMgLnN2LWxpc3RfX2l0ZW0tYm9keSwuc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW06aG92ZXIgLnN2LWxpc3RfX2l0ZW0tYm9keXtiYWNrZ3JvdW5kOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKX0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW0tLWZvY3VzZWQuc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3RfX2l0ZW0tYm9keSwuc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW06Zm9jdXMuc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3RfX2l0ZW0tYm9keSwuc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LWxpc3RfX2l0ZW06aG92ZXIuc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3RfX2l0ZW0tYm9keXtiYWNrZ3JvdW5kOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKTtmb250LXdlaWdodDo2MDB9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1wb3B1cF9fYm9keS1mb290ZXIgLnN2LWFjdGlvbi1iYXJ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnN2LWRyb3Bkb3duLXBvcHVwLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1saXN0X19maWx0ZXJ7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWRyb3Bkb3duLXBvcHVwLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1saXN0e3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1kcm9wZG93bi1wb3B1cC5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtcG9wdXBfX2J1dHRvbi5zdi1wb3B1cF9fYnV0dG9ue3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtZHJvcGRvd24tcG9wdXAuc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkgLnN2LXBvcHVwX19ib2R5LWZvb3RlcntwYWRkaW5nLXRvcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSl9LnN2LWRyb3Bkb3duLXBvcHVwLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5IC5zdi1saXN0X19maWx0ZXItaWNvbiAuc3Ytc3ZnLWljb257d2lkdGg6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1kcm9wZG93bi1wb3B1cC5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9fZmlsdGVyLWljb257aGVpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1kcm9wZG93bi1wb3B1cC5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheSAuc3YtbGlzdF9faW5wdXR7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMCBjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5LnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtLS1mb2N1c2VkLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWJvZHksLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5LnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtOmZvY3VzLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWJvZHksLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5LnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtOmhvdmVyLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWJvZHl7YmFja2dyb3VuZDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3ItbGlnaHQsdmFyKC0tcHJpbWFyeS1saWdodCxyZ2JhKDI1LDE3OSwxNDgsLjEpKSk7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2ZvbnQtd2VpZ2h0OjQwMH0uc3YtcG9wdXAtLWRyb3Bkb3duLW92ZXJsYXkuc3YtcG9wdXAtLXRhYmxldCAuc3YtcG9wdXBfX2JvZHktY29udGVudHstLXN2LXBvcHVwLW92ZXJsYXktbWF4LWhlaWdodDpjYWxjKHZhcigtLXN2LXBvcHVwLW92ZXJsYXktaGVpZ2h0LCAxMDB2aCkgLSB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpICogOCk7LS1zdi1wb3B1cC1vdmVybGF5LW1heC13aWR0aDpjYWxjKDEwMCUgLSB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpICogOCk7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2xlZnQ6NTAlO3RvcDo1MCU7bWF4LWhlaWdodDp2YXIoLS1zdi1wb3B1cC1vdmVybGF5LW1heC1oZWlnaHQpO21pbi1oZWlnaHQ6bWluKHZhcigtLXN2LXBvcHVwLW92ZXJsYXktbWF4LWhlaWdodCksMzAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO21pbi13aWR0aDptaW4oNDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpLHZhcigtLXN2LXBvcHVwLW92ZXJsYXktbWF4LXdpZHRoKSk7bWF4LXdpZHRoOnZhcigtLXN2LXBvcHVwLW92ZXJsYXktbWF4LXdpZHRoKTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowfS5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheS5zdi1wb3B1cC0tdGFibGV0IC5zdi1saXN0X19jb250YWluZXIsLnN2LXBvcHVwLS1kcm9wZG93bi1vdmVybGF5LnN2LXBvcHVwLS10YWJsZXQgLnN2LXBvcHVwX19jb250ZW50LC5zdi1wb3B1cC0tZHJvcGRvd24tb3ZlcmxheS5zdi1wb3B1cC0tdGFibGV0IC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnR7ZmxleC1ncm93OjF9LnN2LXBvcHVwLS12aXNpYmxle29wYWNpdHk6MX0uc3YtcG9wdXAtLWhpZGRlbntvcGFjaXR5OjB9LnN2LXBvcHVwLS1hbmltYXRlLWVudGVye2FuaW1hdGlvbi1uYW1lOmZhZGVJbjthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1kdXJhdGlvbjouMTVzfS5zdi1wb3B1cC0tbW9kYWwuc3YtcG9wdXAtLWFuaW1hdGUtZW50ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXN9LnN2LXBvcHVwLS1hbmltYXRlLWxlYXZle2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tbmFtZTpmYWRlSW47YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZHVyYXRpb246LjE1c30uc3YtcG9wdXAtLW1vZGFsLnN2LXBvcHVwLS1hbmltYXRlLWxlYXZle2FuaW1hdGlvbi1kdXJhdGlvbjouMjVzfS5zdi1wb3B1cC0taGlkZGVue29wYWNpdHk6MH1Aa2V5ZnJhbWVzIG1vZGFsTW92ZURvd257ZnJvbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSg2NHB4KX19QGtleWZyYW1lcyBtb2RhbE1vdmVVcHtmcm9te3RyYW5zZm9ybTp0cmFuc2xhdGVZKDY0cHgpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uc3YtcG9wdXAtLW1vZGFsLnN2LXBvcHVwLS1hbmltYXRlLWxlYXZlIC5zdi1wb3B1cF9fY29udGFpbmVye2FuaW1hdGlvbi1uYW1lOm1vZGFsTW92ZURvd247YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZHVyYXRpb246LjI1c30uc3YtcG9wdXAtLW1vZGFsLnN2LXBvcHVwLS1hbmltYXRlLWVudGVyIC5zdi1wb3B1cF9fY29udGFpbmVye2FuaW1hdGlvbi1uYW1lOm1vZGFsTW92ZVVwO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXN9OnJvb3R7LS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbjoxNTBtc30uc3YtYnV0dG9uLWdyb3Vwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1kaXJlY3Rpb246cm93O2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO292ZXJmbG93OmF1dG87Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc3YtYnV0dG9uLWdyb3VwOmZvY3VzLXdpdGhpbntib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Ym9yZGVyLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc3YtYnV0dG9uLWdyb3VwX19pdGVte2Rpc3BsYXk6ZmxleDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxleC1kaXJlY3Rpb246cm93O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoxMDAlO3BhZGRpbmc6MTFweCBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7b3V0bGluZTowO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2ZvbnQtd2VpZ2h0OjQwMDtiYWNrZ3JvdW5kOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtjdXJzb3I6cG9pbnRlcjtvdmVyZmxvdzpoaWRkZW47Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zdi1idXR0b24tZ3JvdXBfX2l0ZW06bm90KDpsYXN0LW9mLXR5cGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSl9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS0taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3YtYnV0dG9uLWdyb3VwX19pdGVtLWljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS1pY29uIHVzZXtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKX0uc3YtYnV0dG9uLWdyb3VwX19pdGVtLS1zZWxlY3RlZHtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zdi1idXR0b24tZ3JvdXBfX2l0ZW0tLXNlbGVjdGVkIC5zdi1idXR0b24tZ3JvdXBfX2l0ZW0taWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS1kZWNvcmF0b3J7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0uc3YtYnV0dG9uLWdyb3VwX19pdGVtLWNhcHRpb257ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS1pY29uKy5zdi1idXR0b24tZ3JvdXBfX2l0ZW0tY2FwdGlvbnttYXJnaW4tbGVmdDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc3YtYnV0dG9uLWdyb3VwX19pdGVtLS1kaXNhYmxlZHtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7Y3Vyc29yOmRlZmF1bHR9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS0tZGlzYWJsZWQgLnN2LWJ1dHRvbi1ncm91cF9faXRlbS1kZWNvcmF0b3J7b3BhY2l0eTouMjU7Zm9udC13ZWlnaHQ6NDAwfS5zdi1idXR0b24tZ3JvdXBfX2l0ZW0tLWRpc2FibGVkIC5zdi1idXR0b24tZ3JvdXBfX2l0ZW0taWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnN2LWJ1dHRvbi1ncm91cF9faXRlbS0tZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnN2LWJ1dHRvbi1ncm91cDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzowIDAgMCAxcHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2JvcmRlci1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnN2LXZpc3VhbGx5aGlkZGVue3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCAwIDAgMCl9LnN2LWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zdi10aXRsZS1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJX0uc3YtdGl0bGUtYWN0aW9uc19fdGl0bGV7ZmxleC13cmFwOndyYXA7bWF4LXdpZHRoOjkwJTttaW4td2lkdGg6NTAlO3doaXRlLXNwYWNlOmluaXRpYWx9LnN2LWFjdGlvbi10aXRsZS1iYXJ7bWluLXdpZHRoOjU2cHh9LnN2LXRpdGxlLWFjdGlvbnMgLnN2LXRpdGxlLWFjdGlvbnNfX3RpdGxle2ZsZXgtd3JhcDp3cmFwO2ZsZXg6MCAxIGF1dG87bWF4LXdpZHRoOnVuc2V0O21pbi13aWR0aDp1bnNldH0uc3YtdGl0bGUtYWN0aW9ucyAuc3YtYWN0aW9uLXRpdGxlLWJhcntmbGV4OjEgMSBhdXRvO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttaW4td2lkdGg6dW5zZXR9OnJvb3R7LS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbjoxNTBtc306cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zdl93aW5kb3d7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3JpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWluc2lkZSx2YXIoLS1ib3JkZXItaW5zaWRlLHJnYmEoMCwwLDAsLjE2KSkpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1sYXJnZSwwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwuMSkpLHZhcigtLXNqcy1zaGFkb3ctbWVkaXVtLDAgMnB4IDZweCAwIHJnYmEoMCwwLDAsLjEpKTtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7ei1pbmRleDoxMDA7bWF4LWhlaWdodDo1MHZoO292ZXJmbG93OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSk7d2lkdGg6Y2FsYygxMDAlIC0gNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIWltcG9ydGFudH1ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCl7LnN2X3dpbmRvdywuc3Zfd2luZG93ICp7c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpIHRyYW5zcGFyZW50fX0uc3Zfd2luZG93IDo6LXdlYmtpdC1zY3JvbGxiYXIsLnN2X3dpbmRvdzo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zdl93aW5kb3cgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc3Zfd2luZG93Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXItcmFkaXVzOjMycHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc3Zfd2luZG93IDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssLnN2X3dpbmRvdzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDowIDB9LnN2X3dpbmRvdyA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLC5zdl93aW5kb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnN2X3dpbmRvd19yb290LWNvbnRlbnR7aGVpZ2h0OjEwMCV9LnN2X3dpbmRvdy0tZnVsbC1zY3JlZW57dG9wOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2xlZnQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cmlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym90dG9tOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21heC1oZWlnaHQ6MTAwJTt3aWR0aDppbml0aWFsIWltcG9ydGFudDttYXgtd2lkdGg6aW5pdGlhbCFpbXBvcnRhbnR9LnN2X3dpbmRvd19oZWFkZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc3Zfd2luZG93X2NvbnRlbnR7b3ZlcmZsb3c6aGlkZGVufS5zdl93aW5kb3ctLWNvbGxhcHNlZHtoZWlnaHQ6aW5pdGlhbH0uc3Zfd2luZG93LS1jb2xsYXBzZWQgLnN2X3dpbmRvd19oZWFkZXJ7aGVpZ2h0OmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc3Zfd2luZG93LS1jb2xsYXBzZWQgLnN2X3dpbmRvd19jb250ZW50e2Rpc3BsYXk6bm9uZX0uc3Zfd2luZG93LS1jb2xsYXBzZWQgLnN2X3dpbmRvd19idXR0b25zX2NvbnRhaW5lcnttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0OjB9LnN2X3dpbmRvd19oZWFkZXJfdGl0bGVfY29sbGFwc2Vke2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWRpbS1mb3JlY29sb3IscmdiYSgwLDAsMCwuOTEpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtmbGV4OjE7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Zfd2luZG93X2hlYWRlcl9kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbmRlc2NyaXB0aW9uLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCxyZ2JhKDAsMCwwLC40NSkpKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6XCJzYWx0XCIgb247Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59LnN2X3dpbmRvd19idXR0b25zX2NvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi1yaWdodDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3otaW5kZXg6MTAwMDB9LnN2X3dpbmRvd19idXR0b257ZGlzcGxheTpmbGV4O3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Y3Vyc29yOnBvaW50ZXJ9LnN2X3dpbmRvd19idXR0b246YWN0aXZlLC5zdl93aW5kb3dfYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpfS5zdl93aW5kb3dfYnV0dG9uOmFjdGl2ZSBzdmcgcGF0aCwuc3Zfd2luZG93X2J1dHRvbjphY3RpdmUgc3ZnIHVzZSwuc3Zfd2luZG93X2J1dHRvbjpob3ZlciBzdmcgcGF0aCwuc3Zfd2luZG93X2J1dHRvbjpob3ZlciBzdmcgdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zdl93aW5kb3dfYnV0dG9uOmFjdGl2ZXtvcGFjaXR5Oi41fS5zdl93aW5kb3dfYnV0dG9uIHN2ZyBwYXRoLC5zdl93aW5kb3dfYnV0dG9uIHN2ZyB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSl9LnN2LWJyYW5kLWluZm8sc3YtYnJhbmQtaW5mb3t6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxcHh9LnN2LWJyYW5kLWluZm97d2lkdGg6MTAwJTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzE2MTYxNjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzozMnB4IDA7Ym94LXNoYWRvdzowIC0xcHggMCAjZDZkNmQ2fS5zdi1icmFuZC1pbmZvIGF7Y29sb3I6IzE2MTYxNjt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LnN2LWJyYW5kLWluZm9fX3RleHR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtjb2xvcjojMTYxNjE2fS5zdi1icmFuZC1pbmZvX19sb2dve2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zdi1icmFuZC1pbmZvX19sb2dvIGltZ3t3aWR0aDoxMThweH0uc3YtYnJhbmQtaW5mb19fdGVybXN7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTpjYWxjKC43NSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KX0uc3YtYnJhbmQtaW5mb19fdGVybXMgYXtjb2xvcjojOTA5MDkwfTpyb290ey0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb246MTUwbXN9OnJvb3R7LS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbjoxNTBtc30uc3YtcmFua2luZ3tvdXRsaW5lOjA7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LnN2LXJhbmtpbmctaXRlbXtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7b3BhY2l0eToxfS5zdi1yYW5raW5nLWl0ZW06Zm9jdXMgLnN2LXJhbmtpbmctaXRlbV9faWNvbi0taG92ZXJ7dmlzaWJpbGl0eTpoaWRkZW59LnN2LXJhbmtpbmctaXRlbTpob3Zlcjpub3QoOmZvY3VzKSAuc3YtcmFua2luZy1pdGVtX19pY29uLS1ob3Zlcnt2aXNpYmlsaXR5OnZpc2libGV9LnN2LXF1ZXN0aW9uLS1kaXNhYmxlZCAuc3YtcmFua2luZy1pdGVtOmhvdmVyIC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tLWhvdmVye3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLWl0ZW06Zm9jdXN7b3V0bGluZTowfS5zdi1yYW5raW5nLWl0ZW06Zm9jdXMgLnN2LXJhbmtpbmctaXRlbV9faWNvbi0tZm9jdXN7dmlzaWJpbGl0eTp2aXNpYmxlO3RvcDpjYWxjKC42ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yYW5raW5nLWl0ZW06Zm9jdXMgLnN2LXJhbmtpbmctaXRlbV9faW5kZXh7YmFja2dyb3VuZDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7b3V0bGluZTpjYWxjKC4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc3YtcmFua2luZy1pdGVtX19jb250ZW50LnN2LXJhbmtpbmctaXRlbV9fY29udGVudHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2xpbmUtaGVpZ2h0OjFlbTtwYWRkaW5nOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwO2JvcmRlci1yYWRpdXM6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LXJhbmtpbmctaXRlbV9faWNvbi1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3RvcDowO2JvdHRvbTowO2ZsZXgtc2hyaW5rOjA7d2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yYW5raW5nLWl0ZW0tLWRpc2FibGVkLnN2LXJhbmtpbmctaXRlbS0tZGlzYWJsZWQsLnN2LXJhbmtpbmctaXRlbS0tcHJldmlldy5zdi1yYW5raW5nLWl0ZW0tLXByZXZpZXcsLnN2LXJhbmtpbmctaXRlbS0tcmVhZG9ubHkuc3YtcmFua2luZy1pdGVtLS1yZWFkb25seXtjdXJzb3I6aW5pdGlhbDt1c2VyLXNlbGVjdDppbml0aWFsOy13ZWJraXQtdXNlci1zZWxlY3Q6aW5pdGlhbH0uc3YtcmFua2luZy1pdGVtLS1kaXNhYmxlZC5zdi1yYW5raW5nLWl0ZW0tLWRpc2FibGVkIC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tY29udGFpbmVyLnN2LXJhbmtpbmctaXRlbV9faWNvbi1jb250YWluZXIgLnN2LXJhbmtpbmctaXRlbV9faWNvbi5zdi1yYW5raW5nLWl0ZW1fX2ljb24sLnN2LXJhbmtpbmctaXRlbS0tcHJldmlldy5zdi1yYW5raW5nLWl0ZW0tLXByZXZpZXcgLnN2LXJhbmtpbmctaXRlbV9faWNvbi1jb250YWluZXIuc3YtcmFua2luZy1pdGVtX19pY29uLWNvbnRhaW5lciAuc3YtcmFua2luZy1pdGVtX19pY29uLnN2LXJhbmtpbmctaXRlbV9faWNvbiwuc3YtcmFua2luZy1pdGVtLS1yZWFkb25seS5zdi1yYW5raW5nLWl0ZW0tLXJlYWRvbmx5IC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tY29udGFpbmVyLnN2LXJhbmtpbmctaXRlbV9faWNvbi1jb250YWluZXIgLnN2LXJhbmtpbmctaXRlbV9faWNvbi5zdi1yYW5raW5nLWl0ZW1fX2ljb257dmlzaWJpbGl0eTpoaWRkZW59LnN2LXJhbmtpbmctaXRlbV9faWNvbi5zdi1yYW5raW5nLWl0ZW1fX2ljb257dmlzaWJpbGl0eTpoaWRkZW47ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3dpZHRoOmNhbGMoMS43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcmFua2luZy1pdGVtX19pbmRleC5zdi1yYW5raW5nLWl0ZW1fX2luZGV4ey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWxpZ2h0LHJnYmEoMjUsMTc5LDE0OCwuMSkpKTtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlcjpjYWxjKC4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHRyYW5zcGFyZW50O3dpZHRoOmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tbGVmdDpjYWxjKDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt0cmFuc2l0aW9uOm91dGxpbmUgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpLGJhY2tncm91bmQgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpO291dGxpbmU6Y2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBzb2xpZCB0cmFuc3BhcmVudH0uc3YtcmFua2luZy1pdGVtX19pbmRleC5zdi1yYW5raW5nLWl0ZW1fX2luZGV4IHN2Z3tmaWxsOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTt3aWR0aDp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2hlaWdodDp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpfS5zdi1yYW5raW5nLWl0ZW1fX3RleHR7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO21hcmdpbjowIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYW5raW5nLS1kaXNhYmxlZCAuc3YtcmFua2luZy1pdGVtX190ZXh0e2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTtvcGFjaXR5Oi4yNX0uc3YtcmFua2luZy1pdGVtLS1kaXNhYmxlZCAuc3YtcmFua2luZy1pdGVtX190ZXh0e2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO29wYWNpdHk6LjI1fS5zdi1yYW5raW5nLWl0ZW0tLXJlYWRvbmx5IC5zdi1yYW5raW5nLWl0ZW1fX2luZGV4e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnN2LXJhbmtpbmctaXRlbS0tcHJldmlldyAuc3YtcmFua2luZy1pdGVtX19pbmRleHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc3YtcmFua2luZy1pdGVtX19naG9zdC5zdi1yYW5raW5nLWl0ZW1fX2dob3N0e2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO2JvcmRlci1yYWRpdXM6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6Y2FsYygzMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt6LWluZGV4OjE7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9W2Rpcj1ydGxdIC5zdi1yYW5raW5nLWl0ZW1fX2dob3N0e2xlZnQ6aW5pdGlsYWw7cmlnaHQ6Y2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LXJhbmtpbmctaXRlbS0tZ2hvc3QgLnN2LXJhbmtpbmctaXRlbV9fZ2hvc3R7ZGlzcGxheTpibG9ja30uc3YtcmFua2luZy1pdGVtLS1naG9zdCAuc3YtcmFua2luZy1pdGVtX19jb250ZW50e3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLWl0ZW0tLWRyYWcgLnN2LXJhbmtpbmctaXRlbV9fY29udGVudHtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctbGFyZ2UsMCA4cHggMTZweCAwIHJnYmEoMCwwLDAsLjEpKTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yYW5raW5nLS1kcmFnIC5zdi1yYW5raW5nLWl0ZW06aG92ZXIgLnN2LXJhbmtpbmctaXRlbV9faWNvbnt2aXNpYmlsaXR5OmhpZGRlbn0uc3YtcmFua2luZy1pdGVtLS1kcmFnIC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tLWhvdmVye3Zpc2liaWxpdHk6dmlzaWJsZX0uc3YtcmFua2luZy0tbW9iaWxlIC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tLWhvdmVye3Zpc2liaWxpdHk6dmlzaWJsZTtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKX0uc3YtcmFua2luZy0tbW9iaWxlLnN2LXJhbmtpbmctLWRyYWcgLnN2LXJhbmtpbmctaXRlbS0tZ2hvc3QgLnN2LXJhbmtpbmctaXRlbV9faWNvbi5zdi1yYW5raW5nLWl0ZW1fX2ljb24tLWhvdmVye3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLS1tb2JpbGUuc3YtcmFua2luZy1zaG9ydGN1dHttYXgtd2lkdGg6ODAlfS5zdi1yYW5raW5nLS1tb2JpbGUgLnN2LXJhbmtpbmctaXRlbV9faW5kZXguc3YtcmFua2luZy1pdGVtX19pbmRleHttYXJnaW4tbGVmdDowfS5zdi1yYW5raW5nLS1tb2JpbGUgLnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUgLnN2LXJhbmtpbmctaXRlbV9faWNvbnttYXJnaW4tbGVmdDowfS5zdi1yYW5raW5nLS1kZXNpZ24tbW9kZSAuc3YtcmFua2luZy1pdGVtOmhvdmVyIC5zdi1yYW5raW5nLWl0ZW1fX2ljb257dmlzaWJpbGl0eTpoaWRkZW59LnN2LXJhbmtpbmctLWRpc2FibGVke29wYWNpdHk6Ljh9LnN2LXJhbmtpbmctc2hvcnRjdXRbaGlkZGVuXXtkaXNwbGF5Om5vbmV9LnN2LXJhbmtpbmctc2hvcnRjdXQgLnN2LXJhbmtpbmctaXRlbV9faWNvbntmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc3YtcmFua2luZy1zaG9ydGN1dCAuc3YtcmFua2luZy1pdGVtX190ZXh0e21hcmdpbi1yaWdodDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcmFua2luZy1zaG9ydGN1dCAuc3YtcmFua2luZy1pdGVtX19pY29uLS1ob3Zlcnt2aXNpYmlsaXR5OnZpc2libGV9LnN2LXJhbmtpbmctc2hvcnRjdXQgLnN2LXJhbmtpbmctaXRlbV9faWNvbnt3aWR0aDpjYWxjKDEuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7dG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zdi1yYW5raW5nLXNob3J0Y3V0IC5zdi1yYW5raW5nLWl0ZW1fX2NvbnRlbnR7cGFkZGluZy1sZWZ0OmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcmFua2luZy1zaG9ydGN1dCAuc3YtcmFua2luZy1pdGVtX19pY29uLWNvbnRhaW5lcnttYXJnaW4tbGVmdDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc3YtcmFua2luZy1zaG9ydGN1dHtjdXJzb3I6Z3JhYmJpbmc7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMDtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTttaW4td2lkdGg6MTAwcHg7bWF4LXdpZHRoOjQwMHB4O2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1tZWRpdW0sMCAycHggNnB4IDAgcmdiYSgwLDAsMCwuMSkpLHZhcigtLXNqcy1zaGFkb3ctbGFyZ2UsMCA4cHggMTZweCAwIHJnYmEoMCwwLDAsLjEpKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSl9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5re2Rpc3BsYXk6ZmxleH0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstdmVydGljYWx7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLXZlcnRpY2FsIC5zdi1yYW5raW5nX19jb250YWluZXJzLWRpdmlkZXJ7bWFyZ2luOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIDA7aGVpZ2h0OjFweH0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstdmVydGljYWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHl7cGFkZGluZy10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7cGFkZGluZy1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdi1yYW5raW5nLWl0ZW0tLWFuaW1hdGUtaXRlbS1yZW1vdmluZ3stLWFuaW1hdGlvbi1oZWlnaHQ6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsIHZhcigtLWJhc2UtdW5pdCwgOHB4KSkpKTthbmltYXRpb24tbmFtZTptb3ZlSW4sZmFkZUluO2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtcmFua2luZy1tb3ZlLW91dC1kdXJhdGlvbiwxNTBtcyksdmFyKC0tc2pzLXJhbmtpbmctZmFkZS1vdXQtZHVyYXRpb24sMTAwbXMpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1zanMtcmFua2luZy1tb3ZlLW91dC1kZWxheSwwbXMpLDBzfS5zdi1yYW5raW5nLWl0ZW0tLWFuaW1hdGUtaXRlbS1hZGRpbmd7LS1hbmltYXRpb24taGVpZ2h0OmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKSk7YW5pbWF0aW9uLW5hbWU6bW92ZUluLGZhZGVJbjtvcGFjaXR5OjA7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLXJhbmtpbmctbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyksdmFyKC0tc2pzLXJhbmtpbmctZmFkZS1pbi1kdXJhdGlvbiwxMDBtcyk7YW5pbWF0aW9uLWRlbGF5OjBzLHZhcigtLXNqcy1yYW5raW5nLWZhZGUtaW4tZGVsYXksMTUwbXMpfS5zdi1yYW5raW5nLWl0ZW0tLWFuaW1hdGUtaXRlbS1hZGRpbmctZW1wdHl7LS1hbmltYXRpb24taGVpZ2h0OmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKSk7YW5pbWF0aW9uLW5hbWU6ZmFkZUluO29wYWNpdHk6MDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLXJhbmtpbmctZmFkZS1pbi1kdXJhdGlvbiwxMDBtcyk7YW5pbWF0aW9uLWRlbGF5OjB9LnN2LXJhbmtpbmctaXRlbS0tYW5pbWF0ZS1pdGVtLXJlbW92aW5nLWVtcHR5ey0tYW5pbWF0aW9uLWhlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCwgdmFyKC0tYmFzZS11bml0LCA4cHgpKSkpO2FuaW1hdGlvbi1uYW1lOmZhZGVJbjthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1yYW5raW5nLWZhZGUtb3V0LWR1cmF0aW9uLDEwMG1zKTthbmltYXRpb24tZGVsYXk6MH1Aa2V5ZnJhbWVzIHN2LWFuaW1hdGUtaXRlbS1vcGFjaXR5LXJldmVyc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6MH0xMDAle29wYWNpdHk6MX19QGtleWZyYW1lcyBzdi1hbmltYXRlLWl0ZW0tb3BhY2l0eS1rZXlmcmFtZXN7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstaG9yaXpvbnRhbCAuc3YtcmFua2luZ19fY29udGFpbmVye21heC13aWR0aDpjYWxjKDUwJSAtIDFweCl9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lcnMtZGl2aWRlcnt3aWR0aDoxcHh9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tdG8gLnN2LXJhbmtpbmctaXRlbXtsZWZ0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yYW5raW5nLS1zZWxlY3QtdG8tcmFuay1ob3Jpem9udGFsIC5zdi1yYW5raW5nX19jb250YWluZXItLWVtcHR5LnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tdG8gLnN2LXJhbmtpbmctaXRlbXtsZWZ0OmluaXRpYWx9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHkuc3YtcmFua2luZ19fY29udGFpbmVyLS10byAuc3YtcmFua2luZ19fY29udGFpbmVyLXBsYWNlaG9sZGVye3BhZGRpbmctbGVmdDpjYWxjKDUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstaG9yaXpvbnRhbCAuc3YtcmFua2luZ19fY29udGFpbmVyLS1lbXB0eS5zdi1yYW5raW5nX19jb250YWluZXItLWZyb20gLnN2LXJhbmtpbmdfX2NvbnRhaW5lci1wbGFjZWhvbGRlcntwYWRkaW5nLXJpZ2h0OmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yYW5raW5nX19jb250YWluZXItcGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7d2hpdGUtc3BhY2U6bm9ybWFsO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtwYWRkaW5nLXRvcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc3YtcmFua2luZ19fY29udGFpbmVye2ZsZXg6MX0uc3YtcmFua2luZ19fY29udGFpbmVyLS1lbXB0eXtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpjZW50ZXJ9LnN2LXJhbmtpbmdfX2NvbnRhaW5lcnMtZGl2aWRlcntiYWNrZ3JvdW5kOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1zanMtYm9yZGVyLWluc2lkZSx2YXIoLS1ib3JkZXItaW5zaWRlLHJnYmEoMCwwLDAsLjE2KSkpKX0uc3YtcmFua2luZ19fY29udGFpbmVyLS1mcm9tIC5zdi1yYW5raW5nLWl0ZW1fX2ljb24tLWZvY3Vze2Rpc3BsYXk6bm9uZX0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstaG9yaXpvbnRhbCAuc3YtcmFua2luZ19fY29udGFpbmVyLS10byAuc3YtcmFua2luZy1pdGVte2xlZnQ6MCFpbXBvcnRhbnQ7cGFkZGluZy1sZWZ0OjE2cHh9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tdG8gLnN2LXJhbmtpbmctaXRlbSAuc3YtcmFua2luZy1pdGVtX19naG9zdHtsZWZ0OmluaXRpYWx9OnJvb3R7LS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbjoxNTBtc30uc3YtbGlzdHtwYWRkaW5nOjA7bWFyZ2luOjA7b3ZlcmZsb3cteTphdXRvO2JhY2tncm91bmQ6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uc3YtbGlzdF9fZW1wdHktY29udGFpbmVye3dpZHRoOjEwMCU7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWxpc3RfX2VtcHR5LXRleHR7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWFsaWduOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1saXN0X19pdGVte3dpZHRoOjEwMCU7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zdi1saXN0X19pdGVtLWJvZHl7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctYmxvY2s6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7cGFkZGluZy1pbmxpbmUtZW5kOmNhbGMoOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKSxjb2xvciB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tZm9jdXNlZDpub3QoLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkKXtvdXRsaW5lOjB9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tZm9jdXNlZDpub3QoLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkKSAuc3YtbGlzdF9faXRlbS1ib2R5e2JvcmRlcjpjYWxjKC4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7cGFkZGluZy1ibG9jazpjYWxjKC43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDcuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKDEuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtbGlzdF9faXRlbS5zdi1saXN0X19pdGVtLS1mb2N1c2VkOm5vdCguc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQpIC5zdi1zdHJpbmctdmlld2Vye21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYygtLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWxpc3RfX2l0ZW06Zm9jdXMsLnN2LWxpc3RfX2l0ZW06aG92ZXJ7b3V0bGluZTowfS5zdi1saXN0X19pdGVtLS1ob3ZlcmVkPi5zdi1saXN0X19pdGVtLWJvZHksLnN2LWxpc3RfX2l0ZW06Zm9jdXMgLnN2LWxpc3RfX2l0ZW0tYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpfS5zdi1saXN0X19pdGVtLS13aXRoLWljb24uc3YtbGlzdF9faXRlbS0td2l0aC1pY29ue3BhZGRpbmc6MH0uc3YtbGlzdF9faXRlbS0td2l0aC1pY29uLnN2LWxpc3RfX2l0ZW0tLXdpdGgtaWNvbj4uc3YtbGlzdF9faXRlbS1ib2R5e3BhZGRpbmctdG9wOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtnYXA6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpmbGV4fS5zdi1saXN0X19pdGVtLWljb257ZmxvYXQ6bGVmdDtmbGV4LXNocmluazowO3dpZHRoOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtbGlzdF9faXRlbS1pY29uIHN2Z3tkaXNwbGF5OmJsb2NrfS5zdi1saXN0X19pdGVtLWljb24gdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1saXN0LWl0ZW1fX21hcmtlci1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2ZsZXgtc2hyaW5rOjA7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWxpc3QtaXRlbV9fbWFya2VyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2t9LnN2LWxpc3QtaXRlbV9fbWFya2VyLWljb24gdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfVtkaXI9cnRsXSAuc3YtbGlzdF9faXRlbS1pY29uLFtzdHlsZSo9XCJkaXJlY3Rpb246IHJ0bFwiXSAuc3YtbGlzdF9faXRlbS1pY29uLFtzdHlsZSo9XCJkaXJlY3Rpb246cnRsXCJdIC5zdi1saXN0X19pdGVtLWljb257ZmxvYXQ6cmlnaHR9LnN2LWxpc3RfX2l0ZW0tc2VwYXJhdG9ye21hcmdpbjp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSAwO2hlaWdodDoxcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc3YtbGlzdC0tZmlsdGVyaW5nIC5zdi1saXN0X19pdGVtLXNlcGFyYXRvcntkaXNwbGF5Om5vbmV9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQuc3YtbGlzdF9faXRlbS0tZm9jdXNlZD4uc3YtbGlzdF9faXRlbS1ib2R5LC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkOmhvdmVyPi5zdi1saXN0X19pdGVtLWJvZHksLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQ+LnN2LWxpc3RfX2l0ZW0tYm9keSwuc3YtbXVsdGktc2VsZWN0LWxpc3QgLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQuc3YtbGlzdF9faXRlbS0tZm9jdXNlZD4uc3YtbGlzdF9faXRlbS1ib2R5LGxpOmZvY3VzIC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkPi5zdi1saXN0X19pdGVtLWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSk7Zm9udC13ZWlnaHQ6NjAwfS5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWljb24gdXNlLC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkLnN2LWxpc3RfX2l0ZW0tLWZvY3VzZWQgLnN2LWxpc3RfX2l0ZW0taWNvbiB1c2UsLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQ6aG92ZXIgLnN2LWxpc3RfX2l0ZW0taWNvbiB1c2UsLnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkLnN2LWxpc3RfX2l0ZW0tLWZvY3VzZWQgLnN2LWxpc3RfX2l0ZW0taWNvbiB1c2UsbGk6Zm9jdXMgLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3RfX2l0ZW0taWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3QtaXRlbV9fbWFya2VyLWljb24gdXNlLC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkLnN2LWxpc3RfX2l0ZW0tLWZvY3VzZWQgLnN2LWxpc3QtaXRlbV9fbWFya2VyLWljb24gdXNlLC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkOmhvdmVyIC5zdi1saXN0LWl0ZW1fX21hcmtlci1pY29uIHVzZSwuc3YtbXVsdGktc2VsZWN0LWxpc3QgLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQuc3YtbGlzdF9faXRlbS0tZm9jdXNlZCAuc3YtbGlzdC1pdGVtX19tYXJrZXItaWNvbiB1c2UsbGk6Zm9jdXMgLnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnN2LWxpc3QtaXRlbV9fbWFya2VyLWljb24gdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWJvZHksLnN2LW11bHRpLXNlbGVjdC1saXN0IC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkOmhvdmVyIC5zdi1saXN0X19pdGVtLWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3ItbGlnaHQsdmFyKC0tcHJpbWFyeS1saWdodCxyZ2JhKDI1LDE3OSwxNDgsLjEpKSk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSkpO2ZvbnQtd2VpZ2h0OjQwMH0uc3YtbGlzdF9faXRlbS5zdi1saXN0X19pdGVtLS1zZWxlY3RlZC5zdi1saXN0X19pdGVtLS1ncm91cD4uc3YtbGlzdF9faXRlbS1ib2R5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTtmb250LXdlaWdodDo0MDB9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQuc3YtbGlzdF9faXRlbS0tZ3JvdXA+LnN2LWxpc3RfX2l0ZW0tYm9keSB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tZGlzYWJsZWQgLnN2LWxpc3RfX2l0ZW0tYm9keXtjdXJzb3I6ZGVmYXVsdDtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnN2LWxpc3RfX2l0ZW0gc3Bhbnt3aGl0ZS1zcGFjZTpub3dyYXB9LnN2LWxpc3RfX2l0ZW0tdGV4dC0td3JhcCBzcGFue3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLXdyYXA6YnJlYWstd29yZH0uc3YtbGlzdF9fY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MH0uc3YtbGlzdF9fZmlsdGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItaW5zaWRlLHZhcigtLWJvcmRlci1pbnNpZGUscmdiYSgwLDAsMCwuMTYpKSk7YmFja2dyb3VuZDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7cGFkZGluZy1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnN2LWxpc3RfX2ZpbHRlci1pY29ue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1saXN0X19maWx0ZXItaWNvbiAuc3Ytc3ZnLWljb257d2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1saXN0X19maWx0ZXItaWNvbiAuc3Ytc3ZnLWljb24gdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1saXN0X19pbnB1dHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTttaW4td2lkdGg6Y2FsYygzMCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO291dGxpbmU6MDtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7cGFkZGluZzpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoNyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtib3JkZXI6bm9uZX0uc3YtbGlzdF9faW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKX0uc3YtbGlzdF9faW5wdXQ6ZGlzYWJsZWQsLnN2LWxpc3RfX2lucHV0OmRpc2FibGVkOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnN2LWxpc3RfX2xvYWRpbmctaW5kaWNhdG9ye3BvaW50ZXItZXZlbnRzOm5vbmV9LnN2LWxpc3RfX2xvYWRpbmctaW5kaWNhdG9yIC5zdi1saXN0X19pdGVtLWJvZHl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH06cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zdi1zYXZlLWRhdGFfcm9vdHtwb3NpdGlvbjpmaXhlZDtsZWZ0OjUwJTtib3R0b206Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7b3BhY2l0eTowO3BhZGRpbmc6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LW1lZGl1bSwwIDJweCA2cHggMCByZ2JhKDAsMCwwLC4xKSk7Ym9yZGVyLXJhZGl1czpjYWxjKDIgKiAodmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSkpO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTttaW4td2lkdGg6Y2FsYygzMCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MTYwMDtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWShjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5O3RyYW5zaXRpb24tZGVsYXk6LjI1czt0cmFuc2l0aW9uOi41c30uc3Ytc2F2ZS1kYXRhX3Jvb3Quc3Ytc2F2ZS1kYXRhX3Jvb3QtLXNob3due3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgwKTt0cmFuc2l0aW9uLWRlbGF5Oi4yNXM7b3BhY2l0eTouNzV9LnN2LXNhdmUtZGF0YV9yb290IHNwYW57ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxfS5zdi1zYXZlLWRhdGFfcm9vdCAuc3YtYWN0aW9uLWJhcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MH0uc3Ytc2F2ZS1kYXRhX3Jvb3QtLXNob3duLnN2LXNhdmUtZGF0YV9lcnJvciwuc3Ytc2F2ZS1kYXRhX3Jvb3QtLXNob3duLnN2LXNhdmUtZGF0YV9zdWNjZXNze29wYWNpdHk6MX0uc3Ytc2F2ZS1kYXRhX3Jvb3Quc3Ytc2F2ZS1kYXRhX3Jvb3QtLXdpdGgtYnV0dG9uc3twYWRkaW5nOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1zYXZlLWRhdGFfcm9vdC5zdi1zYXZlLWRhdGFfZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsdmFyKC0tcmVkLCNlNjBhM2UpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7Zm9udC13ZWlnaHQ6NjAwO2dhcDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3Ytc2F2ZS1kYXRhX3Jvb3Quc3Ytc2F2ZS1kYXRhX2Vycm9yIC5zdi1zYXZlLWRhdGFfYnV0dG9ue2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7aGVpZ2h0OmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsdmFyKC0tcmVkLCNlNjBhM2UpKTtib3JkZXI6Y2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSkpO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Ytc2F2ZS1kYXRhX3Jvb3Quc3Ytc2F2ZS1kYXRhX2Vycm9yIC5zdi1zYXZlLWRhdGFfYnV0dG9uOmZvY3VzLC5zdi1zYXZlLWRhdGFfcm9vdC5zdi1zYXZlLWRhdGFfZXJyb3IgLnN2LXNhdmUtZGF0YV9idXR0b246aG92ZXJ7Y29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLHZhcigtLXJlZCwjZTYwYTNlKSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnN2LXNhdmUtZGF0YV9yb290LnN2LXNhdmUtZGF0YV9zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NjAwfS5zdi1zdHJpbmctdmlld2VyLnN2LXN0cmluZy12aWV3ZXItLW11bHRpbGluZXt3aGl0ZS1zcGFjZTpwcmUtd3JhcH1Aa2V5ZnJhbWVzIGZhZGVJbntmcm9te29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgY2hhbmdlSGVpZ2h0e2Zyb217aGVpZ2h0OnZhcigtLWFuaW1hdGlvbi1oZWlnaHQtZnJvbSl9dG97aGVpZ2h0OnZhcigtLWFuaW1hdGlvbi1oZWlnaHQtdG8pfX1Aa2V5ZnJhbWVzIG1vdmVJbldpdGhPdmVyZmxvd3tmcm9te292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MH05OSV7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDp2YXIoLS1hbmltYXRpb24taGVpZ2h0KX10b3tvdmVyZmxvdzp2aXNpYmxlO2hlaWdodDp2YXIoLS1hbmltYXRpb24taGVpZ2h0KX19QGtleWZyYW1lcyBtb3ZlSW57ZnJvbXtoZWlnaHQ6MH10b3toZWlnaHQ6dmFyKC0tYW5pbWF0aW9uLWhlaWdodCl9fUBrZXlmcmFtZXMgcGFkZGluZ0ZhZGVJbntmcm9te3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MH10b3twYWRkaW5nLWJvdHRvbTp2YXIoLS1hbmltYXRpb24tcGFkZGluZy1ib3R0b20pO3BhZGRpbmctdG9wOnZhcigtLWFuaW1hdGlvbi1wYWRkaW5nLXRvcCl9fS5zZC1lbGVtZW50e3BhZGRpbmctbGVmdDp2YXIoLS1zdi1lbGVtZW50LWFkZC1wYWRkaW5nLWxlZnQsMCk7cGFkZGluZy1yaWdodDp2YXIoLS1zdi1lbGVtZW50LWFkZC1wYWRkaW5nLXJpZ2h0LDApfS5zZC1lbGVtZW50X190aXRsZXtvdXRsaW5lOjB9LnNkLWVsZW1lbnRfX3RpdGxlLnNkLWVsZW1lbnRfX3RpdGxlLS1kaXNhYmxlZHtvcGFjaXR5Oi4yNX0uc2Qtcm9vdC0tcmVhZG9ubHkgLnNkLWVsZW1lbnRfX3RpdGxlLnNkLWVsZW1lbnRfX3RpdGxlLS1kaXNhYmxlZHtvcGFjaXR5OjF9LnNkLWVsZW1lbnQtLWludmlzaWJsZXtvcGFjaXR5Oi4zNX0uc2QtdGl0bGUuc2QtZWxlbWVudF9fdGl0bGV7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXdlaWdodCw2MDApO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKX0uc2QtZWxlbWVudF9faGVhZGVyIC5zdi1zdHJpbmctZWRpdG9ye21heC13aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vcm1hbH0uc2QtZWxlbWVudF9fdGl0bGV7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luOjB9LnNkLWVsZW1lbnRfX3RpdGxlIC5zZC1lbGVtZW50X19udW17Zm9udC1zaXplOmNhbGMoLjc1ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKX0uc2QtZWxlbWVudF9fdGl0bGUgc3Bhbntmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpfS5zZC1lbGVtZW50X190aXRsZSAuc3YtdGl0bGUtYWN0aW9uc19fdGl0bGV7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uc2QtZWxlbWVudF9fdGl0bGUgLnN2LXRpdGxlLWFjdGlvbnNfX3RpdGxle3doaXRlLXNwYWNlOm5vd3JhcH0uc2QtZWxlbWVudF9fdGl0bGUgLnN2LXN0cmluZy12aWV3ZXJ7d2hpdGUtc3BhY2U6bm9ybWFsfS5zZC1lbGVtZW50X190aXRsZSAuc3Ytc3RyaW5nLXZpZXdlci5zdi1zdHJpbmctdmlld2VyLS1tdWx0aWxpbmV7d2hpdGUtc3BhY2U6cHJlLXdyYXB9LnNkLWVsZW1lbnRfX251bXtmbG9hdDpsZWZ0O3BhZGRpbmctdG9wOmNhbGMoLjYyNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctYm90dG9tOmNhbGMoLjM3NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3dpZHRoOmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2ZvbnQtc2l6ZTpjYWxjKC43NSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSk7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKC01ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7dGV4dC1hbGlnbjplbmQ7Ym94LXNpemluZzpib3JkZXItYm94O3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4LXNocmluazowfS5zZC1lbGVtZW50X19udW0rc3BhbntmbG9hdDpsZWZ0O3dpZHRoOjB9W2Rpcj1ydGxdIC5zZC1lbGVtZW50X19udW0sW3N0eWxlKj1cImRpcmVjdGlvbjogcnRsXCJdIC5zZC1lbGVtZW50X19udW0sW3N0eWxlKj1cImRpcmVjdGlvbjpydGxcIl0gLnNkLWVsZW1lbnRfX251bXtmbG9hdDpyaWdodH1bZGlyPXJ0bF0gLnNkLWVsZW1lbnRfX3RpdGxlLS1leHBhbmRhYmxlOmJlZm9yZSxbc3R5bGUqPVwiZGlyZWN0aW9uOiBydGxcIl0gLnNkLWVsZW1lbnRfX3RpdGxlLS1leHBhbmRhYmxlOmJlZm9yZSxbc3R5bGUqPVwiZGlyZWN0aW9uOnJ0bFwiXSAuc2QtZWxlbWVudF9fdGl0bGUtLWV4cGFuZGFibGU6YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc2QtZWxlbWVudF9fdGl0bGUtLW51bS1pbmxpbmUgLnNkLWVsZW1lbnRfX251bXtmbG9hdDpub25lO21hcmdpbi1pbmxpbmUtc3RhcnQ6MDt3aWR0aDphdXRvO3BhZGRpbmctaW5saW5lLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnNkLWVsZW1lbnRfX3RpdGxlLS1udW0taW5saW5lIC5zZC1lbGVtZW50X19udW0rc3BhbntmbG9hdDpub25lO3dpZHRoOmF1dG99LnNkLWVsZW1lbnRfX3RpdGxlLS1leHBhbmRhYmxlLnNkLWVsZW1lbnRfX3RpdGxlLS1leHBhbmRhYmxle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9LnNkLWVsZW1lbnRfX3RpdGxlLS1leHBhbmRhYmxlOmJlZm9yZXtjb250ZW50OlwiXCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNiAxNEw1IDEzTDEwIDhMNSAzTDYgMkwxMiA4TDYgMTRaJyBmaWxsPSclMjM5MDkwOTAnLyUzRSUzQy9zdmclM0UlMEFcIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoLTMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt0b3A6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5zZC1lbGVtZW50X190aXRsZS0tZXhwYW5kYWJsZS5zZC1lbGVtZW50X190aXRsZS0tZXhwYW5kZWQ6YmVmb3Jle3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zZC1lbGVtZW50LS13aXRoLWZyYW1le2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtY29ybmVyUmFkaXVzLHZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpO3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNkLWJhc2UtcGFkZGluZykgKyB2YXIoLS1zdi1lbGVtZW50LWFkZC1wYWRkaW5nLWxlZnQsMHB4KSk7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNkLWJhc2UtcGFkZGluZykgKyB2YXIoLS1zdi1lbGVtZW50LWFkZC1wYWRkaW5nLXJpZ2h0LDBweCkpO3BhZGRpbmctYm90dG9tOnZhcigtLXNkLWJhc2UtcGFkZGluZyk7YmFja2dyb3VuZDp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1iYWNrY29sb3IsdmFyKC0tc2pzLXF1ZXN0aW9uLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpKSk7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LXNtYWxsLDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjE1KSl9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtZWxlbWVudC0tY29tcGFjdHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtY29ybmVyUmFkaXVzLHZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCkpO2JveC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fUBrZXlmcmFtZXMgZWxlbWVudE1vdmVJbntmcm9te2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MDttYXgtd2lkdGg6MDttaW4td2lkdGg6MDt3aWR0aDowO2hlaWdodDowO3BhZGRpbmctbGVmdDowO292ZXJmbG93OmhpZGRlbn10b3toZWlnaHQ6dmFyKC0tYW5pbWF0aW9uLWhlaWdodCk7ZmxleC1iYXNpczp2YXIoLS1hbmltYXRpb24td2lkdGgpO3dpZHRoOnZhcigtLWFuaW1hdGlvbi13aWR0aCk7bWluLXdpZHRoOnZhcigtLWFuaW1hdGlvbi13aWR0aCk7cGFkZGluZy1sZWZ0OnZhcigtLWFuaW1hdGlvbi1wYWRkaW5nLWxlZnQpO292ZXJmbG93OnZpc2libGV9fS5zZC1lbGVtZW50LXdyYXBwZXItLWZhZGUtaW57YW5pbWF0aW9uLW5hbWU6ZWxlbWVudE1vdmVJbixmYWRlSW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtZWxlbWVudC1tb3ZlLWluLWR1cmF0aW9uLDI1MG1zKSx2YXIoLS1zanMtZWxlbWVudC1mYWRlLWluLWR1cmF0aW9uLDUwMG1zKTthbmltYXRpb24tZGVsYXk6MHMsdmFyKC0tc2pzLWVsZW1lbnQtZmFkZS1pbi1kZWxheSwxMDBtcyk7b3BhY2l0eTowfS5zZC1lbGVtZW50LXdyYXBwZXItLWZhZGUtb3V0e2FuaW1hdGlvbi1uYW1lOmVsZW1lbnRNb3ZlSW4sZmFkZUluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40MiwwLDEsMSk7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1lbGVtZW50LW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKSx2YXIoLS1zanMtZWxlbWVudC1mYWRlLW91dC1kdXJhdGlvbiwxNTBtcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLXNqcy1lbGVtZW50LW1vdmUtb3V0LWRlbGF5LDBtcyksMHN9LnNkLWVsZW1lbnRfX2NvbnRlbnR7Ym94LXNpemluZzpib3JkZXItYm94fS5zZC1lbGVtZW50X19jb250ZW50LS1mYWRlLWluLC5zZC1lbGVtZW50X19jb250ZW50LS1mYWRlLW91dHstLWFuaW1hdGlvbi1wYWRkaW5nLXRvcDowOy0tYW5pbWF0aW9uLXBhZGRpbmctYm90dG9tOjB9LnNkLWVsZW1lbnRfX2NvbnRlbnQtLWZhZGUtaW57YW5pbWF0aW9uLW5hbWU6ZmFkZUluLG1vdmVJbldpdGhPdmVyZmxvdyxwYWRkaW5nRmFkZUluO21pbi1oZWlnaHQ6MCFpbXBvcnRhbnQ7b3BhY2l0eTowO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWV4cGFuZC1mYWRlLWluLWR1cmF0aW9uLDUwMG1zKSx2YXIoLS1zanMtZXhwYW5kLW1vdmUtaW4tZHVyYXRpb24sMTUwbXMpLHZhcigtLXNqcy1leHBhbmQtbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLXNqcy1leHBhbmQtZmFkZS1pbi1kZWxheSwxNTBtcyksMHMsMHN9LnNkLWVsZW1lbnRfX2NvbnRlbnQtLWZhZGUtb3V0e2FuaW1hdGlvbi1uYW1lOmZhZGVJbixtb3ZlSW5XaXRoT3ZlcmZsb3cscGFkZGluZ0ZhZGVJbjttaW4taGVpZ2h0OjAhaW1wb3J0YW50O2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40MiwwLDEsMSk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1jb2xsYXBzZS1mYWRlLW91dC1kdXJhdGlvbiwxNTBtcyksdmFyKC0tc2pzLWNvbGxhcHNlLW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKSx2YXIoLS1zanMtY29sbGFwc2UtbW92ZS1vdXQtZHVyYXRpb24sMjUwbXMpO2FuaW1hdGlvbi1kZWxheTowcyx2YXIoLS1zanMtY29sbGFwc2UtbW92ZS1vdXQtZGVsYXksMTAwbXMpLHZhcigtLXNqcy1jb2xsYXBzZS1tb3ZlLW91dC1kZWxheSwxMDBtcyl9LnNkLWVsZW1lbnQtLWV4cGFuZGFibGUuc2QtZWxlbWVuZXQtLWV4cGFuZGFibGUtLWFuaW1hdGluZz4uc2QtZWxlbWVudF9faGVhZGVyOmZvY3VzLXdpdGhpbiwuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW5ldC0tZXhwYW5kYWJsZS0tYW5pbWF0aW5nPi5zZC1lbGVtZW50X19oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uc2QtZWxlbWVuZXQtLWV4cGFuZGFibGUtLWFuaW1hdGluZy5zZC1lbGVtZW50LS1leHBhbmRhYmxle3RyYW5zaXRpb24tcHJvcGVydHk6cGFkZGluZy10b3AscGFkZGluZy1ib3R0b219LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZT4uc2QtZWxlbWVudF9faGVhZGVye3RyYW5zaXRpb24tcHJvcGVydHk6cGFkZGluZy10b3AscGFkZGluZy1ib3R0b219LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW50LS1leHBhbmRlZHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1leHBhbmQtbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW50LS1leHBhbmRlZD4uc2QtZWxlbWVudF9faGVhZGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjU4LDEpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWV4cGFuZC1tb3ZlLWluLWR1cmF0aW9uLDE1MG1zKX0uc2QtZWxlbWVuZXQtLWV4cGFuZGFibGUtLWFuaW1hdGluZy5zZC1lbGVtZW50LS1leHBhbmRhYmxlLnNkLWVsZW1lbnQtLWV4cGFuZGVkPi5zZC1lbGVtZW50X19oZWFkZXIgLnNkLWVsZW1lbnRfX3RpdGxlOmJlZm9yZXt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1leHBhbmQtbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW50LS1jb2xsYXBzZWR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuNTgsMSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtY29sbGFwc2UtbW92ZS1vdXQtZHVyYXRpb24sMjUwbXMpO3RyYW5zaXRpb24tZGVsYXk6dmFyKC0tc2pzLWNvbGxhcHNlLW1vdmUtb3V0LWRlbGF5LDEwMG1zKX0uc2QtZWxlbWVuZXQtLWV4cGFuZGFibGUtLWFuaW1hdGluZy5zZC1lbGVtZW50LS1leHBhbmRhYmxlLnNkLWVsZW1lbnQtLWNvbGxhcHNlZD4uc2QtZWxlbWVudF9faGVhZGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjU4LDEpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWNvbGxhcHNlLW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKTt0cmFuc2l0aW9uLWRlbGF5OnZhcigtLXNqcy1jb2xsYXBzZS1tb3ZlLW91dC1kZWxheSwxMDBtcyl9LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW50LS1jb2xsYXBzZWQ+LnNkLWVsZW1lbnRfX2hlYWRlciAuc2QtZWxlbWVudF9fdGl0bGU6YmVmb3Jle3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWNvbGxhcHNlLW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKTt0cmFuc2l0aW9uLWRlbGF5OnZhcigtLXNqcy1jb2xsYXBzZS1tb3ZlLW91dC1kZWxheSwxMDBtcyl9LnNkLWVsZW1lbmV0LS1leHBhbmRhYmxlLS1hbmltYXRpbmcuc2QtZWxlbWVudC0tZXhwYW5kYWJsZS5zZC1lbGVtZW50LS1jb21wbGV4Om5vdCguc2QtcXVlc3Rpb24tLWVtcHR5KT4uc2QtZWxlbWVudF9faGVhZGVyLS1sb2NhdGlvbi10b3A6YWZ0ZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjA7aGVpZ2h0OjA7LS1hbmltYXRpb24taGVpZ2h0OjFweDthbmltYXRpb24tbmFtZTpmYWRlSW4sbW92ZUluO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZGVsYXk6dmFyKC0tc2pzLWV4cGFuZC1mYWRlLWluLWRlbGF5LDE1MG1zKSwwczthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWV4cGFuZC1mYWRlLWluLWR1cmF0aW9uLDUwMG1zKSx2YXIoLS1zanMtZXhwYW5kLW1vdmUtaW4tZHVyYXRpb24sMTUwbXMpfS5zZC1lbGVtZW5ldC0tZXhwYW5kYWJsZS0tYW5pbWF0aW5nLnNkLWVsZW1lbnQtLWV4cGFuZGFibGUuc2QtZWxlbWVudC0tY29tcGxleDpub3QoLnNkLXF1ZXN0aW9uLS1lbXB0eSkuc2QtZWxlbWVudC0tY29sbGFwc2VkIC5zZC1lbGVtZW50X19oZWFkZXItLWxvY2F0aW9uLXRvcDphZnRlcnthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7b3BhY2l0eToxO2hlaWdodDoxcHg7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQyLDAsMSwxKTthbmltYXRpb24tZGVsYXk6MHMsdmFyKC0tc2pzLWNvbGxhcHNlLW1vdmUtb3V0LWRlbGF5LDEwMG1zKTthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLWNvbGxhcHNlLWZhZGUtb3V0LWR1cmF0aW9uLDE1MG1zKSx2YXIoLS1zanMtY29sbGFwc2UtbW92ZS1vdXQtZHVyYXRpb24sMjUwbXMpfS5zZC1xdWVzdGlvbntwb3NpdGlvbjpyZWxhdGl2ZX0uc2QtcXVlc3Rpb24tLW5vLXBvaW50ZXItZXZlbnRzIC5zZC1yYXRpbmcgbGFiZWwsLnNkLXF1ZXN0aW9uLS1uby1wb2ludGVyLWV2ZW50cyAuc2Qtc2VsZWN0YmFzZSBsYWJlbHtwb2ludGVyLWV2ZW50czpub25lfS5zZC1lbGVtZW50X19lcmJveC0tYWJvdmUtZWxlbWVudHttYXJnaW4tYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1xdWVzdGlvbl9fZXJib3gtLWJlbG93LXF1ZXN0aW9ue21hcmdpbi10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXF1ZXN0aW9uX19jb250ZW50LS1zdXBwb3J0LWNvbnRhaW5lci1xdWVyaWVze2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplfS5zZC1xdWVzdGlvbi0tdGl0bGUtdG9wPi5zZC1xdWVzdGlvbl9fZXJib3gtLWFib3ZlLXF1ZXN0aW9ue21hcmdpbi1ib3R0b206Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpfS5zZC1xdWVzdGlvbi0tZGVzY3JpcHRpb24tdW5kZXItaW5wdXQ+LnNkLXF1ZXN0aW9uX19lcmJveC0tYmVsb3ctcXVlc3Rpb24sLnNkLXF1ZXN0aW9uLS10aXRsZS1ib3R0b20+LnNkLXF1ZXN0aW9uX19lcmJveC0tYmVsb3ctcXVlc3Rpb257bWFyZ2luLXRvcDpjYWxjKC4yNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykgKyAuNSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc2QtZWxlbWVudC0td2l0aC1mcmFtZT4uc2QtZWxlbWVudF9fZXJib3gtLWFib3ZlLWVsZW1lbnR7bWFyZ2luLWJvdHRvbTp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSB2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpIDAgMH0uc2QtcXVlc3Rpb24tLWxlZnQ+LnNkLWVsZW1lbnRfX2VyYm94LS1hYm92ZS1lbGVtZW50e21hcmdpbi1ib3R0b206MH0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1xdWVzdGlvbi0tbGVmdD4uc2QtZWxlbWVudF9fZXJib3gtLWFib3ZlLWVsZW1lbnR7bWFyZ2luLWJvdHRvbTpjYWxjKDEgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKX0uc2QtZWxlbWVudC0td2l0aC1mcmFtZT4uc2QtcXVlc3Rpb25fX2VyYm94LS1iZWxvdy1xdWVzdGlvbnttYXJnaW4tdG9wOmF1dG87Ym9yZGVyLXJhZGl1czowIDAgdmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSB2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpfS5zZC1lbGVtZW50LS13aXRoLWZyYW1lLnNkLXF1ZXN0aW9uLS10aXRsZS10b3A+LnNkLXF1ZXN0aW9uX19lcmJveC0tYWJvdmUtcXVlc3Rpb257bWFyZ2luLWJvdHRvbTpjYWxjKC41ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSArIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1xdWVzdGlvbi0tZGVzY3JpcHRpb24tdW5kZXItaW5wdXQ+LnNkLXF1ZXN0aW9uX19lcmJveC0tYmVsb3ctcXVlc3Rpb24sLnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtcXVlc3Rpb24tLXRpdGxlLWJvdHRvbT4uc2QtcXVlc3Rpb25fX2VyYm94LS1iZWxvdy1xdWVzdGlvbnttYXJnaW4tdG9wOmNhbGMoLjUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpICsgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpfS5zZC1xdWVzdGlvbl9faGVhZGVye3dpZHRoOjEwMCV9LnNkLXF1ZXN0aW9uX19oZWFkZXItLWxvY2F0aW9uLXRvcHtwYWRkaW5nLWJvdHRvbTpjYWxjKC41ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSl9LnNkLXF1ZXN0aW9uX19oZWFkZXItLWxvY2F0aW9uLS1ib3R0b217cGFkZGluZy10b3A6Y2FsYyguMzc1ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSl9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtcXVlc3Rpb24tLXRpdGxlLXRvcHtwYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpfS5zZC1lbGVtZW50LS13aXRoLWZyYW1lLnNkLXF1ZXN0aW9uLS1lcnJvci10b3B7cGFkZGluZy10b3A6MH0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1xdWVzdGlvbi0tZXJyb3ItYm90dG9te3BhZGRpbmctYm90dG9tOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1xdWVzdGlvbi0tZXJyb3ItYm90dG9tPi5zZC1xdWVzdGlvbl9fY29udGVudHttYXJnaW4tYm90dG9tOnZhcigtLXNkLWJhc2UtcGFkZGluZyl9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWU+LnNkLWVsZW1lbnRfX2VyYm94e21hcmdpbi1sZWZ0OmNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKTttYXJnaW4tcmlnaHQ6Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO3dpZHRoOmNhbGMoMTAwJSArIDIgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKX0uc2Qtc2Nyb2xsYWJsZSAuc2QtcXVlc3Rpb25fX2NvbnRlbnR7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMH0uc2QtcXVlc3Rpb25fX2hlYWRlci0tbG9jYXRpb24tLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6YXV0bzt2ZXJ0aWNhbC1hbGlnbjp0b3A7bWFyZ2luLXRvcDpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1xdWVzdGlvbi0tbGVmdHtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246cm93O2NvbHVtbi1nYXA6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cm93LWdhcDpjYWxjKC4yNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpfS5zZC1xdWVzdGlvbl9fY29udGVudC0tbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4OjE7bWFyZ2luLXRvcDpjYWxjKC4yNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpIDB9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWU+LnNkLXF1ZXN0aW9uX19jb250ZW50LS1sZWZ0e21hcmdpbjowfS5zZC1xdWVzdGlvbl9fcmVxdWlyZWQtdGV4dHtjb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsdmFyKC0tcmVkLCNlNjBhM2UpKTt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnNkLXF1ZXN0aW9uX19jb21tZW50LWFyZWF7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7bWFyZ2luLXRvcDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7d2hpdGUtc3BhY2U6bm9ybWFsfS5zZC1xdWVzdGlvbl9fcGxhY2Vob2xkZXJ7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2dhcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4taGVpZ2h0OmNhbGMoMjQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtmb250LXNpemU6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQscmdiYSgwLDAsMCwuNDUpKSl9LnNkLXF1ZXN0aW9uX19wbGFjZWhvbGRlcj5kaXYgLnN2LXN0cmluZy12aWV3ZXIsLnNkLXF1ZXN0aW9uX19wbGFjZWhvbGRlcj5zcGFuIC5zdi1zdHJpbmctdmlld2Vye3doaXRlLXNwYWNlOnByZS1saW5lfS5zZC1zY3JvbGxhYmxlLWNvbnRhaW5lcjpub3QoLnNkLXNjcm9sbGFibGUtY29udGFpbmVyLS1jb21wYWN0KXt3aWR0aDptYXgtY29udGVudDtvdmVyZmxvdzp2aXNpYmxlO21heC13aWR0aDoxMDAlfS5zZC1xdWVzdGlvbl9fdGl0bGUtLWVtcHR5IC5zdi1zdHJpbmctdmlld2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXNpemUsdmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpKX0uc2QtcXVlc3Rpb25fX2NvbnRlbnR7Ym94LXNpemluZzpib3JkZXItYm94fS5zZC1lcnJvcntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtmb250LXNpemU6Y2FsYyguNzUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLHZhcigtLXJlZCwjZTYwYTNlKSk7d2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQtbGlnaHQsdmFyKC0tcmVkLWxpZ2h0LHJnYmEoMjMwLDEwLDYyLC4xKSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2QtZWxlbWVudC0tY29sbGFwc2VkPi5zZC1lbGVtZW50X19oZWFkZXIsLnNkLWVsZW1lbnQtLWV4cGFuZGVkPi5zZC1lbGVtZW50X19oZWFkZXJ7Y3Vyc29yOnBvaW50ZXJ9LnNkLWVsZW1lbnQtLWNvbGxhcHNlZD4uc2QtZWxlbWVudF9faGVhZGVye3BhZGRpbmc6Y2FsYygwICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdmFyKC0tc2QtYmFzZS1wYWRkaW5nKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSk7d2lkdGg6Y2FsYygxMDAlICsgMiAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpfS5zZC1lbGVtZW50LS1jb2xsYXBzZWQuc2QtZWxlbWVudC0td2l0aC1mcmFtZXtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjB9LnNkLWVsZW1lbnQtLWNvbGxhcHNlZC5zZC1lbGVtZW50LS13aXRoLWZyYW1lPi5zZC1lbGVtZW50X19oZWFkZXJ7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1jb3JuZXJSYWRpdXMsdmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSl9LnNkLWVsZW1lbnQtLWNvbGxhcHNlZD4uc2QtZWxlbWVudF9faGVhZGVyOmZvY3VzLXdpdGhpbiwuc2QtZWxlbWVudC0tY29sbGFwc2VkPi5zZC1lbGVtZW50X19oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKX0uc2QtZWxlbWVudC0tY29sbGFwc2VkLnNkLWVsZW1lbnQtLW5lc3RlZD4uc2QtZWxlbWVudF9faGVhZGVyOmZvY3VzLXdpdGhpbiwuc2QtZWxlbWVudC0tY29sbGFwc2VkLnNkLWVsZW1lbnQtLW5lc3RlZD4uc2QtZWxlbWVudF9faGVhZGVyOmhvdmVye2JveC1zaGFkb3c6MCBjYWxjKC0yICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMCAwIHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0tbGlnaHQsdmFyKC0tYmFja2dyb3VuZC1kaW0tbGlnaHQsI2Y5ZjlmOSkpLDAgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMCB2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKX0uc2QtZWxlbWVudC0tY29tcGxleC5zZC1lbGVtZW50LS13aXRoLWZyYW1le3BhZGRpbmctdG9wOjB9LnNkLWVsZW1lbnQtLWNvbXBsZXguc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycz4uc2QtZWxlbWVudF9fZXJib3gsLnNkLWVsZW1lbnQtLWNvbXBsZXguc2QtZWxlbWVudC0td2l0aC1mcmFtZT4uc2QtZWxlbWVudF9fZXJib3h7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0uc2QtZWxlbWVudC0tY29tcGxleD4uc2QtZWxlbWVudF9faGVhZGVyOmFmdGVye2NvbnRlbnQ6XCIgXCI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MXB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tc2pzLWJvcmRlci1saWdodCx2YXIoLS1ib3JkZXItbGlnaHQsI2VhZWFlYSkpO2JvdHRvbTowfS5zZC1lbGVtZW50LS1jb21wbGV4LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWU+LnNkLWVsZW1lbnRfX2hlYWRlcntwYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpO3BhZGRpbmctYm90dG9tOnZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZyl9LnNkLWVsZW1lbnQtLWNvbGxhcHNlZC5zZC1lbGVtZW50LS1jb21wbGV4Pi5zZC1lbGVtZW50X19oZWFkZXJ7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWVsZW1lbnQtLW5lc3RlZC5zZC1lbGVtZW50LS1jb21wbGV4Pi5zZC1lbGVtZW50X19oZWFkZXItLWxvY2F0aW9uLXRvcDphZnRlcntib3R0b206Y2FsYygtLjUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKX0uc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVyc3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSAtIDRweCk7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpO3BhZGRpbmctcmlnaHQ6dmFyKC0tc2QtYmFzZS1wYWRkaW5nKX0uc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycz4uc2QtZWxlbWVudF9faGVhZGVyLS1sb2NhdGlvbi10b3B7cGFkZGluZy10b3A6Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpO3BhZGRpbmctYm90dG9tOmNhbGMoLjUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKX0uc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycz4uc2QtZWxlbWVudF9fZXJib3h7bWFyZ2luLWxlZnQ6Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO21hcmdpbi1yaWdodDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSk7d2lkdGg6Y2FsYygxMDAlICsgMiAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpfS5zZC1lbGVtZW50LS1uZXN0ZWQtd2l0aC1ib3JkZXJzPi5zZC1xdWVzdGlvbl9fZXJib3gtLWJlbG93LXF1ZXN0aW9ue2JvdHRvbTowO21hcmdpbi10b3A6MH0uc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycy5zZC1lbGVtZW50LS1jb2xsYXBzZWQ+LnNkLWVsZW1lbnRfX2hlYWRlci0tbG9jYXRpb24tdG9wOmZvY3VzLXdpdGhpbiwuc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycy5zZC1lbGVtZW50LS1jb2xsYXBzZWQ+LnNkLWVsZW1lbnRfX2hlYWRlci0tbG9jYXRpb24tdG9wOmhvdmVye2JveC1zaGFkb3c6bm9uZX0uc2QtZWxlbWVudC0tY29tcGxleC5zZC1lbGVtZW50LS13aXRoLWZyYW1lPi5zZC1lbGVtZW50X19oZWFkZXItLWxvY2F0aW9uLXRvcDphZnRlciwuc2QtZWxlbWVudC0tbmVzdGVkLXdpdGgtYm9yZGVycz4uc2QtZWxlbWVudF9faGVhZGVyLS1sb2NhdGlvbi10b3A6YWZ0ZXJ7Ym90dG9tOmNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKTtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO3dpZHRoOmNhbGMoMTAwJSArIDIgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKX0uc2QtZWxlbWVudC0tY29sbGFwc2VkLnNkLWVsZW1lbnQtLWNvbXBsZXg+LnNkLWVsZW1lbnRfX2hlYWRlci0tbG9jYXRpb24tdG9wOmFmdGVye2Rpc3BsYXk6bm9uZX0uc2QtcXVlc3Rpb24tLWVtcHR5LnNkLXF1ZXN0aW9uLS1jb21wbGV4Pi5zZC1xdWVzdGlvbl9fY29udGVudHtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjB9LnNkLXF1ZXN0aW9uLS1lbXB0eS5zZC1xdWVzdGlvbi0tY29tcGxleD4uc2QtcXVlc3Rpb25fX2NvbnRlbnQ6Zmlyc3Qtb2YtdHlwZXtwYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zZC1xdWVzdGlvbi0tZW1wdHkuc2QtcXVlc3Rpb24tLWNvbXBsZXg+LnNkLXF1ZXN0aW9uX19oZWFkZXItLWxvY2F0aW9uLXRvcHtwYWRkaW5nLWJvdHRvbTpjYWxjKC41ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSl9LnNkLXF1ZXN0aW9uLS1lbXB0eS5zZC1xdWVzdGlvbi0tY29tcGxleD4uc2QtcXVlc3Rpb25fX2hlYWRlci0tbG9jYXRpb24tdG9wOmFmdGVye2Rpc3BsYXk6bm9uZX0uc2QtaW5wdXR7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LWZhbWlseSx2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtd2VpZ2h0LDQwMCk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IscmdiYSgwLDAsMCwuOTEpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZWRpdG9ycGFuZWwtYmFja2NvbG9yLHZhcigtLXNqcy1lZGl0b3ItYmFja2dyb3VuZCx2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKSkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWVkaXRvcnBhbmVsLWNvcm5lclJhZGl1cyx2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpKTt0ZXh0LWFsaWduOnN0YXJ0O2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1pbm5lcixpbnNldCAwIDFweCAycHggMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO3RyYW5zaXRpb246Ym94LXNoYWRvdyB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWlucHV0OmZvY3Vze2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1pbm5lci1yZXNldCxpbnNldCAwIDAgMCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtaW5wdXQuc2QtaW5wdXQ6Zm9jdXN7b3V0bGluZTowfWlucHV0LnNkLWlucHV0OmRpc2FibGVkOm5vdCguc2QtaW5wdXQtLWRpc2FibGVkKSx0ZXh0YXJlYS5zZC1pbnB1dDpkaXNhYmxlZDpub3QoLnNkLWlucHV0LS1kaXNhYmxlZCl7b3BhY2l0eToxfS5zZC1pbnB1dC0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZWRpdG9ycGFuZWwtYmFja2NvbG9yLHZhcigtLXNqcy1lZGl0b3ItYmFja2dyb3VuZCx2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKSkpOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc2QtaW5wdXQtLXJlYWRvbmx5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLWlucHV0LnNkLWlucHV0LS1wcmV2aWV3e2JhY2tncm91bmQ6MCAwO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOm5vbmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9LnNkLWlucHV0OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXBsYWNlaG9sZGVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNkLWlucHV0LnNkLWlucHV0LS1kaXNhYmxlZCwuc2QtaW5wdXQuc2QtaW5wdXQtLWRpc2FibGVkOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7b3BhY2l0eTouMjV9LnNkLWlucHV0LnNkLWlucHV0LS1yZWFkb25seXtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7Ym94LXNoYWRvdzpub25lO3RyYW5zaXRpb246bm9uZX0uc2QtaW5wdXQuc2QtaW5wdXQtLXJlYWRvbmx5OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLXJvb3QtLXJlYWRvbmx5IC5zZC1pbnB1dC0tZGlzYWJsZWQsLnNkLXJvb3QtLXJlYWRvbmx5IC5zZC1pbnB1dC0tZGlzYWJsZWQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtaW5wdXQtLWVycm9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKX0uc2QtdGV4dF9fY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZX0uc2QtdGV4dF9fY2hhcmFjdGVyLWNvdW50ZXJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW57cGFkZGluZy1pbmxpbmUtZW5kOmNhbGMoOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlci5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlci0tYmlnOmZvY3VzLXdpdGhpbntwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYygxMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yZW1haW5pbmctY2hhcmFjdGVyLWNvdW50ZXJ7ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7cGFkZGluZzowO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0LWlubGluZS1lbmQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aW5zZXQtYmxvY2stZW5kOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXF1ZXN0aW9uX19jb250ZW50OmZvY3VzLXdpdGhpbiAuc2QtcmVtYWluaW5nLWNoYXJhY3Rlci1jb3VudGVye2Rpc3BsYXk6ZmxleH0uc2QtaW5wdXRbdHlwZT1jb2xvcl0sLnNkLWlucHV0W3R5cGU9ZGF0ZV0sLnNkLWlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5zZC1pbnB1dFt0eXBlPWVtYWlsXSwuc2QtaW5wdXRbdHlwZT1tb250aF0sLnNkLWlucHV0W3R5cGU9cGFzc3dvcmRdLC5zZC1pbnB1dFt0eXBlPXJhbmdlXSwuc2QtaW5wdXRbdHlwZT10ZWxdLC5zZC1pbnB1dFt0eXBlPXRpbWVdLC5zZC1pbnB1dFt0eXBlPXVybF0sLnNkLWlucHV0W3R5cGU9d2Vla117LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2JveC1zaXppbmc6Y29udGVudC1ib3g7d2lkdGg6Y2FsYygxMDAlIC0gNCAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTtoZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpfS5zZC1pbnB1dFt0eXBlPWNvbG9yXS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW4sLnNkLWlucHV0W3R5cGU9ZGF0ZV0uc2QtdGV4dF9fY2hhcmFjdGVyLWNvdW50ZXI6Zm9jdXMtd2l0aGluLC5zZC1pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW4sLnNkLWlucHV0W3R5cGU9ZW1haWxdLnNkLXRleHRfX2NoYXJhY3Rlci1jb3VudGVyOmZvY3VzLXdpdGhpbiwuc2QtaW5wdXRbdHlwZT1tb250aF0uc2QtdGV4dF9fY2hhcmFjdGVyLWNvdW50ZXI6Zm9jdXMtd2l0aGluLC5zZC1pbnB1dFt0eXBlPXBhc3N3b3JkXS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW4sLnNkLWlucHV0W3R5cGU9cmFuZ2VdLnNkLXRleHRfX2NoYXJhY3Rlci1jb3VudGVyOmZvY3VzLXdpdGhpbiwuc2QtaW5wdXRbdHlwZT10ZWxdLnNkLXRleHRfX2NoYXJhY3Rlci1jb3VudGVyOmZvY3VzLXdpdGhpbiwuc2QtaW5wdXRbdHlwZT10aW1lXS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW4sLnNkLWlucHV0W3R5cGU9dXJsXS5zZC10ZXh0X19jaGFyYWN0ZXItY291bnRlcjpmb2N1cy13aXRoaW4sLnNkLWlucHV0W3R5cGU9d2Vla10uc2QtdGV4dF9fY2hhcmFjdGVyLWNvdW50ZXI6Zm9jdXMtd2l0aGlue3dpZHRoOmNhbGMoMTAwJSAtIDEwICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpfS5zZC1pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtoZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttYXJnaW4tdG9wOmNhbGMoLS43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlci1yYWRpdXM6MTAwJTtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCB2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtoZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21hcmdpbi10b3A6Y2FsYygtLjc1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlcjoycHggc29saWQgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHZhcigtLWJhY2tncm91bmQsI2ZmZik7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7aGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3dpZHRoOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1jb21tZW50e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmF1dG87bWluLXdpZHRoOmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21pbi1oZWlnaHQ6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWF4LXdpZHRoOjEwMCV9LnNkLWNvbW1lbnRfX2NvbnRlbnR7cG9zaXRpb246cmVsYXRpdmV9LnNkLXBhbmVse3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1wYW5lbC5zZC1wYW5lbC0tYXMtcGFnZT4uc2QtcGFuZWxfX2hlYWRlci5zZC1wYW5lbF9faGVhZGVye3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykgKyB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSl9LnNkLXBhbmVsLnNkLXBhbmVsLS1hcy1wYWdlPi5zZC1wYW5lbF9faGVhZGVyLnNkLXBhbmVsX19oZWFkZXI6YWZ0ZXJ7Y29udGVudDpub25lfS5zZC1wYW5lbC5zZC1wYW5lbC0tYXMtcGFnZT4uc2QtcGFuZWxfX2hlYWRlci5zZC1wYW5lbF9faGVhZGVyIC5zZC1wYW5lbF9fdGl0bGV7LS1wYWdlLXRpdGxlLWZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1wYWdldGl0bGUtc2l6ZSwgY2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKSk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtcGFnZXRpdGxlLWZhbWlseSx2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS13ZWlnaHQsNzAwKTtmb250LXNpemU6dmFyKC0tcGFnZS10aXRsZS1mb250LXNpemUpO2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSkpO3Bvc2l0aW9uOnN0YXRpYztsaW5lLWhlaWdodDpjYWxjKDEuMzMgKiAodmFyKC0tcGFnZS10aXRsZS1mb250LXNpemUpKSk7bWFyZ2luOjAgMCBjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMH0uc2QtcGFuZWwuc2QtcGFuZWwtLWFzLXBhZ2U+LnNkLXBhbmVsX19oZWFkZXIuc2QtcGFuZWxfX2hlYWRlciAuc2QtcGFuZWxfX3RpdGxlIHNwYW57Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH0uc2QtcGFuZWwuc2QtcGFuZWwtLWFzLXBhZ2U+LnNkLXBhbmVsX19oZWFkZXIuc2QtcGFuZWxfX2hlYWRlciAuc2QtcGFuZWxfX2Rlc2NyaXB0aW9ue2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1wYWdlZGVzY3JpcHRpb24td2VpZ2h0LDQwMCk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO3Bvc2l0aW9uOnN0YXRpYztsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1wYWdlZGVzY3JpcHRpb24tc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO21hcmdpbjowIDAgY2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIDB9LnNkLXBhbmVsLnNkLXBhbmVsLS1hcy1wYWdlPi5zZC1wYW5lbF9faGVhZGVyLnNkLXBhbmVsX19oZWFkZXIgLnNkLXBhbmVsX19yZXF1aXJlZC10ZXh0e2Rpc3BsYXk6bm9uZX0uc2QtcGFuZWwuc2QtcGFuZWwtLWFzLXBhZ2U+LnNkLXBhbmVsX19lcnJib3h7bWFyZ2luOjAgMCBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwO3BhZGRpbmc6Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykgKyB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkgdmFyKC0tc2QtYmFzZS1wYWRkaW5nKX0uc2QtcGFuZWwuc2QtcGFuZWwtLWFzLXBhZ2U+LnNkLXBhbmVsX19jb250ZW50e3BhZGRpbmctdG9wOjB9LnNkLXJvb3QtLWNvbXBhY3QgLnNkLXBhbmVsLS1hcy1wYWdlPi5zZC1wYW5lbF9fZXJyYm94e21hcmdpbjowIDAgdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSAwfS5zZC1yb3d+LnNkLXJvdyAuc2QtcGFuZWwtLWFzLXBhZ2V7cGFkZGluZy10b3A6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsX19yZXF1aXJlZC10ZXh0e2NvbG9yOnZhcigtLXNqcy1zcGVjaWFsLXJlZCx2YXIoLS1yZWQsI2U2MGEzZSkpfS5zZC1wYW5lbF9fZm9vdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zZC1iYXNlLXBhZGRpbmcpIC0gMyAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTttYXJnaW4tbGVmdDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSk7d2lkdGg6Y2FsYygxMDAlICsgMiAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO21hcmdpbi1ib3R0b206Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykgKyAuNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpO21hcmdpbi10b3A6Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpO2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtwYWRkaW5nLXRvcDpjYWxjKC41ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSl9LnNkLXBhbmVsLS1hcy1wYWdlIC5zZC1wYW5lbF9fZm9vdGVye3BhZGRpbmc6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMCAwO21hcmdpbjowO2JvcmRlcjpub25lO3dpZHRoOmluaXRpYWx9LnNkLXBhbmVsX19jb250ZW50e3BhZGRpbmctdG9wOnZhcigtLXNkLWJhc2UtcGFkZGluZyl9LnNkLXBhbmVsLnNkLWVsZW1lbnQtLW5lc3RlZD4uc2QtcGFuZWxfX2NvbnRlbnR7cGFkZGluZy1ib3R0b206dmFyKC0tc2QtYmFzZS1wYWRkaW5nKTstLWFuaW1hdGlvbi1wYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zZC1wYW5lbF9fY29udGVudHstLWFuaW1hdGlvbi1wYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zanNfc3BfcGxhY2Vob2xkZXJ7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKX0uc2pzX3NwX2NvbnRhaW5lcntib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc2QtcXVlc3Rpb24tLXByZXZpZXcgLnNqc19zcF9jb250YWluZXIsLnNkLXF1ZXN0aW9uLS1yZWFkb25seSAuc2pzX3NwX2NvbnRhaW5lcntib3JkZXI6bm9uZX0uc2QtcXVlc3Rpb24tLXByZXZpZXcgLnNqc19zcF9wbGFjZWhvbGRlciwuc2QtcXVlc3Rpb24tLXJlYWRvbmx5IC5zanNfc3BfcGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zanNfc3BfY29udHJvbHMuc2Qtc2lnbmF0dXJlcGFkX19jb250cm9sc3tyaWdodDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTt0b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7bGVmdDphdXRvO2JvdHRvbTphdXRvfS5zZC1xdWVzdGlvbi0tc2lnbmF0dXJlLnNkLXF1ZXN0aW9uLS1lcnJvciAuc2pzX3NwX3BsYWNlaG9sZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKX0uc2Qtc2lnbmF0dXJlcGFkX19iYWNrZ3JvdW5kLWltYWdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvYmplY3QtZml0OmNvdmVyfS5zZC1zaWduYXR1cmVwYWRfX2xvYWRpbmctaW5kaWNhdG9ye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5zZC1zaWduYXR1cmVwYWRfX2xvYWRpbmctaW5kaWNhdG9yIC5zZC1sb2FkaW5nLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTt0b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLWNoZWNrYm94X19kZWNvcmF0b3J7Ym9yZGVyLXJhZGl1czpjYWxjKC41ICogKHZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCkpKX0uc2QtY2hlY2tib3hfX3N2Z3tkaXNwbGF5OmJsb2NrO3dpZHRoOmNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWNoZWNrYm94X19zdmcgdXNle2ZpbGw6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpmaWxsIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtY2hlY2tib3gtLWNoZWNrZWQgLnNkLWNoZWNrYm94X19zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnNkLWNoZWNrYm94LS1jaGVja2VkLnNkLWNoZWNrYm94LS1kaXNhYmxlZCAuc2QtY2hlY2tib3hfX3N2ZyB1c2V7ZmlsbDp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc2QtY2hlY2tib3gtLWNoZWNrZWQgLnNkLWNoZWNrYm94X19jb250cm9sOmZvY3VzKy5zZC1jaGVja2JveF9fZGVjb3JhdG9yIC5zZC1jaGVja2JveF9fc3ZnIHVzZXtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtY2hlY2tib3gtLWNoZWNrZWQuc2QtY2hlY2tib3gtLXJlYWRvbmx5IC5zZC1jaGVja2JveF9fc3ZnIHVzZXtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtY2hlY2tib3gtLWNoZWNrZWQuc2QtY2hlY2tib3gtLXByZXZpZXcgLnNkLWNoZWNrYm94X19zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1tYXRyaXhkeW5hbWljX19idG4uc2QtbWF0cml4ZHluYW1pY19fYWRkLWJ0bntwb3NpdGlvbjpzdGlja3k7bGVmdDpjYWxjKC0zICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWxlZnQ6Y2FsYygtMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3otaW5kZXg6MTJ9LnNkLW1hdHJpeGR5bmFtaWNfX2Zvb3RlcjpmaXJzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbWF0cml4ZHluYW1pY19fZm9vdGVye3BhZGRpbmctdG9wOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1hY3Rpb24uc2QtbWF0cml4ZHluYW1pY19fcmVtb3ZlLWJ0bntvcGFjaXR5Oi41fS5zZC1hY3Rpb24uc2QtbWF0cml4ZHluYW1pY19fcmVtb3ZlLWJ0biAuc2QtYWN0aW9uX19pY29uey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTt3aWR0aDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7aGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKX0uc2QtbWF0cml4ZHluYW1pY19fYnRue2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6bm9uZTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIDB9LnNkLW1hdHJpeGR5bmFtaWNfX2RyYWctZWxlbWVudHtwYWRkaW5nOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1tYXRyaXhkeW5hbWljX19kcmFnLWVsZW1lbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnNkLW1hdHJpeGR5bmFtaWNfX2RyYWctZWxlbWVudDphZnRlcntjb250ZW50OlwiIFwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOmNhbGMoMS4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1tYXRyaXhkeW5hbWljX19wbGFjZWhvbGRlciAuc2QtbWF0cml4ZHluYW1pY19fYWRkLWJ0bnttYXJnaW4tbGVmdDowfS5zZC1kcmFnLWVsZW1lbnRfX3N2Z3t3aWR0aDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpibG9ja30uc2QtZHJhZy1lbGVtZW50X19zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfUBrZXlmcmFtZXMgYm9yZGVyQW5pbWF0aW9ue2Zyb217Ym9yZGVyLXdpZHRoOjB9dG97Ym9yZGVyLXdpZHRoOjhweH19QGtleWZyYW1lcyBwYWRkaW5nQW5pbWF0aW9ue2Zyb217cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfXRve3BhZGRpbmctdG9wOjI0cHg7cGFkZGluZy1ib3R0b206MzJweH19LnNkLXRhYmxlX19yb3ctLWZhZGUtaW4sLnNkLXRhYmxlX19yb3ctLWZhZGUtb3V0e2FuaW1hdGlvbi1uYW1lOmVtcHR5O2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LS1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLXNqcy1tYXRyaXgtcm93LWZhZGUtaW4tZHVyYXRpb24sIDI1MG1zKSArIHZhcigtLXNqcy1tYXRyaXgtcm93LWZhZGUtaW4tZGVsYXksIDE1MG1zKSk7YW5pbWF0aW9uLWR1cmF0aW9uOm1heCh2YXIoLS1mYWRlLWluLWFuaW1hdGlvbi1kdXJhdGlvbiksdmFyKC0tc2pzLW1hdHJpeC1yb3ctbW92ZS1pbi1kdXJhdGlvbiwxNTBtcykpfS5zZC10YWJsZV9fcm93LS1mYWRlLWluPnRkLC5zZC10YWJsZV9fcm93LS1mYWRlLW91dD50ZHthbmltYXRpb24tbmFtZTpib3JkZXJBbmltYXRpb247YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLW1hdHJpeC1yb3ctbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyk7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkc30uc2QtdGFibGVfX3Jvdy0tZmFkZS1pbj50ZD5kaXYsLnNkLXRhYmxlX19yb3ctLWZhZGUtb3V0PnRkPmRpdnthbmltYXRpb24tbmFtZTpmYWRlSW4sbW92ZUluV2l0aE92ZXJmbG93O29wYWNpdHk6MDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjU4LDEpO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1tYXRyaXgtcm93LWZhZGUtaW4tZHVyYXRpb24sMjUwbXMpLHZhcigtLXNqcy1tYXRyaXgtcm93LW1vdmUtaW4tZHVyYXRpb24sMTUwbXMpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1zanMtbWF0cml4LXJvdy1mYWRlLWluLWRlbGF5LDE1MG1zKSwwc30uc2QtdGFibGVfX3Jvdy0tZmFkZS1vdXR7YW5pbWF0aW9uLWRpcmVjdGlvbjpyZXZlcnNlOy0tbW92ZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tc2pzLW1hdHJpeC1yb3ctbW92ZS1vdXQtZHVyYXRpb24sIDI1MG1zKSArIHZhcigtLXNqcy1tYXRyaXgtcm93LW1vdmUtb3V0LWRlbGF5LCAxMDBtcykpO2FuaW1hdGlvbi1kdXJhdGlvbjptYXgodmFyKC0tbW92ZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uKSx2YXIoLS1zanMtbWF0cml4LXJvdy1mYWRlLW91dC1kdXJhdGlvbiwxMDBtcykpfS5zZC10YWJsZV9fcm93LS1mYWRlLW91dD50ZHthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLW1hdHJpeC1yb3ctbW92ZS1vdXQtZHVyYXRpb24sMjUwbXMpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1zanMtbWF0cml4LXJvdy1tb3ZlLW91dC1kZWxheSwxMDBtcyk7YW5pbWF0aW9uLWRpcmVjdGlvbjpyZXZlcnNlO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40MiwwLDEsMSl9LnNkLXRhYmxlX19yb3ctLWZhZGUtb3V0PnRkPmRpdnthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQyLDAsMSwxKTthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLW1hdHJpeC1yb3ctZmFkZS1vdXQtZHVyYXRpb24sMTAwbXMpLHZhcigtLXNqcy1tYXRyaXgtcm93LW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKTthbmltYXRpb24tZGVsYXk6MHMsdmFyKC0tc2pzLW1hdHJpeC1yb3ctbW92ZS1vdXQtZGVsYXksMTAwbXMpfS5zZC10YWJsZV9fcm93LS1kZXRhaWwuc2QtdGFibGVfX3Jvdy0tZmFkZS1pbj50ZCwuc2QtdGFibGVfX3Jvdy0tZGV0YWlsLnNkLXRhYmxlX19yb3ctLWZhZGUtb3V0PnRke2FuaW1hdGlvbi1uYW1lOmJvcmRlckFuaW1hdGlvbixwYWRkaW5nQW5pbWF0aW9uO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtbWF0cml4LXJvdy1tb3ZlLWluLWR1cmF0aW9uLDE1MG1zKTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfS5zZC10YWJsZV9fcm93LS1kZXRhaWwuc2QtdGFibGVfX3Jvdy0tZmFkZS1pbnstLWZhZGUtaW4tYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tc2pzLW1hdHJpeC1kZXRhaWwtcm93LWZhZGUtaW4tZHVyYXRpb24sIDUwMG1zKSArIHZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1mYWRlLWluLWRlbGF5LCAxNTBtcykpO2FuaW1hdGlvbi1kdXJhdGlvbjptYXgodmFyKC0tZmFkZS1pbi1hbmltYXRpb24tZHVyYXRpb24pLHZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLWluLWR1cmF0aW9uLDE1MG1zKSl9LnNkLXRhYmxlX19yb3ctLWRldGFpbC5zZC10YWJsZV9fcm93LS1mYWRlLWluPnRke2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuNTgsMSk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLWluLWR1cmF0aW9uLDE1MG1zKX0uc2QtdGFibGVfX3Jvdy0tZGV0YWlsLnNkLXRhYmxlX19yb3ctLWZhZGUtaW4+dGQ+ZGl2e2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtbWF0cml4LWRldGFpbC1yb3ctZmFkZS1pbi1kdXJhdGlvbiw1MDBtcyksdmFyKC0tc2pzLW1hdHJpeC1kZXRhaWwtcm93LW1vdmUtaW4tZHVyYXRpb24sMTUwbXMpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1zanMtbWF0cml4LWRldGFpbC1yb3ctZmFkZS1pbi1kZWxheSwxNTBtcyksMHN9LnNkLXRhYmxlX19yb3ctLWRldGFpbC5zZC10YWJsZV9fcm93LS1mYWRlLW91dHstLW1vdmUtb3V0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLW91dC1kdXJhdGlvbiwgMjUwbXMpICsgdmFyKC0tc2pzLW1hdHJpeC1kZXRhaWwtcm93LW1vdmUtb3V0LWRlbGF5LCAxMDBtcykpO2FuaW1hdGlvbi1kdXJhdGlvbjptYXgodmFyKC0tbW92ZS1vdXQtYW5pbWF0aW9uLWR1cmF0aW9uKSx2YXIoLS1zanMtbWF0cml4LWRldGFpbC1yb3ctZmFkZS1vdXQtZHVyYXRpb24sMTUwbXMpKX0uc2QtdGFibGVfX3Jvdy0tZGV0YWlsLnNkLXRhYmxlX19yb3ctLWZhZGUtb3V0PnRke2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40MiwwLDEsMSk7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLW91dC1kdXJhdGlvbiwyNTBtcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLW91dC1kZWxheSwxMDBtcyk7YW5pbWF0aW9uLWRpcmVjdGlvbjpyZXZlcnNlfS5zZC10YWJsZV9fcm93LS1kZXRhaWwuc2QtdGFibGVfX3Jvdy0tZmFkZS1vdXQ+dGQ+ZGl2e2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtbWF0cml4LWRldGFpbC1yb3ctZmFkZS1vdXQtZHVyYXRpb24sMTUwbXMpLHZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLW91dC1kdXJhdGlvbiwyNTBtcyk7YW5pbWF0aW9uLWRlbGF5OjBzLHZhcigtLXNqcy1tYXRyaXgtZGV0YWlsLXJvdy1tb3ZlLW91dC1kZWxheSwxMDBtcyl9LnNkLXRhYmxle3dpZHRoOjEwMCU7YmFja2dyb3VuZDp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1iYWNrY29sb3IsdmFyKC0tc2pzLXF1ZXN0aW9uLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpKSk7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlO2JvcmRlci1zcGFjaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfS5zZC10YWJsZT50aGVhZD50cj50aHtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbTpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBzb2xpZCB0cmFuc3BhcmVudH0uc2QtdGFibGVfX2NlbGx7Ym9yZGVyLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0Om5vbmU7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5zZC10YWJsZS5zZC10YWJsZS0tY29sdW1uc2F1dG93aWR0aCAuc2QtdGFibGVfX2NlbGw6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucyk6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9uKTpub3QoLnNkLXRhYmxlX19jZWxsLS1lbXB0eS5zZC10YWJsZV9fY2VsbC0tZXJyb3Ipe3dpZHRoOjEwMDAwcHh9LnNkLXRhYmxlX19yb3c6Zmlyc3Qtb2YtdHlwZT4uc2QtdGFibGVfX2NlbGx7Ym9yZGVyLXRvcDowfS5zZC10YWJsZV9fcm93Omxhc3Qtb2YtdHlwZT4uc2QtdGFibGVfX2NlbGx7Ym9yZGVyLWJvdHRvbTowfS5zZC10YWJsZS0tYWxpZ24tdG9wIC5zZC10YWJsZV9fY2VsbHt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnNkLXRhYmxlLS1uby1oZWFkZXJ7cGFkZGluZy10b3A6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsOm5vdCguc2QtcGFuZWwtLWFzLXBhZ2UpPi5zZC1wYW5lbF9fY29udGVudCAuc2QtdGFibGUtLW5vLWhlYWRlcntwYWRkaW5nLXRvcDowfS5zZC1wYW5lbDpub3QoLnNkLXBhbmVsLS1hcy1wYWdlKT4uc2QtcGFuZWxfX2NvbnRlbnQgLnNkLXF1ZXN0aW9uLS10YWJsZSAuc2QtcXVlc3Rpb25fX2NvbnRlbnR7cGFkZGluZy1ib3R0b206Y2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLS4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi10b3A6Y2FsYygtMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wYW5lbDpub3QoLnNkLXBhbmVsLS1hcy1wYWdlKT4uc2QtcGFuZWxfX2NvbnRlbnQgLnNkLXF1ZXN0aW9uLS10YWJsZT4uc2QtcXVlc3Rpb25fX2hlYWRlcn4uc2QtcXVlc3Rpb25fX2NvbnRlbnR7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7LS1hbmltYXRpb24tcGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsIHZhcigtLWJhc2UtdW5pdCwgOHB4KSkpKX0uc2QtcGFuZWw6bm90KC5zZC1wYW5lbC0tYXMtcGFnZSk+LnNkLXBhbmVsX19jb250ZW50IC5zZC1xdWVzdGlvbi0tdGFibGU+LnNkLXF1ZXN0aW9uX19oZWFkZXJ+LnNkLXF1ZXN0aW9uX19jb250ZW50IC5zZC10YWJsZS0tbm8taGVhZGVye3BhZGRpbmctdG9wOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wYW5lbDpub3QoLnNkLXBhbmVsLS1hcy1wYWdlKT4uc2QtcGFuZWxfX2NvbnRlbnQgLnNkLXF1ZXN0aW9uLS10YWJsZT4uc2QtcXVlc3Rpb25fX2NvbnRlbnQgLnNkLXRhYmxlLXdyYXBwZXIgLnNkLXRhYmxlOm5vdCguc2QtdGFibGUtLW5vLWhlYWRlcil7bWFyZ2luLXRvcDpjYWxjKC0zICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsOm5vdCguc2QtcGFuZWwtLWFzLXBhZ2UpPi5zZC1wYW5lbF9fY29udGVudCAuc2QtcXVlc3Rpb24tLXRhYmxlLnNkLXF1ZXN0aW9uLS1lcnJvci10b3A+LnNkLXF1ZXN0aW9uX19jb250ZW50IC5zZC10YWJsZS13cmFwcGVyIC5zZC10YWJsZTpub3QoLnNkLXRhYmxlLS1uby1oZWFkZXIpe21hcmdpbi10b3A6MH0uc2QtcGFuZWw6bm90KC5zZC1wYW5lbC0tYXMtcGFnZSk+LnNkLXBhbmVsX19jb250ZW50Pi5zZC1yb3c6bm90KDpmaXJzdC1vZi10eXBlKSAuc2QtcXVlc3Rpb24tLXRhYmxlPi5zZC1xdWVzdGlvbl9fY29udGVudCAuc2QtdGFibGUtd3JhcHBlciAuc2QtdGFibGU6bm90KC5zZC10YWJsZS0tbm8taGVhZGVyKXttYXJnaW4tdG9wOmNhbGMoLTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcGFuZWw6bm90KC5zZC1wYW5lbC0tYXMtcGFnZSk+LnNkLXBhbmVsX19jb250ZW50Pi5zZC1yb3c6bm90KDpmaXJzdC1vZi10eXBlKSAuc2QtcXVlc3Rpb24tLXRhYmxlLnNkLXF1ZXN0aW9uLS1lcnJvci10b3A+LnNkLXF1ZXN0aW9uX19jb250ZW50IC5zZC10YWJsZS13cmFwcGVyIC5zZC10YWJsZTpub3QoLnNkLXRhYmxlLS1uby1oZWFkZXIpe21hcmdpbi10b3A6Y2FsYygwICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsOm5vdCguc2QtcGFuZWwtLWFzLXBhZ2UpPi5zZC1wYW5lbF9fY29udGVudCAuc2QtcXVlc3Rpb24tLXRhYmxlPi5zZC1xdWVzdGlvbl9faGVhZGVyfi5zZC1xdWVzdGlvbl9fY29udGVudCAuc2QtdGFibGUtd3JhcHBlciAuc2QtdGFibGU6bm90KC5zZC10YWJsZS0tbm8taGVhZGVyKXttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1wYW5lbDpub3QoLnNkLXBhbmVsLS1hcy1wYWdlKT4uc2QtcGFuZWxfX2NvbnRlbnQ+LnNkLXJvdzpub3QoOmZpcnN0LW9mLXR5cGUpIC5zZC1xdWVzdGlvbi0tdGFibGU+LnNkLXF1ZXN0aW9uX19oZWFkZXJ+LnNkLXF1ZXN0aW9uX19jb250ZW50IC5zZC10YWJsZS13cmFwcGVyIC5zZC10YWJsZTpub3QoLnNkLXRhYmxlLS1uby1oZWFkZXIpe21hcmdpbi10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXJvb3QtbW9kZXJuOm5vdCguc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSkgLnNkLXRhYmxlLS1hbHRlcm5hdGUtcm93c3ttYXJnaW4tbGVmdDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTttYXJnaW4tcmlnaHQ6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7d2lkdGg6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fY2VsbDpub3QoLnNkLXRhYmxlX19jZWxsLS1oZWFkZXIpOmZpcnN0LW9mLXR5cGV7cGFkZGluZy1sZWZ0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19jZWxsOmxhc3Qtb2YtdHlwZXtwYWRkaW5nLXJpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6Zmlyc3Qtb2YtdHlwZT4uc2QtdGFibGVfX2NlbGx7Ym9yZGVyLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBzb2xpZCB0cmFuc3BhcmVudH0uc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Omxhc3Qtb2YtdHlwZT4uc2QtdGFibGVfX2NlbGx7Ym9yZGVyLWJvdHRvbTp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBzb2xpZCB0cmFuc3BhcmVudH0uc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCkgdGQ6Zmlyc3Qtb2YtdHlwZSwuc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCk+dGQuc2QtdGFibGVfX2NlbGw6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucyl7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1ob3ZlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kYXJrLCNmOGY4ZjgpKTtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLXJvb3QtbW9kZXJuOm5vdCguc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSkgLnNkLXRhYmxlLS1hbHRlcm5hdGUtcm93cyAuc2QtdGFibGVfX3JvdzpudGgtb2YtdHlwZShvZGQpIHRkOmZpcnN0LW9mLXR5cGUuc2QtbWF0cml4X190ZXh0LS1jaGVja2VkLC5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKT50ZC5zZC10YWJsZV9fY2VsbDpub3QoLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zKS5zZC1tYXRyaXhfX3RleHQtLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3ItbGlnaHQsdmFyKC0tcHJpbWFyeS1saWdodCxyZ2JhKDI1LDE3OSwxNDgsLjEpKSl9LnNkLXJvb3QtbW9kZXJuOm5vdCguc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSkgLnNkLXRhYmxlLS1hbHRlcm5hdGUtcm93cyAuc2QtdGFibGVfX3JvdzpudGgtb2YtdHlwZShvZGQpIHRkOmZpcnN0LW9mLXR5cGUgLnNkLWlucHV0LC5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKT50ZC5zZC10YWJsZV9fY2VsbDpub3QoLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zKSAuc2QtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCkgdGQ6Zmlyc3Qtb2YtdHlwZSAuc2QtaXRlbTpub3QoLnNkLWl0ZW0tLWVycm9yKSAuc2QtaXRlbV9fZGVjb3JhdG9yLC5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKT50ZC5zZC10YWJsZV9fY2VsbDpub3QoLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zKSAuc2QtaXRlbTpub3QoLnNkLWl0ZW0tLWVycm9yKSAuc2QtaXRlbV9fZGVjb3JhdG9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpfS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKSB0ZDpmaXJzdC1vZi10eXBlIC5zZC1pdGVtOm5vdCguc2QtaXRlbS0tZXJyb3IpLnNkLWl0ZW0tLWNoZWNrZWQgLnNkLWl0ZW1fX2RlY29yYXRvciwuc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCk+dGQuc2QtdGFibGVfX2NlbGw6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucykgLnNkLWl0ZW06bm90KC5zZC1pdGVtLS1lcnJvcikuc2QtaXRlbS0tY2hlY2tlZCAuc2QtaXRlbV9fZGVjb3JhdG9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKSB0ZDpmaXJzdC1vZi10eXBlIC5zZC1pdGVtOm5vdCguc2QtaXRlbS0tZXJyb3IpLnNkLWl0ZW0tLXJlYWRvbmx5LnNkLWl0ZW0tLWNoZWNrZWQgLnNkLWl0ZW1fX2RlY29yYXRvciwuc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCk+dGQuc2QtdGFibGVfX2NlbGw6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucykgLnNkLWl0ZW06bm90KC5zZC1pdGVtLS1lcnJvcikuc2QtaXRlbS0tcmVhZG9ubHkuc2QtaXRlbS0tY2hlY2tlZCAuc2QtaXRlbV9fZGVjb3JhdG9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpfS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKSB0ZDpmaXJzdC1vZi10eXBlIC5zZC1pdGVtOm5vdCguc2QtaXRlbS0tZXJyb3IpLnNkLWl0ZW0tLXByZXZpZXcuc2QtaXRlbS0tcHJldmlldyAuc2QtaXRlbV9fZGVjb3JhdG9yLC5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKT50ZC5zZC10YWJsZV9fY2VsbDpub3QoLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zKSAuc2QtaXRlbTpub3QoLnNkLWl0ZW0tLWVycm9yKS5zZC1pdGVtLS1wcmV2aWV3LnNkLWl0ZW0tLXByZXZpZXcgLnNkLWl0ZW1fX2RlY29yYXRvcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zZC1yb290LW1vZGVybjpub3QoLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUpIC5zZC10YWJsZS0tYWx0ZXJuYXRlLXJvd3MgLnNkLXRhYmxlX19yb3c6bnRoLW9mLXR5cGUob2RkKSB0ZDpmaXJzdC1vZi10eXBlIC5zZC1pdGVtOm5vdCguc2QtaXRlbS0tZXJyb3IpLnNkLXJhZGlvLS1jaGVja2VkIC5zZC1yYWRpb19fY29udHJvbDpmb2N1cysuc2QtcmFkaW9fX2RlY29yYXRvcjphZnRlciwuc2Qtcm9vdC1tb2Rlcm46bm90KC5zZC1yb290LW1vZGVybi0tbW9iaWxlKSAuc2QtdGFibGUtLWFsdGVybmF0ZS1yb3dzIC5zZC10YWJsZV9fcm93Om50aC1vZi10eXBlKG9kZCk+dGQuc2QtdGFibGVfX2NlbGw6bm90KC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucykgLnNkLWl0ZW06bm90KC5zZC1pdGVtLS1lcnJvcikuc2QtcmFkaW8tLWNoZWNrZWQgLnNkLXJhZGlvX19jb250cm9sOmZvY3VzKy5zZC1yYWRpb19fZGVjb3JhdG9yOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnNkLXRhYmxlX19jZWxsey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO3BhZGRpbmc6MCB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7dGV4dC1hbGlnbjpjZW50ZXJ9LnNkLXRhYmxlX19jZWxsOm5vdCguc2QtdGFibGVfX2NlbGwtLWVtcHR5KTpub3QoLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zKTpub3QoOmVtcHR5KXttaW4td2lkdGg6Y2FsYygxNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC10YWJsZV9fY2VsbCAuc2QtaXRlbXt0ZXh0LWFsaWduOmluaXRpYWx9LnNkLXRhYmxlX19jZWxsLS1lcnJvcntib3JkZXI6bm9uZTtwYWRkaW5nOjAgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXRhYmxlX19jZWxsLS1lcnJvciAuc2QtcXVlc3Rpb25fX2VyYm94e21hcmdpbjowfS5zZC10YWJsZV9fY2VsbC0tZXJyb3ItdG9we3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtdGFibGVfX2NlbGwtLWVycm9yLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZy1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXRhYmxlX19jZWxsLS1pdGVtIC5zZC1zZWxlY3RiYXNlX19pdGVte3RleHQtYWxpZ246Y2VudGVyfS5zZC10YWJsZV9fY2VsbC0taXRlbSAuc2Qtc2VsZWN0YmFzZV9fbGFiZWx7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtcXVlc3Rpb24tLWRpc2FibGVkIC5zZC10YWJsZV9fY2VsbHtvcGFjaXR5Oi4yNX0uc2Qtcm9vdC0tcmVhZG9ubHkgLnNkLXF1ZXN0aW9uLS1kaXNhYmxlZCAuc2QtdGFibGVfX2NlbGx7b3BhY2l0eToxfS5zZC10YWJsZV9fY2VsbC0taGVhZGVyLC5zZC10YWJsZV9fY2VsbC0taGVhZGVyIC5zdi12dWUtdGl0bGUtYWRkaXRpb25hbC1kaXZ7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uc2QtdGFibGVfX2NlbGwtLWhlYWRlciBzcGFuey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtmb250LXNpemU6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS13ZWlnaHQsNjAwKX0uc2QtdGFibGVfX2NlbGwtLWhlYWRlcntmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSkpO3ZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXRhYmxlX19jZWxsLS1oZWFkZXI6bm90KC5zZC10YWJsZV9fY2VsbC0tZW1wdHkpe21pbi13aWR0aDpjYWxjKDE1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLW1hdHJpeGRyb3Bkb3duIC5zZC10YWJsZV9fY2VsbC0taGVhZGVyLnNkLXRhYmxlX19jZWxsLS1lbXB0eXttaW4td2lkdGg6Y2FsYygxNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1tYXRyaXhkcm9wZG93biAuc2QtdGFibGVfX2NlbGwtLWhlYWRlci5zZC10YWJsZV9fY2VsbC0tYWN0aW9ue21pbi13aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbWF0cml4ZHJvcGRvd24gLnNkLXRhYmxlX19jZWxsLS1oZWFkZXI6bm90KC5zZC10YWJsZV9fY2VsbC0tZW1wdHkpe21pbi13aWR0aDpjYWxjKDE1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLW1hdHJpeGRyb3Bkb3duIC5zZC10YWJsZV9fY2VsbC0taGVhZGVyOm5vdCguc2QtdGFibGVfX2NlbGwtLWVtcHR5KS5zZC10YWJsZV9fY2VsbC0tZHJvcGRvd24sLnNkLW1hdHJpeGRyb3Bkb3duIC5zZC10YWJsZV9fY2VsbC0taGVhZGVyOm5vdCguc2QtdGFibGVfX2NlbGwtLWVtcHR5KS5zZC10YWJsZV9fY2VsbC0tcmF0aW5ne21pbi13aWR0aDpjYWxjKDIyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLW1hdHJpeGRyb3Bkb3duIC5zZC10YWJsZV9fY2VsbC0taGVhZGVyOm5vdCguc2QtdGFibGVfX2NlbGwtLWVtcHR5KS5zZC10YWJsZV9fY2VsbC0tYm9vbGVhbnttaW4td2lkdGg6Y2FsYygxOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC10YWJsZV9fY2VsbC0tZm9vdGVye3RleHQtYWxpZ246cmlnaHQ7cGFkZGluZy10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXRhYmxlX19jZWxsLS1mb290ZXItdG90YWx7Zm9udC13ZWlnaHQ6NjAwO3RleHQtYWxpZ246bGVmdH0uc2QtdGFibGVfX2NlbGwtLWRldGFpbC1wYW5lbHtib3JkZXItdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLWJvdHRvbTp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBzb2xpZCB0cmFuc3BhcmVudH0uc2QtbWF0cml4ZHluYW1pY19fYWRkLWJ0biAuc3YtYWN0aW9uLWJhciwuc2QtdGFibGVfX2NlbGwtLWFjdGlvbnMgLnN2LWFjdGlvbi1iYXJ7b3ZlcmZsb3c6dmlzaWJsZX0uc2QtdGFibGVfX2NlbGwtLWFjdGlvbnM6bm90KC5zZC10YWJsZV9fY2VsbC0tdmVydGljYWwpe3dpZHRoOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC10YWJsZV9fY2VsbC0tYWN0aW9uczpub3QoLnNkLXRhYmxlX19jZWxsLS12ZXJ0aWNhbCk6bm90KC5zZC10YWJsZV9fY2VsbC0tZHJhZyk6Zmlyc3Qtb2YtdHlwZXtwYWRkaW5nLWxlZnQ6MDt3aWR0aDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttaW4td2lkdGg6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXRhYmxlX19jZWxsLS1kZXRhaWwtYnV0dG9ue2JvcmRlcjpub25lO2JhY2tncm91bmQ6MCAwO2JvcmRlci1yYWRpdXM6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC10YWJsZV9fY2VsbC0tZGV0YWlsLWJ1dHRvbiBzdmd7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6YmxvY2s7d2lkdGg6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtoZWlnaHQ6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtmaWxsOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO3RyYW5zaXRpb246ZmlsbCB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLXRhYmxlX19jZWxsLS1kZXRhaWwtYnV0dG9uOmZvY3VzLC5zZC10YWJsZV9fY2VsbC0tZGV0YWlsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWxpZ2h0LHJnYmEoMjUsMTc5LDE0OCwuMSkpKTtvdXRsaW5lOjB9LnNkLXRhYmxlX19jZWxsLS1kZXRhaWwtYnV0dG9uOmZvY3VzIHN2Zywuc2QtdGFibGVfX2NlbGwtLWRldGFpbC1idXR0b246aG92ZXIgc3Zne2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC10YWJsZV9fY2VsbC0tYWN0aW9uc3t3aGl0ZS1zcGFjZTpub3dyYXB9LnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zLnNkLXRhYmxlX19jZWxsLS12ZXJ0aWNhbCAuc2QtYWN0aW9uLWJhcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zZC10YWJsZV9fY2VsbC0tcm93LXRleHR7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS13ZWlnaHQsNjAwKTtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7dGV4dC1hbGlnbjpsZWZ0O21pbi13aWR0aDpjYWxjKDEyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZzpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1tYXRyaXhkeW5hbWljX19jb250ZW50IC5zZC10YWJsZV9fcXVlc3Rpb24td3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZX0uc2QtdGFibGVfX3F1ZXN0aW9uLXdyYXBwZXI6bm90KDpmb2N1cy13aXRoaW4pOmhvdmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1tYXRyaXggdHI+dGQ6Zmlyc3Qtb2YtdHlwZSwuc2QtbWF0cml4X19jZWxsOmZpcnN0LW9mLXR5cGUsLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zOm5vdCguc2QtdGFibGVfX2NlbGwtLXZlcnRpY2FsKSwuc2QtdGFibGVfX2NlbGwtLWVtcHR5LC5zZC10YWJsZV9fY2VsbC0tZm9vdGVyLXRvdGFsLC5zZC10YWJsZV9fY2VsbC0tcm93LXRleHR7cG9zaXRpb246c3RpY2t5O2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtYmFja2NvbG9yLHZhcigtLXNqcy1xdWVzdGlvbi1iYWNrZ3JvdW5kLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKSkpO3otaW5kZXg6MTJ9LnNkLW1hdHJpeCB0cj50ZDpmaXJzdC1vZi10eXBlOmZpcnN0LW9mLXR5cGUsLnNkLW1hdHJpeF9fY2VsbDpmaXJzdC1vZi10eXBlOmZpcnN0LW9mLXR5cGUsLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zOm5vdCguc2QtdGFibGVfX2NlbGwtLXZlcnRpY2FsKTpmaXJzdC1vZi10eXBlLC5zZC10YWJsZV9fY2VsbC0tZW1wdHk6Zmlyc3Qtb2YtdHlwZSwuc2QtdGFibGVfX2NlbGwtLWZvb3Rlci10b3RhbDpmaXJzdC1vZi10eXBlLC5zZC10YWJsZV9fY2VsbC0tcm93LXRleHQ6Zmlyc3Qtb2YtdHlwZXtsZWZ0OmNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbWF0cml4IHRyPnRkOmZpcnN0LW9mLXR5cGU6bGFzdC1vZi10eXBlLC5zZC1tYXRyaXhfX2NlbGw6Zmlyc3Qtb2YtdHlwZTpsYXN0LW9mLXR5cGUsLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zOm5vdCguc2QtdGFibGVfX2NlbGwtLXZlcnRpY2FsKTpsYXN0LW9mLXR5cGUsLnNkLXRhYmxlX19jZWxsLS1lbXB0eTpsYXN0LW9mLXR5cGUsLnNkLXRhYmxlX19jZWxsLS1mb290ZXItdG90YWw6bGFzdC1vZi10eXBlLC5zZC10YWJsZV9fY2VsbC0tcm93LXRleHQ6bGFzdC1vZi10eXBle3JpZ2h0OmNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtdGFibGVfX2NlbGwtLWFjdGlvbnM6bm90KC5zZC10YWJsZV9fY2VsbC0tdmVydGljYWwpOmxhc3QtY2hpbGQgLnNkLWFjdGlvbi1iYXJ7bWFyZ2luLXJpZ2h0OmNhbGMoLTMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YmFja2dyb3VuZDp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1iYWNrY29sb3IsdmFyKC0tc2pzLXF1ZXN0aW9uLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpKSl9LnNkLXF1ZXN0aW9uLnNkLXF1ZXN0aW9uLS10YWJsZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy14OmF1dG99LnNkLXF1ZXN0aW9uLS10YWJsZS5zZC1lbGVtZW50LS1jb2xsYXBzZWQsLnNkLXF1ZXN0aW9uLS10YWJsZS5zZC1lbGVtZW50LS1uZXN0ZWR7b3ZlcmZsb3cteDp2aXNpYmxlfS5zZC1xdWVzdGlvbi0tdGFibGUgLnNkLXF1ZXN0aW9uX19oZWFkZXItLWxvY2F0aW9uLS1sZWZ0e3otaW5kZXg6MTJ9LnNkLXRhYmxlLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O21hcmdpbjowIGNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKTt3aWR0aDpmaXQtY29udGVudDttaW4td2lkdGg6Y2FsYygxMDAlICsgMiAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpfS5zZC10YWJsZS13cmFwcGVyOmFmdGVyLC5zZC10YWJsZS13cmFwcGVyOmJlZm9yZXtjb250ZW50OlwiXCI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGlja3k7bWluLWhlaWdodDoxMDAlO3dpZHRoOmNhbGModmFyKC0tc2QtYmFzZS1wYWRkaW5nKSAtIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTtmbGV4LXNocmluazowO2JhY2tncm91bmQ6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtYmFja2NvbG9yLHZhcigtLXNqcy1xdWVzdGlvbi1iYWNrZ3JvdW5kLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKSkpO3otaW5kZXg6MTF9LnNkLXRhYmxlLXdyYXBwZXI6OmJlZm9yZXtsZWZ0OmNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKX0uc2QtdGFibGUtd3JhcHBlcjphZnRlcntyaWdodDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSl9LnNkLXRhYmxlLXdyYXBwZXI+KntmbGV4LWJhc2lzOjEwMCV9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtZWxlbWVudC0tY29tcGFjdCAuc2QtdGFibGV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1lbGVtZW50LS1jb21wYWN0IC5zZC10YWJsZS13cmFwcGVyOmFmdGVyLC5zZC1lbGVtZW50LS13aXRoLWZyYW1lLnNkLWVsZW1lbnQtLWNvbXBhY3QgLnNkLXRhYmxlLXdyYXBwZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSl9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtZWxlbWVudC0tY29tcGFjdCAuc2QtdGFibGVfX2NlbGwtLWFjdGlvbnM6bm90KC5zZC10YWJsZV9fY2VsbC0tdmVydGljYWwpOmxhc3QtY2hpbGQgLnNkLWFjdGlvbi1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1lbGVtZW50LS1jb21wYWN0IC5zZC1tYXRyaXggdHI+dGQ6Zmlyc3Qtb2YtdHlwZSwuc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1lbGVtZW50LS1jb21wYWN0IC5zZC1tYXRyaXhfX2NlbGw6Zmlyc3Qtb2YtdHlwZSwuc2QtZWxlbWVudC0td2l0aC1mcmFtZS5zZC1lbGVtZW50LS1jb21wYWN0IC5zZC10YWJsZV9fY2VsbC0tYWN0aW9uczpub3QoLnNkLXRhYmxlX19jZWxsLS12ZXJ0aWNhbCksLnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtZWxlbWVudC0tY29tcGFjdCAuc2QtdGFibGVfX2NlbGwtLWVtcHR5LC5zZC1lbGVtZW50LS13aXRoLWZyYW1lLnNkLWVsZW1lbnQtLWNvbXBhY3QgLnNkLXRhYmxlX19jZWxsLS1mb290ZXItdG90YWwsLnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUuc2QtZWxlbWVudC0tY29tcGFjdCAuc2QtdGFibGVfX2NlbGwtLXJvdy10ZXh0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSl9LnNkLXF1ZXN0aW9uLS10YWJsZSAuc2QtcXVlc3Rpb25fX2Rlc2NyaXB0aW9uLS11bmRlci1pbnB1dCAuc3Ytc3RyaW5nLXZpZXdlciwuc2QtcXVlc3Rpb24tLXRhYmxlPi5zZC1xdWVzdGlvbl9faGVhZGVye3Bvc2l0aW9uOnN0aWNreTtsZWZ0OjB9LnNkLXF1ZXN0aW9uLS10YWJsZT4uc2QtcXVlc3Rpb25fX2NvbnRlbnR7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7LS1hbmltYXRpb24tcGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsIHZhcigtLWJhc2UtdW5pdCwgOHB4KSkpKTttaW4td2lkdGg6bWluLWNvbnRlbnR9LnNkLXF1ZXN0aW9uLS10YWJsZS5zZC1lbGVtZW50LS1uZXN0ZWQ+LnNkLXF1ZXN0aW9uX19jb250ZW50e21pbi13aWR0aDphdXRvO292ZXJmbG93LXg6YXV0b30uc2QtcXVlc3Rpb24tLXRhYmxlLnNkLWVsZW1lbnQtLW5lc3RlZD4uc2QtcXVlc3Rpb25fX2NvbnRlbnQsLnNkLXF1ZXN0aW9uLS10YWJsZTpub3QoLnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUpOm5vdCguc2QtZWxlbWVudC0tbmVzdGVkKXtwYWRkaW5nLXJpZ2h0OnZhcigtLXNkLWJhc2UtcGFkZGluZyk7bWFyZ2luLXJpZ2h0OmNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKTtwYWRkaW5nLWxlZnQ6dmFyKC0tc2QtYmFzZS1wYWRkaW5nKTttYXJnaW4tbGVmdDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSk7Ym94LXNpemluZzpjb250ZW50LWJveH0uc2Qtcm93LS1tdWx0aXBsZSAuc2QtcXVlc3Rpb24tLXRhYmxlLnNkLWVsZW1lbnQtLW5lc3RlZD4uc2QtcXVlc3Rpb25fX2NvbnRlbnR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNkLWJhc2UtcGFkZGluZykgKyAycHgpfS5zZC1xdWVzdGlvbi0tc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS5zZC10YWJsZV9fcm93LWRpc2FibGVkPi5zZC10YWJsZV9fY2VsbHtvcGFjaXR5Oi4yNX0uc2QtdGFibGVfX2NlbGwtLWRldGFpbC1wYW5lbCAuc2QtcGFuZWxfX2NvbnRlbnR7cGFkZGluZy10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXRhYmxlX19xdWVzdGlvbi13cmFwcGVyIC5zZC1ib29sZWFuLXJvb3R7bWFyZ2luOmF1dG99LnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19xdWVzdGlvbi13cmFwcGVyIC5zZC1ib29sZWFuLXJvb3R7bWFyZ2luOmluaXRpYWx9LnNkLXRhYmxlX19jZWxsLS1mb290ZXIgLnNkLXRhYmxlX19xdWVzdGlvbi13cmFwcGVyLS1leHByZXNzaW9uIC5zZC1leHByZXNzaW9ue3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWxpZ2h0LHZhcigtLWJvcmRlci1saWdodCwjZWFlYWVhKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC10YWJsZV9fY2VsbC0tZm9vdGVyIC5zZC10YWJsZV9fcXVlc3Rpb24td3JhcHBlci0tbGVmdHt0ZXh0LWFsaWduOnN0YXJ0fS5zZC10YWJsZV9fY2VsbC0tZm9vdGVyIC5zZC10YWJsZV9fcXVlc3Rpb24td3JhcHBlci0tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5zZC10YWJsZV9fY2VsbC0tZm9vdGVyIC5zZC10YWJsZV9fcXVlc3Rpb24td3JhcHBlci0tcmlnaHR7dGV4dC1hbGlnbjplbmR9LnNkLXRhYmxlLnNkLW1hdHJpeGR5bmFtaWN7dGFibGUtbGF5b3V0OmF1dG99LnNkLXBhZ2V7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3BhZGRpbmc6MCBjYWxjKDUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtcGFnZXtwYWRkaW5nOjB9LnNkLXBhZ2UgLnNkLXBhZ2VfX3RpdGxley0tcGFnZS10aXRsZS1mb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcGFnZXRpdGxlLXNpemUsIGNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsIDE2cHgpKSkpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1wYWdldGl0bGUtd2VpZ2h0LDcwMCk7Zm9udC1zaXplOnZhcigtLXBhZ2UtdGl0bGUtZm9udC1zaXplKTtjb2xvcjp2YXIoLS1zanMtZm9udC1wYWdldGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZGltLWZvcmVjb2xvcixyZ2JhKDAsMCwwLC45MSkpKTtwb3NpdGlvbjpzdGF0aWM7bGluZS1oZWlnaHQ6Y2FsYygxLjMzICogKHZhcigtLXBhZ2UtdGl0bGUtZm9udC1zaXplKSkpO21hcmdpbjowIDAgY2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIDB9LnNkLXBhZ2UgLnNkLXBhZ2VfX2Rlc2NyaXB0aW9ue2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1wYWdlZGVzY3JpcHRpb24td2VpZ2h0LDQwMCk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2VkZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO3Bvc2l0aW9uOnN0YXRpYztsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1wYWdlZGVzY3JpcHRpb24tc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO21hcmdpbjowIDAgY2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIDB9LnNkLXBhZ2VfX2VycmJveHtwYWRkaW5nOmNhbGMoLjUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpICsgdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpIHZhcigtLXNkLWJhc2UtcGFkZGluZyl9LnNkLXBhZ2VfX2Rlc2NyaXB0aW9ufi5zZC1wYWdlX19lcnJib3gsLnNkLXBhZ2VfX3RpdGxlfi5zZC1wYWdlX19lcnJib3h7bWFyZ2luLXRvcDpjYWxjKC41ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSArIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTttYXJnaW4tYm90dG9tOmNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC0tY29tcGFjdCAuc2QtcGFnZV9fZGVzY3JpcHRpb25+LnNkLXBhZ2VfX2VycmJveCwuc2Qtcm9vdC0tY29tcGFjdCAuc2QtcGFnZV9fdGl0bGV+LnNkLXBhZ2VfX2VycmJveHttYXJnaW4tYm90dG9tOjB9LnNkLXJvd3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94Oy0tYW5pbWF0ZS1tYXJnaW46dmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKTttYXJnaW4tdG9wOnZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZyl9LnNkLXJvdy5zZC1wYWdlX19yb3d7bWFyZ2luLXRvcDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTstLWFuaW1hdGUtbWFyZ2luOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKSl9LnNkLXBhZ2VfX3Jvdy5zZC1yb3ctLWNvbXBhY3R7bWFyZ2luLXRvcDp2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpOy0tYW5pbWF0ZS1tYXJnaW46dmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKX0uc2Qtcm93OmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDowOy0tYW5pbWF0ZS1tYXJnaW46MH0uc2QtcGFnZV9fZGVzY3JpcHRpb25+LnNkLXJvdy5zZC1wYWdlX19yb3c6bm90KC5zZC1yb3ctLWNvbXBhY3QpLC5zZC1wYWdlX190aXRsZX4uc2Qtcm93LnNkLXBhZ2VfX3Jvdzpub3QoLnNkLXJvdy0tY29tcGFjdCl7bWFyZ2luLXRvcDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTstLWFuaW1hdGUtbWFyZ2luOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKSl9LnNkLXBhZ2VfX2Rlc2NyaXB0aW9ufi5zZC1wYWdlX19yb3cuc2Qtcm93LS1jb21wYWN0LC5zZC1wYWdlX190aXRsZX4uc2QtcGFnZV9fcm93LnNkLXJvdy0tY29tcGFjdHttYXJnaW4tdG9wOnZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZyk7LS1hbmltYXRlLW1hcmdpbjp2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpfS5zZC1wYWdlX19kZXNjcmlwdGlvbn4uc2QtcGFnZV9fcm93LnNkLXJvdy5zZC1yb3ctLWZhZGUtaW4uc2Qtcm93LS1mYWRlLWluLC5zZC1wYWdlX190aXRsZX4uc2QtcGFnZV9fcm93LnNkLXJvdy5zZC1yb3ctLWZhZGUtaW4uc2Qtcm93LS1mYWRlLWlue21hcmdpbi10b3A6MH0uc2Qtcm93LnNkLXBhZ2VfX3Jvdzpub3QoLnNkLXJvdy0tY29tcGFjdCl+LnNkLXJvdy5zZC1wYWdlX19yb3c6bm90KC5zZC1yb3ctLWNvbXBhY3Qpe21hcmdpbi10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7LS1hbmltYXRlLW1hcmdpbjpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCwgdmFyKC0tYmFzZS11bml0LCA4cHgpKSkpfS5zZC1yb3cuc2QtcGFnZV9fcm93Om5vdCguc2Qtcm93LS1jb21wYWN0KX4uc2QtcGFnZV9fcm93LnNkLXJvdy5zZC1yb3ctLWZhZGUtaW4uc2Qtcm93LS1mYWRlLWlue21hcmdpbi10b3A6MH0uc2Qtcm93LS1tdWx0aXBsZXtyb3ctZ2FwOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21hcmdpbi1sZWZ0OmNhbGMoLTEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKTt3aWR0aDpjYWxjKDEwMCUgKyB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKTtmbGV4LXdyYXA6d3JhcH0uc2Qtcm93LS1tdWx0aXBsZT5kaXZ7Ym94LXNpemluZzpib3JkZXItYm94Oy0tYW5pbWF0aW9uLXBhZGRpbmctbGVmdDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCwgdmFyKC0tYmFzZS11bml0LCA4cHgpKSkpO3BhZGRpbmctbGVmdDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaH0uc2QtcGFuZWwuc2QtcGFuZWwtLWFzLXBhZ2U+LnNkLXBhbmVsX19jb250ZW50Pi5zZC1yb3ctLW11bHRpcGxlOm5vdCguc2Qtcm93LS1jb21wYWN0KXttYXJnaW4tbGVmdDpjYWxjKC0yICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6Y2FsYygxMDAlICsgdmFyKC0tYmFzZS11bml0KSAqIDIpfS5zZC1wYW5lbDpub3QoLnNkLXBhbmVsLS1hcy1wYWdlKSAuc2Qtcm93LS1tdWx0aXBsZXtyb3ctZ2FwOnZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZyl9LnNkLXBhbmVsOm5vdCguc2QtcGFuZWwtLWFzLXBhZ2UpIC5zZC1yb3ctLW11bHRpcGxlPmRpdnstLWFuaW1hdGlvbi1wYWRkaW5nLWxlZnQ6dmFyKC0tc2QtYmFzZS1wYWRkaW5nKTtwYWRkaW5nLWxlZnQ6dmFyKC0tc2QtYmFzZS1wYWRkaW5nKX0uc2Qtcm93LS1tdWx0aXBsZS5zZC1yb3ctLWNvbXBhY3Q+ZGl2ey0tYW5pbWF0aW9uLXBhZGRpbmctbGVmdDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpO3BhZGRpbmctbGVmdDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zZC1wYWdlX19yb3cuc2Qtcm93LS1tdWx0aXBsZXttYXJnaW4tbGVmdDpjYWxjKC0yICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6Y2FsYygxMDAlICsgMiAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc2QtcGFnZV9fcm93LnNkLXJvdy0tbXVsdGlwbGUuc2Qtcm93LS1jb21wYWN0e3BhZGRpbmc6MDtyb3ctZ2FwOnZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZyk7bWFyZ2luLWxlZnQ6Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO3dpZHRoOmNhbGMoMTAwJSArIHZhcigtLXNkLWJhc2UtcGFkZGluZykpfS5zZC1yb3dfX3BhbmVse2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlfS5zZC1yb3dfX3F1ZXN0aW9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO3doaXRlLXNwYWNlOm5vd3JhcH1Aa2V5ZnJhbWVzIG1hcmdpbkZhZGVJbntmcm9te21hcmdpbi10b3A6MH10b3ttYXJnaW4tdG9wOnZhcigtLWFuaW1hdGUtbWFyZ2luKX19LnNkLXJvdy5zZC1yb3ctLWZhZGUtaW57bWFyZ2luLXRvcDowfS5zZC1yb3ctLWZhZGUtaW57YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tbmFtZTpmYWRlSW4sbW92ZUluV2l0aE92ZXJmbG93LG1hcmdpbkZhZGVJbjttaW4taGVpZ2h0OjAhaW1wb3J0YW50O29wYWNpdHk6MDtoZWlnaHQ6MDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjU4LDEpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1zanMtcm93LWZhZGUtaW4tZGVsYXksMTUwbXMpLDBzLDBzO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtcm93LWZhZGUtaW4tZHVyYXRpb24sNTAwbXMpLHZhcigtLXNqcy1yb3ctbW92ZS1pbi1kdXJhdGlvbiwxNTBtcyksdmFyKC0tc2pzLXJvdy1tb3ZlLWluLWR1cmF0aW9uLDE1MG1zKX0uc2Qtcm93LS1kZWxheWVkLWZhZGUtaW57YW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tc2pzLXJvdy1mYWRlLWluLWRlbGF5LDE1MG1zKSArIHZhcigtLXNqcy1yb3ctZmFkZS1pbi1hbmltYXRpb24tZGVsYXksNDAwbXMpKSx2YXIoLS1zanMtcm93LWZhZGUtaW4tYW5pbWF0aW9uLWRlbGF5LDQwMG1zKSx2YXIoLS1zanMtcm93LWZhZGUtaW4tYW5pbWF0aW9uLWRlbGF5LDQwMG1zKX0uc2Qtcm93LS1mYWRlLW91dHthbmltYXRpb24tbmFtZTpmYWRlSW4sbW92ZUluV2l0aE92ZXJmbG93LG1hcmdpbkZhZGVJbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNDIsMCwxLDEpO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWRpcmVjdGlvbjpyZXZlcnNlO21pbi1oZWlnaHQ6MCFpbXBvcnRhbnQ7YW5pbWF0aW9uLWRlbGF5OjBzLHZhcigtLXNqcy1yb3ctbW92ZS1vdXQtZGVsYXksMTAwbXMpLHZhcigtLXNqcy1yb3ctbW92ZS1vdXQtZGVsYXksMTAwbXMpO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtcm93LWZhZGUtb3V0LWR1cmF0aW9uLDE1MG1zKSx2YXIoLS1zanMtcm93LW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKSx2YXIoLS1zanMtcm93LW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKX0uc2Qtcm93LS1mYWRlLWluIC5zZC1lbGVtZW50LXdyYXBwZXItLWZhZGUtaW57YW5pbWF0aW9uOm5vbmV9LnNkLXJvdy0tZmFkZS1vdXQgLnNkLWVsZW1lbnQtd3JhcHBlci0tZmFkZS1vdXR7YW5pbWF0aW9uOm5vbmV9LnNkLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc3R5bGU6bm9ybWFsO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtmbGV4LWRpcmVjdGlvbjpyb3c7d2hpdGUtc3BhY2U6bm9ybWFsfS5zZC10aXRsZS5zZC1jb250YWluZXItbW9kZXJuX190aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6dmFyKC0tc2QtcGFnZS12ZXJ0aWNhbC1wYWRkaW5nKSB2YXIoLS1zZC1wYWdlLXZlcnRpY2FsLXBhZGRpbmcpO292ZXJmbG93OmF1dG87Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2dhcDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3gtc2hhZG93OjAgMnB4IDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC10aXRsZS5zZC1jb250YWluZXItbW9kZXJuX190aXRsZSAuc2QtbG9nby5zdi1sb2dvLS1yaWdodHttYXJnaW4tbGVmdDphdXRvfS5zZC10aXRsZS5zZC1jb250YWluZXItbW9kZXJuX190aXRsZSAuc2QtbG9nb19faW1hZ2V7bWFyZ2luLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtaGVhZGVyX190ZXh0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2ZsZXgtZ3JvdzoxfS5zZC1oZWFkZXJfX3RleHQgLnNkLXRpdGxley0tc3VydmV5LXRpdGxlLWZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zdXJ2ZXl0aXRsZS1zaXplLCBjYWxjKDIgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKSk7Zm9udC1zaXplOnZhcigtLXN1cnZleS10aXRsZS1mb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS4yNSAqICh2YXIoLS1zdXJ2ZXktdGl0bGUtZm9udC1zaXplKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXN1cnZleXRpdGxlLWNvbG9yLHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKSk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtc3VydmV5dGl0bGUtZmFtaWx5LHZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc3VydmV5dGl0bGUtd2VpZ2h0LDcwMCl9LnNkLWhlYWRlcl9fdGV4dCBoM3tsaW5lLWhlaWdodDpjYWxjKDIuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSl9LnNkLWhlYWRlcl9fdGV4dCBoNXtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpfS5zZC1oZWFkZXJfX3RleHQgLnNkLWRlc2NyaXB0aW9uey0tc3VydmV5LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zdXJ2ZXlkZXNjcmlwdGlvbi1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSk7Zm9udC1zaXplOnZhcigtLXN1cnZleS1kZXNjcmlwdGlvbi1mb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXN1cnZleS1kZXNjcmlwdGlvbi1mb250LXNpemUpKSk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtc3VydmV5ZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1zdXJ2ZXlkZXNjcmlwdGlvbi1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1zdXJ2ZXlkZXNjcmlwdGlvbi13ZWlnaHQsNDAwKX0uc2QtdGl0bGUgLnN2LXRpdGxlLWFjdGlvbnN7d2lkdGg6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2Qtcm9vdC1tb2Rlcm4gLnNkLWNvbnRhaW5lci1tb2Rlcm5fX3RpdGxle2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpfS5zZC1yb290LW1vZGVybiAuc2QtY29udGFpbmVyLW1vZGVybl9fdGl0bGUgLnNkLWhlYWRlcl9fdGV4dCBoM3ttYXJnaW46MH0uc2Qtcm9vdC1tb2Rlcm4gLnNkLWNvbnRhaW5lci1tb2Rlcm5fX3RpdGxlIC5zZC1kZXNjcmlwdGlvbnttYXJnaW46MDtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLXRpdGxlIC5zdi10aXRsZS1hY3Rpb25ze2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7d2lkdGg6Y2FsYygxMDAlICsgMyAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKX0uc2QtdGl0bGUgLnN2LXRpdGxlLWFjdGlvbnMgLnN2LXRpdGxlLWFjdGlvbnNfX3RpdGxle2ZsZXgtd3JhcDp3cmFwO2ZsZXg6MCAxIGF1dG87bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDMgKiB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSk7d2hpdGUtc3BhY2U6aW5pdGlhbDttaW4td2lkdGg6dW5zZXR9LnNkLWFjdGlvbi10aXRsZS1iYXJ7ZmxleDoxIDkgYXV0bzttaW4td2lkdGg6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbjpjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMH0uc2QtYWN0aW9uLXRpdGxlLWJhciAuc3YtYWN0aW9ue2ZsZXg6MCAwIGF1dG99LnNkLWFjdGlvbi10aXRsZS1iYXIuc2QtYWN0aW9uLWJhci0tZW1wdHl7bWluLXdpZHRoOjB9LnNkLWRlc2NyaXB0aW9ue2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tZmFtaWx5LHZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi13ZWlnaHQsNDAwKTtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbmRlc2NyaXB0aW9uLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCxyZ2JhKDAsMCwwLC40NSkpKTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3doaXRlLXNwYWNlOm5vcm1hbH0uc2QtZGVzY3JpcHRpb24uc2QtcXVlc3Rpb25fX2Rlc2NyaXB0aW9uLS11bmRlci1pbnB1dHtwYWRkaW5nLXRvcDpjYWxjKC4zNzUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKX0uc2QtZWxlbWVudF9faGVhZGVyIC5zZC1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOmNhbGMoLjI1ICogdmFyKC0tc2QtYmFzZS12ZXJ0aWNhbC1wYWRkaW5nKSAtIC41ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpfS5zZC1pdGVte3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwfS5zZC1pdGVtLS1kaXNhYmxlZC5zZC1pdGVtLS1kaXNhYmxlZCAuc2QtaXRlbV9fZGVjb3JhdG9yLC5zZC1pdGVtX19kZWNvcmF0b3J7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWVkaXRvcnBhbmVsLWJhY2tjb2xvcix2YXIoLS1zanMtZWRpdG9yLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSkpKTtib3JkZXI6bm9uZTtmbGV4LXNocmluazowO21hcmdpbi10b3A6Y2FsYygoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpIC0gMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpLyAyKTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctaW5uZXIsaW5zZXQgMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAwIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpLGJhY2tncm91bmQgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1pdGVtLS1yZWFkb25seS5zZC1pdGVtLS1yZWFkb25seSAuc2QtaXRlbV9fZGVjb3JhdG9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSk7Ym94LXNoYWRvdzpub25lO3RyYW5zaXRpb246bm9uZX0uc2QtaXRlbS0tcHJldmlldy5zZC1pdGVtLS1wcmV2aWV3IC5zZC1pdGVtX19kZWNvcmF0b3J7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjpub25lfS5zZC1pdGVtLS1jaGVja2VkIC5zZC1pdGVtX19kZWNvcmF0b3J7Ym94LXNoYWRvdzpub25lfS5zZC1pdGVtX19jb250cm9sOmZvY3VzKy5zZC1pdGVtX19kZWNvcmF0b3J7YmFja2dyb3VuZDp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1iYWNrY29sb3IsdmFyKC0tc2pzLXF1ZXN0aW9uLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpKSk7b3V0bGluZTowO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1pbm5lci1yZXNldCxpbnNldCAwIDAgMCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtaXRlbS0tYWxsb3dob3Zlcjpub3QoLnNkLWl0ZW0tLXJlYWRvbmx5KSAuc2Qtc2VsZWN0YmFzZV9fbGFiZWw6aG92ZXIgLnNkLWl0ZW1fX2RlY29yYXRvcntiYWNrZ3JvdW5kOnZhcigtLXNqcy1lZGl0b3JwYW5lbC1ob3ZlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0tZGFyaywjZjNmM2YzKSk7b3V0bGluZTowfS5zZC1pdGVtLS1jaGVja2VkIC5zZC1pdGVtX19kZWNvcmF0b3J7YmFja2dyb3VuZDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWl0ZW1fX2NvbnRyb2wtbGFiZWx7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtZmFtaWx5LHZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC13ZWlnaHQsNDAwKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSkpO3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDttaW4td2lkdGg6MH0uc2QtaXRlbV9fY29udHJvbC1sYWJlbCAuc3Ytc3RyaW5nLXZpZXdlcnttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrfS5zZC1pdGVtLS1kaXNhYmxlZCAuc2QtaXRlbV9fY29udHJvbC1sYWJlbHtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7b3BhY2l0eTouMjV9LnNkLXJvb3QtLXJlYWRvbmx5IC5zZC1pdGVtLS1kaXNhYmxlZCAuc2QtaXRlbV9fY29udHJvbC1sYWJlbHtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSl9LnNkLWl0ZW0tLWVycm9yIC5zZC1pdGVtX19kZWNvcmF0b3J7YmFja2dyb3VuZDp2YXIoLS1zanMtc3BlY2lhbC1yZWQtbGlnaHQsdmFyKC0tcmVkLWxpZ2h0LHJnYmEoMjMwLDEwLDYyLC4xKSkpfS5zZC1zZWxlY3RiYXNle2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDttaW4taW5saW5lLXNpemU6MDttaW4td2lkdGg6MH0uc2Qtc2VsZWN0YmFzZS0tcm93e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Y29sdW1uLWdhcDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtc2VsZWN0YmFzZS0tbXVsdGktY29sdW1ue2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSAwcHh9LnNkLXNlbGVjdGJhc2VfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJX0uc2Qtc2VsZWN0YmFzZV9fY29sdW1ue3ZlcnRpY2FsLWFsaWduOnRvcH0uc2Qtc2VsZWN0YmFzZV9fY29sdW1ue2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXg6MSAxIDBweDttaW4td2lkdGg6MH0uc2Qtc2VsZWN0YmFzZV9fY29sdW1uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtc2VsZWN0YmFzZV9fY29sdW1uLnN2LXEtY29sdW1uLTF7d2lkdGg6MTAwJX0uc2QtY2hlY2tib3hfX2RlY29yYXRvcntib3JkZXItcmFkaXVzOmNhbGMoLjUgKiAodmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KSkpfS5zZC1jaGVja2JveF9fc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtY2hlY2tib3hfX3N2ZyB1c2V7ZmlsbDp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmZpbGwgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1jaGVja2JveC0tY2hlY2tlZCAuc2QtY2hlY2tib3hfX3N2ZyB1c2V7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2QtY2hlY2tib3gtLWNoZWNrZWQuc2QtY2hlY2tib3gtLWRpc2FibGVkIC5zZC1jaGVja2JveF9fc3ZnIHVzZXtmaWxsOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpfS5zZC1jaGVja2JveC0tY2hlY2tlZCAuc2QtY2hlY2tib3hfX2NvbnRyb2w6Zm9jdXMrLnNkLWNoZWNrYm94X19kZWNvcmF0b3IgLnNkLWNoZWNrYm94X19zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1jaGVja2JveC0tY2hlY2tlZC5zZC1jaGVja2JveC0tcmVhZG9ubHkgLnNkLWNoZWNrYm94X19zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1jaGVja2JveC0tY2hlY2tlZC5zZC1jaGVja2JveC0tcHJldmlldyAuc2QtY2hlY2tib3hfX3N2ZyB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLXJhZGlvX19kZWNvcmF0b3J7Ym9yZGVyLXJhZGl1czo1MCV9LnNkLXJhZGlvX19kZWNvcmF0b3I6YWZ0ZXJ7Y29udGVudDpcIiBcIjtkaXNwbGF5OmJsb2NrO3dpZHRoOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2hlaWdodDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLXJhZGlvLS1jaGVja2VkIC5zZC1yYWRpb19fZGVjb3JhdG9yOmFmdGVye2NvbnRlbnQ6XCIgXCI7ZGlzcGxheTpibG9jazt3aWR0aDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtoZWlnaHQ6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2QtcmFkaW8tLWNoZWNrZWQuc2QtcmFkaW8tLWRpc2FibGVkIC5zZC1yYWRpb19fZGVjb3JhdG9yOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSl9LnNkLXJhZGlvLS1jaGVja2VkLnNkLXJhZGlvLS1yZWFkb25seSAuc2QtcmFkaW9fX2RlY29yYXRvcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtcmFkaW8tLWNoZWNrZWQuc2QtcmFkaW8tLXByZXZpZXcgLnNkLXJhZGlvX19kZWNvcmF0b3I6YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZC1yYWRpby0tY2hlY2tlZC5zZC1yYWRpby0tcHJldmlldyAuc2QtcmFkaW9fX2RlY29yYXRvciAuc2QtcmFkaW9fX3N2Z3tmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtkaXNwbGF5OmJsb2NrO3dpZHRoOmNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJhZGlvLS1jaGVja2VkIC5zZC1yYWRpb19fY29udHJvbDpmb2N1cysuc2QtcmFkaW9fX2RlY29yYXRvcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtcmFkaW9fX3N2Z3tkaXNwbGF5Om5vbmV9LnNkLXZpc3VhbGx5aGlkZGVue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxcHg7d2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMXB4IDFweCAxcHggMXB4KTtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KX0uc2QtbWF0cml4IGZpZWxkc2V0e2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH0uc2QtbWF0cml4X19sYWJlbHtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtbWF0cml4X190ZXh0e3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLW1hdHJpeF9fdGV4dC0tY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWxpZ2h0LHJnYmEoMjUsMTc5LDE0OCwuMSkpKTtwYWRkaW5nOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1tYXRyaXhfX2NlbGw6Zmlyc3Qtb2YtdHlwZXtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXdlaWdodCw2MDApO3RleHQtYWxpZ246bGVmdH06cm9vdHstLXNkLXJhdGluZy1iYWQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLCB2YXIoLS1yZWQsICNlNjBhM2UpKTstLXNkLXJhdGluZy1ub3JtYWwtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwteWVsbG93LCB2YXIoLS15ZWxsb3csICNmZjk4MTQpKTstLXNkLXJhdGluZy1nb29kLWNvbG9yOnZhcigtLXNqcy1zcGVjaWFsLWdyZWVuLCB2YXIoLS1ncmVlbiwgIzE5YjM5NCkpOy0tc2QtcmF0aW5nLWJhZC1jb2xvci1saWdodDp2YXIoLS1zanMtc3BlY2lhbC1yZWQtbGlnaHQsIHZhcigtLXJlZC1saWdodCwgcmdiYSgyMzAsIDEwLCA2MiwgMC4xKSkpOy0tc2QtcmF0aW5nLW5vcm1hbC1jb2xvci1saWdodDp2YXIoLS1zanMtc3BlY2lhbC15ZWxsb3ctbGlnaHQsIHZhcigtLXllbGxvdy1saWdodCwgcmdiYSgyNTUsIDE1MiwgMjAsIDAuMSkpKTstLXNkLXJhdGluZy1nb29kLWNvbG9yLWxpZ2h0OnZhcigtLXNqcy1zcGVjaWFsLWdyZWVuLWxpZ2h0LCB2YXIoLS1ncmVlbi1saWdodCwgcmdiYSgyNSwgMTc5LCAxNDgsIDAuMSkpKX0uc2QtcmF0aW5ne292ZXJmbG93LXg6YXV0bzttaW4taGVpZ2h0OmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYXRpbmcgZmllbGRzZXR7ZGlzcGxheTpmbGV4O2JvcmRlcjpub25lO3BhZGRpbmc6MCAwIDJweCAwO2ZsZXgtd3JhcDpub3dyYXA7Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi1pbmxpbmUtc3RhcnQ6MDthbGlnbi1pdGVtczpjZW50ZXJ9LnNkLXJhdGluZy5zZC1yYXRpbmctLXdyYXBwYWJsZSBmaWVsZHNldHtmbGV4LXdyYXA6d3JhcDttaW4td2lkdGg6MH0uc2QtcmF0aW5nLnNkLXJhdGluZy0tbGFiZWxzLXRvcCBmaWVsZHNldHtwYWRkaW5nLXRvcDpjYWxjKDQuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1yYXRpbmcuc2QtcmF0aW5nLS1sYWJlbHMtdG9wIGZpZWxkc2V0IC5zZC1yYXRpbmdfX21pbi10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjowO2xlZnQ6MDt0b3A6MDtib3JkZXI6MH0uc2QtcmF0aW5nLnNkLXJhdGluZy0tbGFiZWxzLXRvcCBmaWVsZHNldCAuc2QtcmF0aW5nX19tYXgtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDtyaWdodDowO3RvcDowO2JvcmRlcjowfS5zZC1yYXRpbmcuc2QtcmF0aW5nLS1sYWJlbHMtYm90dG9tIGZpZWxkc2V0e3BhZGRpbmctYm90dG9tOmNhbGMoNC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cG9zaXRpb246cmVsYXRpdmV9LnNkLXJhdGluZy5zZC1yYXRpbmctLWxhYmVscy1ib3R0b20gZmllbGRzZXQgLnNkLXJhdGluZ19fbWluLXRleHR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7bGVmdDowO2JvdHRvbTowO2JvcmRlcjowfS5zZC1yYXRpbmcuc2QtcmF0aW5nLS1sYWJlbHMtYm90dG9tIGZpZWxkc2V0IC5zZC1yYXRpbmdfX21heC10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjowO3JpZ2h0OjA7Ym90dG9tOjA7Ym9yZGVyOjB9LnNkLXJhdGluZy5zZC1yYXRpbmctLWxhYmVscy1kaWFnb25hbCBmaWVsZHNldHtwYWRkaW5nLXRvcDpjYWxjKDQuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctYm90dG9tOmNhbGMoNC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cG9zaXRpb246cmVsYXRpdmV9LnNkLXJhdGluZy5zZC1yYXRpbmctLWxhYmVscy1kaWFnb25hbCBmaWVsZHNldCAuc2QtcmF0aW5nX19taW4tdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDtsZWZ0OjA7dG9wOjA7Ym9yZGVyOjB9LnNkLXJhdGluZy5zZC1yYXRpbmctLWxhYmVscy1kaWFnb25hbCBmaWVsZHNldCAuc2QtcmF0aW5nX19tYXgtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDtyaWdodDowO2JvdHRvbTowO2JvcmRlcjowfS5zZC1yYXRpbmctLXNtYWxse21pbi1oZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luOmF1dG99LnNkLXJhdGluZy0tc21hbGwgZmllbGRzZXR7cGFkZGluZzowO2dhcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtcmF0aW5nX19pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtYmFja2NvbG9yLHZhcigtLXNqcy1xdWVzdGlvbi1iYWNrZ3JvdW5kLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKSkpO2JvcmRlci1yYWRpdXM6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2hpdGUtc3BhY2U6bm93cmFwO3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjowIHNvbGlkIHRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwsMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMTUpKSxpbnNldCAwIDAgMCAwIHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpLGJhY2tncm91bmQtY29sb3IgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1yYXRpbmdfX2l0ZW0tLWZpeGVkLXNpemV7d2lkdGg6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZzowfWxlZ2VuZCsuc2QtcmF0aW5nX19pdGVtLGxlZ2VuZCtzdi1uZy1yYXRpbmctaXRlbSsuc2QtcmF0aW5nX19pdGVtLGxlZ2VuZCtzdi1uZy1yYXRpbmctaXRlbS1zbWlsZXkrLnNkLXJhdGluZ19faXRlbS1zbWlsZXl7bWFyZ2luLWlubGluZS1zdGFydDoycHh9LnNkLXJhdGluZ19faXRlbS0tZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQtbGlnaHQsdmFyKC0tcmVkLWxpZ2h0LHJnYmEoMjMwLDEwLDYyLC4xKSkpO2JveC1zaGFkb3c6MCAxcHggMnB4IHRyYW5zcGFyZW50O2JvcmRlcjpub25lfS5zZC1yYXRpbmdfX2l0ZW0uc2QtcmF0aW5nX19pdGVtLS1kaXNhYmxlZHtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLXJhdGluZ19faXRlbS5zZC1yYXRpbmdfX2l0ZW0tLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS0tZGlzYWJsZWR7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSk7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kLXNlbWl0cmFuc3BhcmVudCxyZ2JhKDE0NCwxNDQsMTQ0LC41KSk7Ym9yZGVyOm5vbmV9LnNkLXJhdGluZ19faXRlbS5zZC1yYXRpbmdfX2l0ZW0tLXJlYWRvbmx5e2ZpbGw6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItaW5zaWRlLHZhcigtLWJvcmRlci1pbnNpZGUscmdiYSgwLDAsMCwuMTYpKSk7Ym94LXNoYWRvdzpub25lO3RyYW5zZm9ybTpub25lfS5zZC1yYXRpbmdfX2l0ZW0uc2QtcmF0aW5nX19pdGVtLS1yZWFkb25seSAuc2QtcmF0aW5nX19pdGVtLXRleHQuc2QtcmF0aW5nX19pdGVtLXRleHR7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zZC1yYXRpbmdfX2l0ZW0uc2QtcmF0aW5nX19pdGVtLS1zZWxlY3RlZC5zZC1yYXRpbmdfX2l0ZW0tLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLXJhdGluZ19faXRlbS5zZC1yYXRpbmdfX2l0ZW0tLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS0tcmVhZG9ubHkgLnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0e2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtcmF0aW5nX19pdGVtLnNkLXJhdGluZ19faXRlbS0tcHJldmlld3tmaWxsOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmU7dHJhbnNmb3JtOm5vbmV9LnNkLXJhdGluZ19faXRlbS5zZC1yYXRpbmdfX2l0ZW0tLXByZXZpZXc6Zm9jdXMtd2l0aGlue2JveC1zaGFkb3c6bm9uZX0uc2QtcmF0aW5nX19pdGVtLnNkLXJhdGluZ19faXRlbS0tcHJldmlldyAuc2QtcmF0aW5nX19pdGVtLXRleHQuc2QtcmF0aW5nX19pdGVtLXRleHR7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1yYXRpbmdfX2l0ZW0uc2QtcmF0aW5nX19pdGVtLS1zZWxlY3RlZC5zZC1yYXRpbmdfX2l0ZW0tLXByZXZpZXd7Ym9yZGVyLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtib3JkZXItd2lkdGg6MXB4fS5zZC1yYXRpbmdfX2l0ZW0uc2QtcmF0aW5nX19pdGVtLS1zZWxlY3RlZC5zZC1yYXRpbmdfX2l0ZW0tLXByZXZpZXcgLnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0e2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtcXVlc3Rpb24tLWRpc2FibGVkIC5zZC1yYXRpbmdfX2l0ZW0tdGV4dHtvcGFjaXR5Oi4yNX0uc2QtcmF0aW5nX19pdGVtLS1hbGxvd2hvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLXJhdGluZ19faXRlbTpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yYXRpbmdfX2l0ZW0tLXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO2ZvbnQtd2VpZ2h0OjYwMDtib3gtc2hhZG93OjAgMCAwIDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yYXRpbmdfX2l0ZW0tLXNlbGVjdGVkOmZvY3VzLXdpdGhpbntib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLGluc2V0IDAgMCAwIDRweCB2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtcmF0aW5nX19pdGVtLXNtaWxleXtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3doaXRlLXNwYWNlOm5vd3JhcDtwYWRkaW5nOmNhbGMoMS4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4td2lkdGg6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWluLWhlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7ZmlsbDp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLGluc2V0IDAgMCAwIDAgdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO3RyYW5zaXRpb246Ym94LXNoYWRvdyB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyksYmFja2dyb3VuZC1jb2xvciB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLXJhdGluZ19faXRlbS1zbWlsZXkgc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zbWFsbHtwYWRkaW5nOmNhbGMoLjYyNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21pbi13aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttaW4taGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlci13aWR0aDoxcHh9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNtYWxsIHN2Z3t3aWR0aDpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zbWFsbDpub3QoLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVkKTpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzowIDAgMCAxcHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1jb2xvcmVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNtYWxsOm5vdCguc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tc2VsZWN0ZWQpOmZvY3VzLXdpdGhpbntib3gtc2hhZG93OjAgMCAwIDFweCB2YXIoLS1zZC1yYXRpbmctaXRlbS1jb2xvcix2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zbWFsbC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zZWxlY3RlZDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpLDAgMCAwIDFweCB2YXIoLS1zZC1yYXRpbmctaXRlbS1jb2xvcix2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSkpfWxlZ2VuZCsuc2QtcmF0aW5nX19pdGVtLXNtaWxleSxsZWdlbmQrc3YtbmctcmF0aW5nLWl0ZW0rLnNkLXJhdGluZ19faXRlbS1zbWlsZXl7bWFyZ2luLWlubGluZS1zdGFydDoycHh9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNjYWxlLWNvbG9yZWR7Ym9yZGVyLWNvbG9yOnZhcigtLXNkLXJhdGluZy1pdGVtLWNvbG9yLHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKSk7ZmlsbDp2YXIoLS1zZC1yYXRpbmctaXRlbS1jb2xvcix2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSkpO3RyYW5zaXRpb246Ym94LXNoYWRvdyB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyksb3BhY2l0eSB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyksYmFja2dyb3VuZC1jb2xvciB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLWVycm9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLWVycm9yLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNjYWxlLWNvbG9yZWQ6aG92ZXJ7ZmlsbDp2YXIoLS1zZC1yYXRpbmctaXRlbS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1lcnJvci5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zY2FsZS1jb2xvcmVkOm5vdCguc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tc2VsZWN0ZWQpe29wYWNpdHk6aW5pdGlhbH0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1kaXNhYmxlZHtvcGFjaXR5Oi41fS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLWRpc2FibGVke29wYWNpdHk6aW5pdGlhbDtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXJlYWRvbmx5e2ZpbGw6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSk7Ym9yZGVyLWNvbG9yOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXJlYWRvbmx5e2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2JvcmRlci1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1wcmV2aWV3LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXByZXZpZXcuc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tcHJldmlld3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1wcmV2aWV3LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXByZXZpZXcuc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tcHJldmlldzpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzpub25lfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXByZXZpZXcuc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tcHJldmlldy5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1wcmV2aWV3IHN2Z3ttYXJnaW46MXB4fS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXByZXZpZXcuc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tcHJldmlld3tmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tYWxsb3dob3Zlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpO2JvcmRlci1jb2xvcjp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc2QtcmF0aW5nX19pdGVtLXNtaWxleTpmb2N1cy13aXRoaW57Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LXNtYWxsLXJlc2V0LDAgMCAwIDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAycHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5OmZvY3VzLXdpdGhpbntib3JkZXI6bm9uZTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDJweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2QtcmF0aW5nLWl0ZW0tY29sb3IsdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpKTtib3JkZXItY29sb3I6dmFyKC0tc2QtcmF0aW5nLWl0ZW0tY29sb3IsdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpKTtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO2ZvbnQtd2VpZ2h0OjYwMH0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tc2VsZWN0ZWQ6Zm9jdXMtd2l0aGlue2JvcmRlcjowIHNvbGlkIHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLGluc2V0IDAgMCAwIDRweCB2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSksMCAwIDAgMnB4IHZhcigtLXNkLXJhdGluZy1pdGVtLWNvbG9yLHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKSl9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNjYWxlLWNvbG9yZWQ6bm90KC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zZWxlY3RlZCl7b3BhY2l0eTouMjV9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNjYWxlLWNvbG9yZWQ6bm90KC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zZWxlY3RlZCkuc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tYWxsb3dob3Zlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNkLXJhdGluZy1pdGVtLWNvbG9yLWxpZ2h0LHZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpKTtib3JkZXItY29sb3I6dmFyKC0tc2QtcmF0aW5nLWl0ZW0tY29sb3IsdmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSkpO29wYWNpdHk6LjV9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXJhdGUtY29sb3JlZDpub3QoLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVkKS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1hbGxvd2hvdmVyOmhvdmVye29wYWNpdHk6LjV9LnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNjYWxlLWNvbG9yZWQ6bm90KC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zZWxlY3RlZCk6Zm9jdXMtd2l0aGlue29wYWNpdHk6MTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDJweCB2YXIoLS1zZC1yYXRpbmctaXRlbS1jb2xvcix2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSkpfS5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zY2FsZS1jb2xvcmVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNtYWxsOm5vdCguc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tc2VsZWN0ZWQpOmZvY3VzLXdpdGhpbntvcGFjaXR5OjE7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LXNtYWxsLXJlc2V0LDAgMCAwIDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAxcHggdmFyKC0tc2QtcmF0aW5nLWl0ZW0tY29sb3IsdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpKX0uc2QtcmF0aW5nX19pdGVtLXNtaWxleS0tc2NhbGUtY29sb3JlZC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1wcmV2aWV3LC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zY2FsZS1jb2xvcmVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXJlYWRvbmx5LC5zZC1yYXRpbmdfX2l0ZW0tc21pbGV5LS1zY2FsZS1jb2xvcmVkLnNkLXJhdGluZ19faXRlbS1zbWlsZXktLXNlbGVjdGVke29wYWNpdHk6MX0uc2QtcmF0aW5nX19pdGVtLXN0YXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Y2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7aGVpZ2h0OmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnNkLXJhdGluZ19faXRlbS1zdGFyOm5vdCg6Zmlyc3Qtb2YtdHlwZSl7cGFkZGluZy1sZWZ0OmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tbGVmdDpjYWxjKC0uNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhcjpub3QoOmxhc3Qtb2YtdHlwZSl7cGFkZGluZy1yaWdodDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoLS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJhdGluZ19faXRlbS1zdGFyIHN2Z3tzdHJva2U6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSk7c3Ryb2tlLXdpZHRoOjJweDtmaWxsOnRyYW5zcGFyZW50O3dpZHRoOmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zaXRpb246c3Ryb2tlIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKSxvcGFjaXR5IHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKSxmaWxsIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtcmF0aW5nX19pdGVtLXN0YXIgLnN2LXN0YXJ7b3BhY2l0eToxfS5zZC1yYXRpbmdfX2l0ZW0tc3RhciAuc3Ytc3Rhci0ye29wYWNpdHk6MH0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNtYWxse3dpZHRoOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNtYWxsIHN2Z3t3aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zbWFsbC5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQgc3Zne3N0cm9rZS13aWR0aDoxcHh9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZCBzdmd7c3Ryb2tlOnRyYW5zcGFyZW50O2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDEpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjBzfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDIpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjI1bXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMykgc3Zne3RyYW5zaXRpb24tZGVsYXk6NTBtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCg0KSBzdmd7dHJhbnNpdGlvbi1kZWxheTo3NW1zfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDUpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5Oi4xc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCg2KSBzdmd7dHJhbnNpdGlvbi1kZWxheToxMjVtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCg3KSBzdmd7dHJhbnNpdGlvbi1kZWxheToxNTBtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCg4KSBzdmd7dHJhbnNpdGlvbi1kZWxheToxNzVtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCg5KSBzdmd7dHJhbnNpdGlvbi1kZWxheTouMnN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMTApIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjIyNW1zfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDExKSBzdmd7dHJhbnNpdGlvbi1kZWxheToyNTBtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCgxMikgc3Zne3RyYW5zaXRpb24tZGVsYXk6Mjc1bXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMTMpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5Oi4zc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCgxNCkgc3Zne3RyYW5zaXRpb24tZGVsYXk6MzI1bXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMTUpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjM1MG1zfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDE2KSBzdmd7dHJhbnNpdGlvbi1kZWxheTozNzVtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCgxNykgc3Zne3RyYW5zaXRpb24tZGVsYXk6LjRzfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDE4KSBzdmd7dHJhbnNpdGlvbi1kZWxheTo0MjVtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCgxOSkgc3Zne3RyYW5zaXRpb24tZGVsYXk6NDUwbXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMjApIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjQ3NW1zfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDIxKSBzdmd7dHJhbnNpdGlvbi1kZWxheTouNXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMjIpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5OjUyNW1zfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bnRoLWNoaWxkKDIzKSBzdmd7dHJhbnNpdGlvbi1kZWxheTo1NTBtc30uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm50aC1jaGlsZCgyNCkgc3Zne3RyYW5zaXRpb24tZGVsYXk6NTc1bXN9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpudGgtY2hpbGQoMjUpIHN2Z3t0cmFuc2l0aW9uLWRlbGF5Oi42c30uc2QtcmF0aW5nX19pdGVtLXN0YXItLWVycm9yIHN2Z3tzdHJva2U6bm9uZTtmaWxsOnZhcigtLXNqcy1zcGVjaWFsLXJlZC1saWdodCx2YXIoLS1yZWQtbGlnaHQscmdiYSgyMzAsMTAsNjIsLjEpKSl9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1kaXNhYmxlZHtvcGFjaXR5Oi41fS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tZGlzYWJsZWQgc3Zne3N0cm9rZTp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtmaWxsOm5vbmV9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZC5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tZGlzYWJsZWQgc3Zne3N0cm9rZTpub25lO2ZpbGw6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSl9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1yZWFkb25seSBzdmd7c3Ryb2tlOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpO2ZpbGw6bm9uZX0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkLnNkLXJhdGluZ19faXRlbS1zdGFyLS1yZWFkb25seSBzdmd7c3Ryb2tlOm5vbmU7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1wcmV2aWV3IHN2Z3tzdHJva2U6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO3N0cm9rZS13aWR0aDoxcHg7ZmlsbDpub25lfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQuc2QtcmF0aW5nX19pdGVtLXN0YXItLXByZXZpZXcgc3Zne3N0cm9rZTpub25lO2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhcjpub3QoLnNkLXJhdGluZ19faXRlbS1zdGFyLS1wcmV2aWV3KTpmb2N1cy13aXRoaW4gc3Zne3N0cm9rZTp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7ZmlsbDp0cmFuc3BhcmVudH0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXVuaGlnaGxpZ2h0ZWQgc3Zne3N0cm9rZTp0cmFuc3BhcmVudDtmaWxsOnZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0taGlnaGxpZ2h0ZWQgc3Zne3N0cm9rZTp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtmaWxsOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpfS5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tc2VsZWN0ZWQ6bm90KC5zZC1yYXRpbmdfX2l0ZW0tc3Rhci0tcHJldmlldykuc2QtcmF0aW5nX19pdGVtLXN0YXItLXVuaGlnaGxpZ2h0ZWQ6Zm9jdXMtd2l0aGluIHN2Z3tzdHJva2U6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSk7ZmlsbDp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm5vdCguc2QtcmF0aW5nX19pdGVtLXN0YXItLXByZXZpZXcpOmZvY3VzLXdpdGhpbiBzdmd7c3Ryb2tlOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtcmF0aW5nX19pdGVtLXN0YXItLXNlbGVjdGVkOm5vdCguc2QtcmF0aW5nX19pdGVtLXN0YXItLXByZXZpZXcpOmZvY3VzLXdpdGhpbiAuc3Ytc3RhcntvcGFjaXR5OjB9LnNkLXJhdGluZ19faXRlbS1zdGFyLS1zZWxlY3RlZDpub3QoLnNkLXJhdGluZ19faXRlbS1zdGFyLS1wcmV2aWV3KTpmb2N1cy13aXRoaW4gLnN2LXN0YXItMntvcGFjaXR5OjF9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0ey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LWZhbWlseSx2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtd2VpZ2h0LDQwMCk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTtkaXNwbGF5OmlubGluZS1ibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19fbWF4LXRleHQsLnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19fbWluLXRleHR7bWFyZ2luLXRvcDpjYWxjKDEuMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMS4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnR9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19fbWluLXRleHR7bWFyZ2luLXJpZ2h0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2JvcmRlci1sZWZ0OjB9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19fbWF4LXRleHR7bWFyZ2luLXJpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21hcmdpbi1sZWZ0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1yYXRpbmdfX2l0ZW0tdGV4dC5zZC1yYXRpbmdfX2l0ZW0tdGV4dCAuc3Ytc3RyaW5nLWVkaXRvcnt3aGl0ZS1zcGFjZTpub3dyYXB9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS0tZml4ZWQtc2l6ZXttaW4td2lkdGg6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0OjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6YXR0cihkYXRhLXRleHQpO2ZvbnQtd2VpZ2h0OjYwMDtoZWlnaHQ6MDtjb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59LnNkLXJhdGluZy0td3JhcHBhYmxlIC5zZC1yYXRpbmdfX2l0ZW0tdGV4dHttYXgtd2lkdGg6MTAwJX0uc2QtcmF0aW5nLS13cmFwcGFibGUgLnNkLXJhdGluZ19faXRlbS10ZXh0IC5zdi1zdHJpbmctdmlld2Vye21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2t9LnNkLXJhdGluZ19faXRlbTpmb2N1cy13aXRoaW4gLnNkLXJhdGluZ19faXRlbS10ZXh0LnNkLXJhdGluZ19faXRlbS10ZXh0e2JvcmRlcjpub25lfS5zZC1yYXRpbmdfX2l0ZW0tLXNlbGVjdGVkIC5zZC1yYXRpbmdfX2l0ZW0tdGV4dC5zZC1yYXRpbmdfX2l0ZW0tdGV4dHtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKTtmb250LXdlaWdodDppbmhlcml0O2JvcmRlcjpub25lfS5zZC1yYXRpbmctZHJvcGRvd24taXRlbXtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yYXRpbmctZHJvcGRvd24taXRlbV9kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Y2FsYyguNzUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1mb250LXNpemUsMTZweCl9LnN2LWxpc3RfX2l0ZW0uc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQgLnNkLXJhdGluZy1kcm9wZG93bi1pdGVtX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpfS5zdi1yYW5raW5nLWl0ZW0tLWVycm9yIC5zdi1yYW5raW5nLWl0ZW1fX2luZGV4e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKTtib3gtc2hhZG93OjAgMXB4IDJweCB0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnNkLWVsZW1lbnQtLXdpdGgtZnJhbWUgLnN2LXJhbmtpbmctaXRlbXtsZWZ0OmNhbGMoLTMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3YtcmFua2luZy5zZC1yYW5raW5nLS1yZWFkb25seXt1c2VyLXNlbGVjdDppbml0aWFsOy13ZWJraXQtdXNlci1zZWxlY3Q6aW5pdGlhbH0uc3YtcmFua2luZy5zZC1yYW5raW5nLS1yZWFkb25seS5zdi1yYW5raW5nLS1zZWxlY3QtdG8tcmFuay1lbXB0eS12YWx1ZSAuc3YtcmFua2luZ19fY29udGFpbmVycy1kaXZpZGVye3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLnNkLXJhbmtpbmctLXJlYWRvbmx5IC5zdi1yYW5raW5nX19jb250YWluZXItLWVtcHR5e3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLnNkLXJhbmtpbmctLXByZXZpZXd7dXNlci1zZWxlY3Q6aW5pdGlhbDstd2Via2l0LXVzZXItc2VsZWN0OmluaXRpYWx9LnN2LXJhbmtpbmcuc2QtcmFua2luZy0tcHJldmlldy5zdi1yYW5raW5nLS1zZWxlY3QtdG8tcmFuay1lbXB0eS12YWx1ZSAuc3YtcmFua2luZ19fY29udGFpbmVycy1kaXZpZGVye3Zpc2liaWxpdHk6aGlkZGVufS5zdi1yYW5raW5nLnNkLXJhbmtpbmctLXByZXZpZXcgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHl7dmlzaWJpbGl0eTpoaWRkZW59LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lcnMtZGl2aWRlcnttYXJnaW46Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMDtoZWlnaHQ6MXB4O3dpZHRoOmluaXRpYWx9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHl7cGFkZGluZy10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7cGFkZGluZy1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdi1yYW5raW5nLS1zZWxlY3QtdG8tcmFuay1ob3Jpem9udGFsIC5zdi1yYW5raW5nX19jb250YWluZXJ7bWF4LXdpZHRoOmluaXRpYWx9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tdG8gLnN2LXJhbmtpbmctaXRlbXtsZWZ0OmluaXRpYWx9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHkuc3YtcmFua2luZ19fY29udGFpbmVyLS10byAuc3YtcmFua2luZy1pdGVte2xlZnQ6aW5pdGlhbH0uc3YtcmFua2luZy0tc2VsZWN0LXRvLXJhbmstaG9yaXpvbnRhbCAuc3YtcmFua2luZ19fY29udGFpbmVyLS1lbXB0eS5zdi1yYW5raW5nX19jb250YWluZXItLXRvIC5zdi1yYW5raW5nX19jb250YWluZXItcGxhY2Vob2xkZXJ7cGFkZGluZy1sZWZ0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctcmlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LXJhbmtpbmctLXNlbGVjdC10by1yYW5rLWhvcml6b250YWwgLnN2LXJhbmtpbmdfX2NvbnRhaW5lci0tZW1wdHkuc3YtcmFua2luZ19fY29udGFpbmVyLS1mcm9tIC5zdi1yYW5raW5nX19jb250YWluZXItcGxhY2Vob2xkZXJ7cGFkZGluZy1yaWdodDppbml0aWFsfS5zZC1lbGVtZW50LS13aXRoLWZyYW1lIC5zdi1yYW5raW5nLS1tb2JpbGUgLnN2LXJhbmtpbmctaXRlbXtsZWZ0OjB9LnN2LXJhbmtpbmctaXRlbV9fY29udGVudC5zZC1yYW5raW5nLWl0ZW1fX2NvbnRlbnR7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpfS5zdi1kcmFnZHJvcC1tb3ZlZG93bnt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7YW5pbWF0aW9uOnN2ZHJhZ2Ryb3Btb3ZlZG93biAuMXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH1Aa2V5ZnJhbWVzIHN2ZHJhZ2Ryb3Btb3ZlZG93bnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTUwcHgpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX0uc3YtZHJhZ2Ryb3AtbW92ZXVwe3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTthbmltYXRpb246c3ZkcmFnZHJvcG1vdmV1cCAuMXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH1Aa2V5ZnJhbWVzIHN2ZHJhZ2Ryb3Btb3ZldXB7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDUwcHgpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX0uc3YtZHJvcGRvd25fc2VsZWN0LXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9LnN2LWRyb3Bkb3duX3NlbGVjdC13cmFwcGVyIHVzZXtmaWxsOnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtcGxhY2Vob2xkZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSkpfS5zZC1kcm9wZG93bnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7cGFkZGluZy1pbmxpbmUtZW5kOmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO29wYWNpdHk6MTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d29yZC1zcGFjaW5nOm5vcm1hbH0uc2QtZHJvcGRvd25bZGlzYWJsZWRde3BvaW50ZXItZXZlbnRzOm5vbmV9LnNkLWRyb3Bkb3duLS1lbXB0eTpub3QoLnNkLWlucHV0LS1kaXNhYmxlZCksLnNkLWRyb3Bkb3duLS1lbXB0eTpub3QoLnNkLWlucHV0LS1kaXNhYmxlZCkgLnNkLWRyb3Bkb3duX192YWx1ZXtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLWRyb3Bkb3duX19pbnB1dC1maWVsZC1jb21wb25lbnR7aGVpZ2h0OmF1dG99LnNkLWRyb3Bkb3duIG9wdGlvbntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpfS5zZC1kcm9wZG93biBpbnB1dFtyZWFkb25seV17cG9pbnRlci1ldmVudHM6bm9uZX0uc2QtZHJvcGRvd25fX3ZhbHVley0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXdlaWdodCw0MDApO2NvbG9yOnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1kcm9wZG93bl9jbGVhbi1idXR0b257ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTttYXJnaW46YXV0byAwfS5zZC1kcm9wZG93bl9jaGV2cm9uLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDpjYWxjKDUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt0b3A6MDtib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWRyb3Bkb3duX2NoZXZyb24tYnV0dG9uLXN2Zywuc2QtZHJvcGRvd25fY2xlYW4tYnV0dG9uLXN2Z3stLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZTp2YXIoLS1zanMtbW9iaWxlLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LXNpemUsIDE2cHgpKSk7d2lkdGg6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSl9LnNkLWlucHV0LnNkLWRyb3Bkb3duOmZvY3VzLXdpdGhpbntib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctaW5uZXItcmVzZXQsaW5zZXQgMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDJweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWlucHV0LnNkLWRyb3Bkb3duLnNkLWlucHV0LS1yZWFkb25seXtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjpub25lfS5zZC1kcm9wZG93bl9fZmlsdGVyLXN0cmluZy1pbnB1dHstLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZTp2YXIoLS1zanMtbW9iaWxlLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LXNpemUsIDE2cHgpKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7Ym9yZGVyOm5vbmU7b3V0bGluZTowO3BhZGRpbmc6MDtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LWZhbWlseSx2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtd2VpZ2h0LDQwMCk7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IscmdiYSgwLDAsMCwuOTEpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FwcGVhcmFuY2U6bm9uZX0uc2QtZHJvcGRvd24tLWVtcHR5Om5vdCguc2QtaW5wdXQtLWRpc2FibGVkKSAuc2QtZHJvcGRvd25fX2ZpbHRlci1zdHJpbmctaW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtcGxhY2Vob2xkZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSkpfS5zZC1kcm9wZG93bi0tZW1wdHkgZGl2e21pbi1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpfS5zZC1kcm9wZG93bl9fZmlsdGVyLXN0cmluZy1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FwcGVhcmFuY2U6bm9uZX0uc2QtZHJvcGRvd25fX2hpbnQtcHJlZml4e2NvbG9yOnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtcGxhY2Vob2xkZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSkpfS5zZC1kcm9wZG93bl9faGludC1wcmVmaXggc3Bhbnt3aGl0ZS1zcGFjZTpwcmV9LnNkLWRyb3Bkb3duX19oaW50LXN1ZmZpeHtkaXNwbGF5OmZsZXg7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1wbGFjZWhvbGRlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKSl9LnNkLWRyb3Bkb3duX19oaW50LXN1ZmZpeCBzcGFue3doaXRlLXNwYWNlOnByZX0uc2QtaW5wdXQtLWRpc2FibGVkIC5zdi1zdHJpbmctdmlld2VyLC5zZC1pbnB1dC0tcHJldmlldyAuc3Ytc3RyaW5nLXZpZXdlciwuc2QtaW5wdXQtLXJlYWRvbmx5IC5zdi1zdHJpbmctdmlld2Vye21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5zZC1xdWVzdGlvbi0tcmVhZG9ubHkgLnNkLWRyb3Bkb3duX2NoZXZyb24tYnV0dG9uIHVzZXtvcGFjaXR5Oi4yNH0uc2QtcXVlc3Rpb24tLXByZXZpZXcgLnNkLWRyb3Bkb3duX2NoZXZyb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0uc3YtZHJvcGRvd24tcG9wdXAgLnNkLWxpc3RfX2l0ZW0tYm9keXstLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZTp2YXIoLS1zanMtbW9iaWxlLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LXNpemUsIDE2cHgpKSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtd2VpZ2h0LDQwMCk7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYygxLjc1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ibG9jazpjYWxjKDEuMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKDEuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXI6Y2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zdi1kcm9wZG93bi1wb3B1cCAuc3YtbGlzdF9faXRlbS5zdi1saXN0X19pdGVtLS1mb2N1c2VkOm5vdCguc3YtbGlzdF9faXRlbS0tc2VsZWN0ZWQpIC5zdi1saXN0X19pdGVtLWJvZHl7Ym9yZGVyOmNhbGMoLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgc29saWQgdmFyKC0tc2pzLWJvcmRlci1saWdodCx2YXIoLS1ib3JkZXItbGlnaHQsI2VhZWFlYSkpO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDEuNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nLWJsb2NrOmNhbGMoMS4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoMS43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1kcm9wZG93bi1wb3B1cCAuc3YtbGlzdF9faXRlbSBzcGFue21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYygtLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWRyb3Bkb3duLXBvcHVwLnN2LXNpbmdsZS1zZWxlY3QtbGlzdC5zdi1wb3B1cC0tYW5pbWF0ZS1sZWF2ZSAuc2QtbGlzdF9faXRlbS5zdi1saXN0X19pdGVtLS1zZWxlY3RlZCAuc3YtbGlzdF9faXRlbS1ib2R5e2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uc3YtZHJvcGRvd24tcG9wdXAuc3YtcG9wdXAtLWRyb3Bkb3duLnN2LXBvcHVwLS10b3AgLnN2LXBvcHVwX19jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9LnN2LWRyb3Bkb3duLXBvcHVwLnN2LXBvcHVwLS1kcm9wZG93bi5zdi1wb3B1cC0tYm90dG9tIC5zdi1wb3B1cF9fY29udGFpbmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCl9W2Rpcj1ydGxdIC5zZC1kcm9wZG93bixbc3R5bGUqPVwiZGlyZWN0aW9uOiBydGxcIl0gLnNkLWRyb3Bkb3duLFtzdHlsZSo9XCJkaXJlY3Rpb246cnRsXCJdIC5zZC1kcm9wZG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgY2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSB0b3AgNTAlLDAgMH0uc2QtaW5wdXQuc2QtdGFnYm94Om5vdCguc2QtdGFnYm94LS1lbXB0eSkuc2QtaW5wdXQtLWVkaXRhYmxle2hlaWdodDphdXRvO3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXRhZ2JveC5zZC1pbnB1dC0tZGlzYWJsZWQsLnNkLXRhZ2JveC5zZC1pbnB1dC0tcHJldmlldywuc2QtdGFnYm94LnNkLWlucHV0LS1yZWFkb25seXt3aGl0ZS1zcGFjZTpub3JtYWx9LnNkLXRhZ2JveF9jbGVhbi1idXR0b257LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTttYXJnaW46YXV0byAwfS5zZC1pbnB1dC5zZC10YWdib3g6Zm9jdXMtd2l0aGlue2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1pbm5lci1yZXNldCxpbnNldCAwIDAgMCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc3YtdGFnYm94X19pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSBjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2JvcmRlci1yYWRpdXM6Y2FsYyguNSAqICh2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpKSk7bWF4LXdpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fS5zdi10YWdib3hfX2l0ZW0tdGV4dHtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKTttaW4td2lkdGg6Y2FsYyg1LjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo2MDB9LnN2LXRhZ2JveF9faXRlbS10ZXh0IHNwYW57ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0uc3YtdGFnYm94X19pdGVtOmZvY3VzIC5zZC10YWdib3gtaXRlbV9jbGVhbi1idXR0b24sLnN2LXRhZ2JveF9faXRlbTpmb2N1cy13aXRoaW4gLnNkLXRhZ2JveC1pdGVtX2NsZWFuLWJ1dHRvbiwuc3YtdGFnYm94X19pdGVtOmhvdmVyIC5zZC10YWdib3gtaXRlbV9jbGVhbi1idXR0b257YWxpZ24tc2VsZjpjZW50ZXI7b3BhY2l0eToxfS5zZC10YWdib3gtaXRlbV9jbGVhbi1idXR0b257ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0LWlubGluZS1lbmQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nOjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKSA1My4xMiUscmdiYSgyNSwxNzksMTQ4LDApIDEwMCUpO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC10YWdib3gtaXRlbV9jbGVhbi1idXR0b24tc3Zney0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6Y2FsYyguMjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO3dpZHRoOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7aGVpZ2h0OnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSl9LnNkLXRhZ2JveC1pdGVtX2NsZWFuLWJ1dHRvbi1zdmc6aG92ZXJ7Ym9yZGVyLXJhZGl1czoxMDBweDtiYWNrZ3JvdW5kOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQtZGlzYWJsZWQscmdiYSgyNTUsMjU1LDI1NSwuMjUpKSl9LnNkLXRhZ2JveC1pdGVtX2NsZWFuLWJ1dHRvbi1zdmcgdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnNkLXRhZ2JveF9fdmFsdWUuc2QtZHJvcGRvd25fX3ZhbHVle3Bvc2l0aW9uOnJlbGF0aXZlO2dhcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2ZsZXgtZ3JvdzoxO3BhZGRpbmctaW5saW5lOnVuc2V0O21hcmdpbi1pbmxpbmU6dW5zZXQ7bWFyZ2luLWJsb2NrOnVuc2V0fS5zZC10YWdib3hfX2ZpbHRlci1zdHJpbmctaW5wdXR7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjF9LnNkLXRhZ2JveF9fcGxhY2Vob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21heC13aWR0aDoxMDAlO3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjp0ZXh0O3BvaW50ZXItZXZlbnRzOm5vbmU7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfVtkaXI9cnRsXSAuc2QtdGFnYm94LWl0ZW1fY2xlYW4tYnV0dG9uLFtzdHlsZSo9XCJkaXJlY3Rpb246IHJ0bFwiXSAuc2QtdGFnYm94LWl0ZW1fY2xlYW4tYnV0dG9uLFtzdHlsZSo9XCJkaXJlY3Rpb246cnRsXCJdIC5zZC10YWdib3gtaXRlbV9jbGVhbi1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpIDUzLjEyJSxyZ2JhKDI1LDE3OSwxNDgsMCkgMTAwJSl9LnNkLXRhZ2JveC5zZC10YWdib3gtLWVtcHR5IC5zZC10YWdib3hfX2ZpbHRlci1zdHJpbmctaW5wdXQsLnNkLXRhZ2JveC5zZC10YWdib3gtLWVtcHR5IC5zZC10YWdib3hfX2hpbnQsLnNkLXRhZ2JveC5zZC10YWdib3gtLWVtcHR5IC5zZC10YWdib3hfX2hpbnQtc3VmZml4LXdyYXBwZXJ7d2lkdGg6MTAwJX0uc2QtdGFnYm94X19oaW50e2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0uc2QtdGFnYm94X19oaW50LXN1ZmZpeC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNkLWRyb3Bkb3duX19oaW50LXN1ZmZpeC5zZC10YWdib3hfX2hpbnQtc3VmZml4ey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2QtZHJvcGRvd25fX2hpbnQtcHJlZml4LnNkLXRhZ2JveF9faGludC1wcmVmaXh7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5zZC1pbWFnZXBpY2tlcntkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZzowO2JvcmRlcjpub25lO2dhcDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDoxMDAlO21hcmdpbjowfS5zZC1pbWFnZXBpY2tlci0tY29sdW1ue2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufUBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzoxLzEpey5zZC1pbWFnZXBpY2tlcj5kaXZ7bWFyZ2luLXJpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfX0uc2QtaW1hZ2VwaWNrZXJfX2l0ZW0gLnNkLWltYWdlcGlja2VyX19pbWFnZS1jb250YWluZXI+ZGl2LC5zZC1pbWFnZXBpY2tlcl9faXRlbSBpbWd7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSl9LnNkLWltYWdlcGlja2VyX19pdGVtLWRlY29yYXRvcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcn0uc2QtaW1hZ2VwaWNrZXJfX2xhYmVse3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1pbWFnZXBpY2tlcl9fbGFiZWwgLnNkLXZpc3VhbGx5aGlkZGVue2hlaWdodDoxMDAlO21hcmdpbjowfS5zZC1pbWFnZXBpY2tlcl9faW1hZ2UtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1pbWFnZXBpY2tlcl9fY2hlY2stZGVjb3JhdG9ye2Rpc3BsYXk6YmxvY2s7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtyaWdodDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtwYWRkaW5nOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTt6LWluZGV4OjE7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtaW1hZ2VwaWNrZXJfX2NoZWNrLWljb257LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWltYWdlcGlja2VyX19pdGVtLS1jaGVja2VkIC5zZC1pbWFnZXBpY2tlcl9fY2hlY2stZGVjb3JhdG9ye29wYWNpdHk6MX0uc2QtaW1hZ2VwaWNrZXJfX2l0ZW0tLWVycm9yIC5zZC1pbWFnZXBpY2tlcl9faW1hZ2UtY29udGFpbmVyOjpiZWZvcmV7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OlwiIFwiO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyx2YXIoLS1zanMtc3BlY2lhbC1yZWQtbGlnaHQsdmFyKC0tcmVkLWxpZ2h0LHJnYmEoMjMwLDEwLDYyLC4xKSkpLHZhcigtLXNqcy1zcGVjaWFsLXJlZC1saWdodCx2YXIoLS1yZWQtbGlnaHQscmdiYSgyMzAsMTAsNjIsLjEpKSkpfS5zZC1pbWFnZXBpY2tlcl9faXRlbS0tYWxsb3dob3Zlcjpub3QoLnNkLWltYWdlcGlja2VyX19pdGVtLS1yZWFkb25seSwuc2QtaW1hZ2VwaWNrZXJfX2l0ZW0tLXByZXZpZXcpIC5zZC1pbWFnZXBpY2tlcl9faW1hZ2U6aG92ZXIsLnNkLWltYWdlcGlja2VyX19pdGVtOmZvY3VzLXdpdGhpbiAuc2QtaW1hZ2VwaWNrZXJfX2ltYWdlIC5zZC1pbWFnZXBpY2tlcl9faW1hZ2U6aG92ZXJ7b3BhY2l0eTouNX0uc2QtaW1hZ2VwaWNrZXJfX2ltYWdle2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O21heC13aWR0aDoxMDAlO3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWltYWdlcGlja2VyX190ZXh0ey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtmb250LXNpemU6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSk7bWFyZ2luLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSl9LnNkLWltYWdlcGlja2VyX19uby1pbWFnZXtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKTtpbnNldC1ibG9jay1zdGFydDowfS5zZC1pbWFnZXBpY2tlcl9fbm8taW1hZ2Utc3Zne2hlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW46YXV0b30uc2QtaW1hZ2VwaWNrZXJfX25vLWltYWdlLXN2ZyB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLWltYWdlcGlja2VyX19jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nLXJpZ2h0OjB9LnNkLWltYWdlcGlja2VyX19jb2x1bW4gLnNkLWltYWdlcGlja2VyX19pdGVte3dpZHRoOjEwMCV9LnNkLWltYWdlcGlja2VyX19jb2x1bW4gLnNkLWltYWdlcGlja2VyX190ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC1hbGlnbjpjZW50ZXJ9LnNkLXNlbGVjdGJhc2VfX2NvbHVtbi5zZC1pbWFnZXBpY2tlcl9fY29sdW1uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDowfS5zZC1pbWFnZXBpY2tlcl9faXRlbS0tcmVhZG9ubHkgLnNkLWltYWdlcGlja2VyX19jaGVjay1pY29ue2ZpbGw6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1pbWFnZXBpY2tlcl9faXRlbS0tcHJldmlldyAuc2QtaW1hZ2VwaWNrZXJfX2NoZWNrLWRlY29yYXRvcntkaXNwbGF5Om5vbmV9LnNkLWltYWdlcGlja2VyX19pdGVtLS1wcmV2aWV3IC5zZC1pbWFnZXBpY2tlcl9faW1hZ2V7LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjpncmF5c2NhbGUoMTAwJSk7b3BhY2l0eTouMjV9LnNkLWltYWdlcGlja2VyX19pdGVtLS1wcmV2aWV3LnNkLWltYWdlcGlja2VyX19pdGVtLS1jaGVja2VkIC5zZC1pbWFnZXBpY2tlcl9faW1hZ2V7LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDApO2ZpbHRlcjpncmF5c2NhbGUoMCk7b3BhY2l0eToxfS5zZC1pbWFnZV9faW1hZ2V7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCl9LnNkLWltYWdlX19pbWFnZS0tYWRhcHRpdmV7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bzttYXgtd2lkdGg6Y2FsYyg4MCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1pbWFnZV9fbm8taW1hZ2V7YmFja2dyb3VuZDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWxpZ2h0LHZhcigtLWJhY2tncm91bmQtZGltLWxpZ2h0LCNmOWY5ZjkpKTttaW4td2lkdGg6Y2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWluLWhlaWdodDpjYWxjKDI3LjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtaW1hZ2VfX25vLWltYWdlIHVzZXtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKX06cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zZC1odG1se3doaXRlLXNwYWNlOmluaXRpYWx9LnNkLWh0bWx7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250V2VpZ2h0LDQwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGluZUhlaWdodCwyOHB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC10ZXh0Q2FzZSwgXCJub25lXCIpO2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSkpfS5zZC1odG1sIGgxe2ZvbnQtc2l6ZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWZvbnRTaXplLGNhbGMoNCAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtZm9udFdlaWdodCw3MDApO2ZvbnQtc3R5bGU6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWxldHRlclNwYWNpbmcsMCk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1saW5lSGVpZ2h0LDY0cHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtdGV4dENhc2UsIFwibm9uZVwiKX0uc2QtaHRtbCBoMntmb250LXNpemU6dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLWZvbnRTaXplLGNhbGMoMyAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLWZvbnRXZWlnaHQsNzAwKTtmb250LXN0eWxlOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1sZXR0ZXJTcGFjaW5nLDApO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1saW5lSGVpZ2h0LDU2cHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLXRleHRDYXNlLCBcIm5vbmVcIil9LnNkLWh0bWwgaDN7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtZm9udFNpemUsY2FsYygyICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSk7dGV4dC1kZWNvcmF0aW9uOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLWZvbnRTdHlsZSwgXCJub3JtYWxcIik7Zm9udC1zdHJldGNoOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLWxpbmVIZWlnaHQsNDBweCk7dGV4dC1pbmRlbnQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1odG1sIGg0LC5zZC1odG1sIGg1LC5zZC1odG1sIGg2e2ZvbnQtc2l6ZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U2l6ZSxjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS10ZXh0RGVjb3JhdGlvbiwgXCJub25lXCIpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U3RyZXRjaCwgXCJub3JtYWxcIik7bGV0dGVyLXNwYWNpbmc6dmFyKC0tc2pzLWFydGljbGUtZm9udC1tZWRpdW0tbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1saW5lSGVpZ2h0LDMycHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLXBhcmFncmFwaEluZGVudCwwKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1odG1sIGRpdiwuc2QtaHRtbCBwLC5zZC1odG1sIHNwYW4sLnNkLWh0bWwgdGR7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250V2VpZ2h0LDQwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGluZUhlaWdodCwyOHB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1odG1sIGF7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1odG1sIGJ1dHRvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLXNqcy1jb3JuZXItcmFkaXVzLDRweCk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTtvdXRsaW5lOnNvbGlkIGNhbGMoLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgdHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXNpemUsdmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpKTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwsMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAwIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1odG1sIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpfS5zZC1odG1sIGJ1dHRvbjpmb2N1c3tib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDJweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWh0bWwgYnV0dG9uIHNwYW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LWdyb3c6MTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zZC1odG1sLS1uZXN0ZWR7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSkpfS5zZC1leHByZXNzaW9ue2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTt3aGl0ZS1zcGFjZTpicmVhay1zcGFjZXN9LnNkLXF1ZXN0aW9uX19jb250ZW50LS1sZWZ0IC5zZC1leHByZXNzaW9ue2xpbmUtaGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwfS5zZC1wcm9ncmVzc3toZWlnaHQ6MnB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWJvcmRlci1saWdodCx2YXIoLS1ib3JkZXItbGlnaHQsI2VhZWFlYSkpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1wcm9ncmVzc19fYmFye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO292ZXJmbG93OmhpZGRlbn0uc2QtcHJvZ3Jlc3NfX3RleHR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIGNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cmlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSk7Zm9udC1zaXplOmNhbGMoLjc1ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2ZvbnQtd2VpZ2h0OjYwMH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAwMHB4KXsuc2QtcHJvZ3Jlc3NfX3RleHR7bWFyZ2luLWxlZnQ6NSV9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMDAwcHgpey5zZC1wcm9ncmVzc19fdGV4dHttYXJnaW4tbGVmdDoxMHB4fX0uc2QtYm9keV9fcHJvZ3Jlc3MtLXRvcHttYXJnaW4tYm90dG9tOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjUwfS5zZC1ib2R5X19wcm9ncmVzcy0tYm90dG9tIC5zZC1wcm9ncmVzc19fdGV4dHttYXJnaW4tdG9wOmNhbGMoLTMuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1yb290LS1zdGlja3ktdG9wIC5zZC1wcm9ncmVzc19fdGV4dHtib3JkZXItcmFkaXVzOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSk7b3BhY2l0eTouNzU7YmFja2dyb3VuZDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LW1lZGl1bSwwIDJweCA2cHggMCByZ2JhKDAsMCwwLC4xKSksdmFyKC0tc2pzLXNoYWRvdy1zbWFsbCwwIDFweCAycHggMCByZ2JhKDAsMCwwLC4xNSkpfS5zZC1ib29sZWFue2Rpc3BsYXk6ZmxleDt3aWR0aDptYXgtY29udGVudDtwb3NpdGlvbjpyZWxhdGl2ZTtnYXA6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWVkaXRvcnBhbmVsLWJhY2tjb2xvcix2YXIoLS1zanMtZWRpdG9yLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSkpKTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1pbm5lcixpbnNldCAwIDFweCAycHggMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO3RyYW5zaXRpb246Ym94LXNoYWRvdyB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWJvb2xlYW4uc2QtYm9vbGVhbi0tYWxsb3dob3Zlcjpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LWlubmVyLXJlc2V0LGluc2V0IDAgMCAwIDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAycHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1ib29sZWFuX19sYWJlbCwuc2QtYm9vbGVhbl9fdGh1bWJ7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1lZGl0b3Jmb250LXdlaWdodCw0MDApO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2NvbG9yOnZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtcGxhY2Vob2xkZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIGNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1ib29sZWFuX19zd2l0Y2h7ZGlzcGxheTpmbGV4O3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czpjYWxjKDEyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtvdmVyZmxvdzpoaWRkZW59LnNkLWJvb2xlYW4uc2QtYm9vbGVhbi0tY2hlY2tlZCAuc2QtYm9vbGVhbl9fbGFiZWwtLXRydWUsLnNkLWJvb2xlYW46bm90KC5zZC1ib29sZWFuLS1jaGVja2VkKTpub3Qoc2QtYm9vbGVhbi0taW5kZXRlcm1pbmF0ZSkgLnNkLWJvb2xlYW5fX2xhYmVsLS1mYWxzZXtjb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9LnNkLWJvb2xlYW4uc2QtYm9vbGVhbi0taW5kZXRlcm1pbmF0ZSAuc2QtYm9vbGVhbl9fc3dpdGNoe2Rpc3BsYXk6bm9uZX0uc2QtYm9vbGVhbi0taW5kZXRlcm1pbmF0ZSAuc2QtYm9vbGVhbl9fdGh1bWJ7ZGlzcGxheTpub25lfS5zZC1ib29sZWFuX190aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWJhY2tjb2xvcix2YXIoLS1zanMtcXVlc3Rpb24tYmFja2dyb3VuZCx2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSkpKTtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwsMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMTUpKTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3RyYW5zaXRpb24tZHVyYXRpb246LjJzO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGxlZnQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtmb250LXdlaWdodDo2MDA7ei1pbmRleDoyfS5zZC1ib29sZWFuX190aHVtYiAuc3Ytc3RyaW5nLXZpZXdlci5zdi1zdHJpbmctdmlld2VyLS1tdWx0aWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwfS5zZC1ib29sZWFuLS1jaGVja2VkOm5vdCguc2QtYm9vbGVhbi0tZXhjaGFuZ2VkKSAuc2QtYm9vbGVhbl9fdGh1bWIsLnNkLWJvb2xlYW4tLWV4Y2hhbmdlZDpub3QoLnNkLWJvb2xlYW4tLWNoZWNrZWQpIC5zZC1ib29sZWFuX190aHVtYntsZWZ0OmNhbGMoMTAwJSAtIC41ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0uc2QtYm9vbGVhbi0tZXhjaGFuZ2VkLnNkLWJvb2xlYW4uc2QtYm9vbGVhbi0tY2hlY2tlZCAuc2QtYm9vbGVhbl9fbGFiZWwtLXRydWUsLnNkLWJvb2xlYW4tLWV4Y2hhbmdlZC5zZC1ib29sZWFuOm5vdCguc2QtYm9vbGVhbi0tY2hlY2tlZCk6bm90KHNkLWJvb2xlYW4tLWluZGV0ZXJtaW5hdGUpIC5zZC1ib29sZWFuX19sYWJlbC0tZmFsc2V7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1wbGFjZWhvbGRlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKSl9LnNkLWJvb2xlYW4tLWRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9LnNkLWJvb2xlYW4tLWRpc2FibGVkIC5zZC1ib29sZWFuX19sYWJlbCwuc2QtYm9vbGVhbi0tZGlzYWJsZWQgLnNkLWJvb2xlYW5fX3RodW1ie2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKTtvcGFjaXR5Oi4yNX0uc2QtYm9vbGVhbi0tcmVhZG9ubHl7cG9pbnRlci1ldmVudHM6bm9uZTtib3gtc2hhZG93Om5vbmU7dHJhbnNpdGlvbjpub25lO2JhY2tncm91bmQ6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLWJvb2xlYW4tLXJlYWRvbmx5IC5zZC1ib29sZWFuX190aHVtYntib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCB2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7dHJhbnNpdGlvbjpub25lO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtYm9vbGVhbi0tcHJldmlld3twb2ludGVyLWV2ZW50czpub25lO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOm5vbmU7YmFja2dyb3VuZDowIDB9LnNkLWJvb2xlYW4tLXByZXZpZXcgLnNkLWJvb2xlYW5fX3RodW1ie2JvcmRlcjoxcHggc29saWQgdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1ib29sZWFuLS1wcmV2aWV3LnNkLWJvb2xlYW4tLWNoZWNrZWQgLnNkLWJvb2xlYW5fX3RodW1iLC5zZC1ib29sZWFuLS1wcmV2aWV3LnNkLWJvb2xlYW4tLWluZGV0ZXJtaW5hdGUgLnNkLWJvb2xlYW5fX3RodW1ie21hcmdpbi1sZWZ0OmF1dG99LnNkLWJvb2xlYW4tLXByZXZpZXcgLnNkLWNoZWNrYm94X19sYWJlbC0tcHJldmlld3tjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLWJvb2xlYW5fX3RodW1iLWdob3N0e3otaW5kZXg6MTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtYm9vbGVhbi5zZC1ib29sZWFuLS1hbGxvd2hvdmVyIC5zZC1ib29sZWFuX190aHVtYi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1lZGl0b3JwYW5lbC1ob3ZlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0tZGFyaywjZjNmM2YzKSl9LnNkLWJvb2xlYW4tLWVycm9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKX0uc2QtcGFuZWxkeW5hbWljIC5zZC1wcm9ncmVzc3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6MnB4O3otaW5kZXg6Mjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uc2QtcGFuZWxkeW5hbWljPi5zZC1wYW5lbHtwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206Y2FsYyguNSAqIHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykpfS5zZC1wYW5lbGR5bmFtaWMgLnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlcj4uc2QtcGFuZWw+LnNkLXBhbmVsX19oZWFkZXJ7cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLXRvcDp2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpfS5zZC1wYW5lbGR5bmFtaWMgLnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlcj4uc2QtcGFuZWw+LnNkLXBhbmVsX19oZWFkZXI6YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZC1wYW5lbGR5bmFtaWMgLnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlcj4uc2QtcGFuZWw+LnNkLXBhbmVsX19oZWFkZXI+LnNkLXBhbmVsX190aXRsZXtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLXF1ZXN0aW9uLS1wcmV2aWV3IC5zZC1wYW5lbGR5bmFtaWMgLnNkLXF1ZXN0aW9uX19wbGFjZWhvbGRlciwuc2QtcXVlc3Rpb24tLXJlYWRvbmx5IC5zZC1wYW5lbGR5bmFtaWMgLnNkLXF1ZXN0aW9uX19wbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSl9LnNkLXBhbmVsZHluYW1pY19fc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLWJvdHRvbTpjYWxjKDEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKX0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyOmFmdGVye2Rpc3BsYXk6dGFibGU7Y2xlYXI6Ym90aDtjb250ZW50OlwiIFwifS5zZC1wYW5lbGR5bmFtaWNfX2Zvb3RlciAuc2QtcGFuZWxkeW5hbWljX19zZXBhcmF0b3IsLnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlci0tbGlzdH4uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1saXN0OmJlZm9yZXtjb250ZW50OlwiIFwiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjA7Ym9yZGVyLWNvbG9yOnZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtiYWNrZ3JvdW5kOnZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtoZWlnaHQ6MXB4O2JvcmRlcjpub25lfS5zZC1wYW5lbGR5bmFtaWNfX3NlcGFyYXRvcjpvbmx5LWNoaWxke2Rpc3BsYXk6bm9uZX0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1pbi1yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXJ9LnNkLXBhbmVsZHluYW1pY19fZm9vdGVye2NsZWFyOmJvdGh9LnNkLXBhbmVsZHluYW1pY19fZm9vdGVyIC5zZC1wYW5lbGR5bmFtaWNfX25leHQtYnRuLC5zZC1wYW5lbGR5bmFtaWNfX2Zvb3RlciAuc2QtcGFuZWxkeW5hbWljX19wcmV2LWJ0bntkaXNwbGF5OmJsb2NrfS5zZC1wYW5lbGR5bmFtaWNfX2Zvb3RlciAuc2QtcGFuZWxkeW5hbWljX19uZXh0LWJ0biBzdmcsLnNkLXBhbmVsZHluYW1pY19fZm9vdGVyIC5zZC1wYW5lbGR5bmFtaWNfX3ByZXYtYnRuIHN2Z3t3aWR0aDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsZHluYW1pY19fZm9vdGVyIC5zZC1wYW5lbGR5bmFtaWNfX2FkZC1idG4sLnNkLXBhbmVsZHluYW1pY19fZm9vdGVyIC5zZC1wYW5lbGR5bmFtaWNfX3Byb2dyZXNzLS1ib3R0b20sLnNkLXBhbmVsZHluYW1pY19fZm9vdGVyIC5zZC1wYW5lbGR5bmFtaWNfX3Byb2dyZXNzLXRleHR7ZGlzcGxheTppbml0aWFsfS5zZC1wYW5lbGR5bmFtaWNfX2J1dHRvbnMtY29udGFpbmVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzpjYWxjKHZhcigtLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZykgLSB2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkgMH0uc2QtcGFuZWxkeW5hbWljX19wcm9ncmVzcy1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDpjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsZHluYW1pY19fcHJvZ3Jlc3MtdGV4dHtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO21hcmdpbjowO21hcmdpbi1yaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcGFuZWxkeW5hbWljX19uZXh0LWJ0biwuc2QtcGFuZWxkeW5hbWljX19wcmV2LWJ0bnt3aWR0aDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXBhbmVsZHluYW1pY19fbmV4dC1idG4gLnN2LXN2Zy1pY29uLC5zZC1wYW5lbGR5bmFtaWNfX3ByZXYtYnRuIC5zdi1zdmctaWNvbntkaXNwbGF5OmJsb2NrfS5zZC1wYW5lbGR5bmFtaWNfX3ByZXYtYnRue21hcmdpbi1yaWdodDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcGFuZWxkeW5hbWljX19uZXh0LWJ0bnttYXJnaW4tbGVmdDpjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uc2QtcGFuZWxkeW5hbWljX19wbGFjZWhvbGRlciAuc2QtcGFuZWxkeW5hbWljX19hZGQtYnRue2Rpc3BsYXk6aW5pdGlhbDttYXJnaW4tbGVmdDowfS5zZC1xdWVzdGlvbi0tZW1wdHkuc2QtcXVlc3Rpb24tLXBhbmVsZHluYW1pYz4uc2QtcXVlc3Rpb25fX2NvbnRlbnR7cGFkZGluZy1ib3R0b206dmFyKC0tc2QtYmFzZS1wYWRkaW5nKTstLWFuaW1hdGlvbi1wYWRkaW5nLWJvdHRvbTp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zZC1xdWVzdGlvbi0tcGFuZWxkeW5hbWljOm5vdCguc2QtcXVlc3Rpb24tLWVtcHR5KT4uc2QtcXVlc3Rpb25fX2NvbnRlbnQ+LnNkLXF1ZXN0aW9uX19jb21tZW50LWFyZWF7cGFkZGluZy1ib3R0b206dmFyKC0tc2QtYmFzZS1wYWRkaW5nKX0uc2QtcGFuZWxkeW5hbWljX19idXR0b25zLWNvbnRhaW5lciAuc2QtYWN0aW9uLWJhcnt3aWR0aDoxMDAlO21hcmdpbjowIGNhbGMoLTMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDEwMCUgKyA2ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLWZvb3Rlcntib3JkZXItdG9wOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7dG9wOmNhbGMoLjUgKiB2YXIoLS1zZC1iYXNlLXZlcnRpY2FsLXBhZGRpbmcpKTttYXJnaW4tcmlnaHQ6Y2FsYygtMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC1mb290ZXIgLnN2LWFjdGlvbjpub3QoLnN2LWFjdGlvbi0taGlkZGVuKXttYXJnaW4tYm90dG9tOmNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtdGFicy10b29sYmFyLnN2LWFjdGlvbi1iYXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW46dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgMCAtMXB4IGNhbGMoLTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDEwMCUgKyA0ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpO3otaW5kZXg6MX0uc2QtdGFicy10b29sYmFyLnNkLXRhYnMtdG9vbGJhci0tbGVmdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uc2QtdGFicy10b29sYmFyLnNkLXRhYnMtdG9vbGJhci0tcmlnaHR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zZC10YWJzLXRvb2xiYXIuc2QtdGFicy10b29sYmFyLS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtdGFiLWl0ZW17bWFyZ2luOjAgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXRhYi1pdGVtey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIDAgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSkpKTtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbmRlc2NyaXB0aW9uLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCxyZ2JhKDAsMCwwLC40NSkpKTtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNoYWRvdzppbnNldCAwIDAgMCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtdGFiLWl0ZW06Zm9jdXMtdmlzaWJsZSwuc2QtdGFiLWl0ZW06aG92ZXJ7b3V0bGluZTowO2JveC1zaGFkb3c6aW5zZXQgMCAtMnB4IDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC10YWItaXRlbS5zZC10YWItaXRlbS0tcHJlc3NlZHtjb2xvcjp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKSk7Ym94LXNoYWRvdzppbnNldCAwIC0ycHggMCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLXRhYi1pdGVtLS1pY29ue3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC10YWItaXRlbS0taWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSk7b3BhY2l0eTouNX0uc2QtdGFiLWl0ZW0tLWljb24uc2QtdGFiLWl0ZW0tLXByZXNzZWQsLnNkLXRhYi1pdGVtLS1pY29uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpO2JveC1zaGFkb3c6bm9uZX0uc2QtdGFiLWl0ZW0tLWljb24uc2QtdGFiLWl0ZW0tLXByZXNzZWQgdXNlLC5zZC10YWItaXRlbS0taWNvbjpob3ZlciB1c2V7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLXRhYi1pdGVtLS1pY29uOmhvdmVyIHVzZXtvcGFjaXR5OjF9LnNkLXRhYnMtdG9vbGJhciAuc3YtZG90c3t3aWR0aDphdXRvfS5zZC10YWJzLXRvb2xiYXIgLnN2LWRvdHMuc3YtYWN0aW9uLS1oaWRkZW57d2lkdGg6MH0uc2QtdGFiLWl0ZW1fX3RpdGxle2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2QtcXVlc3Rpb25fX3RpdGxlfi5zZC10YWJzLXRvb2xiYXJ7bWFyZ2luLXRvcDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcGFuZWxkeW5hbWljX19oZWFkZXIuc2QtZWxlbWVudF9faGVhZGVyLnNkLXBhbmVsZHluYW1pY19faGVhZGVyLXRhYntwYWRkaW5nLWJvdHRvbTowfS5zZC1wYW5lbGR5bmFtaWNfX2hlYWRlci5zZC1lbGVtZW50X19oZWFkZXIuc2QtcGFuZWxkeW5hbWljX19oZWFkZXItdGFiOjphZnRlcntib3R0b206MH0uc2QtcXVlc3Rpb24tLXBhbmVsZHluYW1pYy5zZC1lbGVtZW50LS13aXRoLWZyYW1le3BhZGRpbmctYm90dG9tOjB9LnNkLXBhbmVsZHluYW1pY19fcGFuZWxzLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLWxlZnQ6Y2FsYygtMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO3BhZGRpbmctbGVmdDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpO21hcmdpbi1yaWdodDpjYWxjKC0xICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSk7cGFkZGluZy1yaWdodDp2YXIoLS1zZC1iYXNlLXBhZGRpbmcpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXJ7Ym94LXNpemluZzpib3JkZXItYm94fUBrZXlmcmFtZXMgbW92ZVBhbmVse2Zyb217dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tc2pzLXBkLXRhYi1tb3ZlLW1hcmdpbikpfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1mYWRlLWluLnN2LXBkLWFuaW1hdGlvbi1sZWZ0LC5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtaW4uc3YtcGQtYW5pbWF0aW9uLXJpZ2h0ey0tc2pzLXBkLXRhYi1hbmltYXRpb24tZGVsYXk6MG1zO2FuaW1hdGlvbi1uYW1lOm1vdmVQYW5lbCxjaGFuZ2VIZWlnaHQscGFkZGluZ0ZhZGVJbixmYWRlSW47YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1wZC10YWItbW92ZS1pbi1kdXJhdGlvbiwyNTBtcyksdmFyKC0tc2pzLXBkLXRhYi1oZWlnaHQtY2hhbmdlLWR1cmF0aW9uLDI1MG1zKSx2YXIoLS1zanMtcGQtdGFiLWhlaWdodC1jaGFuZ2UtZHVyYXRpb24sMjUwbXMpLHZhcigtLXNqcy1wZC10YWItZmFkZS1pbi1kdXJhdGlvbiwyNTBtcyk7YW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tc2pzLXBkLXRhYi1tb3ZlLWluLWRlbGF5LDEwMG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSksY2FsYyh2YXIoLS1zanMtcGQtdGFiLWhlaWdodC1jaGFuZ2UtZGVsYXksMG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSksY2FsYyh2YXIoLS1zanMtcGQtdGFiLWhlaWdodC1jaGFuZ2UtZGVsYXksMG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSksY2FsYyh2YXIoLS1zanMtcGQtdGFiLWZhZGUtaW4tZGVsYXksMTAwbXMpICsgdmFyKC0tc2pzLXBkLXRhYi1hbmltYXRpb24tZGVsYXkpKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjU4LDEpO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7b3BhY2l0eTowO3BhZGRpbmctYm90dG9tOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tc2pzLXBkLXRhYi1tb3ZlLW1hcmdpbikpO2hlaWdodDp2YXIoLS1hbmltYXRpb24taGVpZ2h0LWZyb20pOy0tYW5pbWF0aW9uLXBhZGRpbmctdG9wOjA7LS1hbmltYXRpb24tcGFkZGluZy1ib3R0b206Y2FsYygxICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSl9LnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlci0tZmFkZS1pbi5zdi1wZC1hbmltYXRpb24tbGVmdHstLXNqcy1wZC10YWItbW92ZS1tYXJnaW46Y2FsYygxICogdmFyKC0tc2pzLXBkLXRhYi1tb3ZlLWluLW1hcmdpbiwgNTAlKSl9LnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlci0tZmFkZS1pbi5zdi1wZC1hbmltYXRpb24tcmlnaHR7LS1zanMtcGQtdGFiLW1vdmUtbWFyZ2luOmNhbGMoLTEgKiB2YXIoLS1zanMtcGQtdGFiLW1vdmUtaW4tbWFyZ2luLCA1MCUpKX0uc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1mYWRlLW91dC5zdi1wZC1hbmltYXRpb24tbGVmdCwuc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1mYWRlLW91dC5zdi1wZC1hbmltYXRpb24tcmlnaHR7YW5pbWF0aW9uLW5hbWU6ZmFkZUluLG1vdmVQYW5lbDthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLXBkLXRhYi1mYWRlLW91dC1kdXJhdGlvbiwyNTBtcyksdmFyKC0tc2pzLXBkLXRhYi1tb3ZlLW91dC1kdXJhdGlvbiwyNTBtcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLXNqcy1wZC10YWItZmFkZS1vdXQtZGVsYXksMG1zKSx2YXIoLS1zanMtcGQtdGFiLW1vdmUtb3V0LWRlbGF5LDBtcyk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQyLDAsMSwxKTthbmltYXRpb24tZGlyZWN0aW9uOnJldmVyc2U7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OnZhcigtLXNkLWJhc2UtcGFkZGluZyk7dG9wOjA7d2lkdGg6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtb3V0LnN2LXBkLWFuaW1hdGlvbi1sZWZ0ey0tc2pzLXBkLXRhYi1tb3ZlLW1hcmdpbjpjYWxjKC0xICogdmFyKC0tc2pzLXBkLXRhYi1tb3ZlLW91dC1tYXJnaW4sIDUwJSkpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtb3V0LnN2LXBkLWFuaW1hdGlvbi1yaWdodHstLXNqcy1wZC10YWItbW92ZS1tYXJnaW46Y2FsYygxICogdmFyKC0tc2pzLXBkLXRhYi1tb3ZlLW91dC1tYXJnaW4sIDUwJSkpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtaW4uc3YtcGQtYW5pbWF0aW9uLWFkZGluZ3thbmltYXRpb24tbmFtZTpmYWRlSW4sY2hhbmdlSGVpZ2h0LHBhZGRpbmdGYWRlSW47YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1wZC10YWItYWRkLWZhZGUtaW4tZHVyYXRpb24sNTAwbXMpLHZhcigtLXNqcy1wZC10YWItaGVpZ2h0LWNoYW5nZS1kdXJhdGlvbiwyNTBtcyksdmFyKC0tc2pzLXBkLXRhYi1oZWlnaHQtY2hhbmdlLWR1cmF0aW9uLDI1MG1zKTthbmltYXRpb24tZGVsYXk6Y2FsYyh2YXIoLS1zanMtcGQtdGFiLWFkZC1mYWRlLWluLWRlbGF5LDI1MG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSksY2FsYyh2YXIoLS1zanMtcGQtdGFiLWhlaWdodC1jaGFuZ2UtZGVsYXksMG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSksY2FsYyh2YXIoLS1zanMtcGQtdGFiLWhlaWdodC1jaGFuZ2UtZGVsYXksMG1zKSArIHZhcigtLXNqcy1wZC10YWItYW5pbWF0aW9uLWRlbGF5KSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtaW4uc3YtcGQtYW5pbWF0aW9uLXJlbW92aW5ney0tc2pzLXBkLXRhYi1hbmltYXRpb24tZGVsYXk6dmFyKC0tc2pzLXBkLXRhYi1yZW1vdmUtZmFkZS1pbi1kZWxheSwgMTUwbXMpfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtb3V0LnN2LXBkLWFuaW1hdGlvbi1yZW1vdmluZ3thbmltYXRpb24tbmFtZTpmYWRlSW47YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLXNqcy1wZC10YWItcmVtb3ZlLWZhZGUtb3V0LWR1cmF0aW9uLDE1MG1zKTthbmltYXRpb24tZGVsYXk6dmFyKC0tc2pzLXBkLXRhYi1yZW1vdmUtZmFkZS1vdXQtZGVsYXksMG1zKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNDIsMCwxLDEpO2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6dmFyKC0tc2QtYmFzZS1wYWRkaW5nKTt0b3A6MDt3aWR0aDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc2QtYmFzZS1wYWRkaW5nKSl9LnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlci0tZmFkZS1pbiwuc2QtcGFuZWxkeW5hbWljX19wYW5lbC13cmFwcGVyLS1mYWRlLW91dHthbmltYXRpb24tbmFtZTpmYWRlSW4sbW92ZUluV2l0aE92ZXJmbG93LHBhZGRpbmdGYWRlSW47YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczstLWFuaW1hdGlvbi1wYWRkaW5nLXRvcDowOy0tYW5pbWF0aW9uLXBhZGRpbmctYm90dG9tOmNhbGMoMSAqIHZhcigtLXNkLWJhc2UtcGFkZGluZykpO21pbi1oZWlnaHQ6MCFpbXBvcnRhbnR9LnNkLXBhbmVsZHluYW1pY19fcGFuZWwtd3JhcHBlci0tZmFkZS1pbntvcGFjaXR5OjA7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC41OCwxKTthbmltYXRpb24tZHVyYXRpb246dmFyKC0tc2pzLXBkLWxpc3QtZmFkZS1pbi1kdXJhdGlvbiw1MDBtcyksdmFyKC0tc2pzLXBkLWxpc3QtbW92ZS1pbi1kdXJhdGlvbiwyNTBtcyksdmFyKC0tc2pzLXBkLWxpc3QtbW92ZS1pbi1kdXJhdGlvbiwyNTBtcyk7YW5pbWF0aW9uLWRlbGF5OnZhcigtLXNqcy1wZC1saXN0LWZhZGUtaW4tZGVsYXksMjUwbXMpLDBzLDBzfS5zZC1wYW5lbGR5bmFtaWNfX3BhbmVsLXdyYXBwZXItLWZhZGUtb3V0e2FuaW1hdGlvbi1kaXJlY3Rpb246cmV2ZXJzZTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNDIsMCwxLDEpO2FuaW1hdGlvbi1kdXJhdGlvbjp2YXIoLS1zanMtcGQtbGlzdC1mYWRlLW91dC1kdXJhdGlvbiwxNTBtcyksdmFyKC0tc2pzLXBkLWxpc3QtbW92ZS1vdXQtZHVyYXRpb24sMjUwbXMpLHZhcigtLXNqcy1wZC1saXN0LW1vdmUtb3V0LWR1cmF0aW9uLDI1MG1zKTthbmltYXRpb24tZGVsYXk6MHMsdmFyKC0tc2pzLXBkLWxpc3QtbW92ZS1vdXQtZGVsYXksMTAwbXMpLHZhcigtLXNqcy1wZC1saXN0LW1vdmUtb3V0LWRlbGF5LDEwMG1zKTstLWFuaW1hdGlvbi1wYWRkaW5nLWJvdHRvbTpjYWxjKDEgKiB2YXIoLS1zZC1iYXNlLXBhZGRpbmcpKX06cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zZC1maWxle3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTttaW4taGVpZ2h0OmNhbGMoMzYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIGNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1maWxlIC5zdi1hY3Rpb24tYmFye3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgMDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7bGVmdDowO2JvdHRvbTowfS5zZC1maWxlIC5zdi1hY3Rpb24tYmFyIC5zdi1hY3Rpb24tYmFyLWl0ZW17aGVpZ2h0OmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKTtib3JkZXItcmFkaXVzOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1maWxlIC5zdi1hY3Rpb24tYmFyICNmaWxlSW5kZXggLnN2LWFjdGlvbi1iYXItaXRlbXtwYWRkaW5nOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwO2ZvbnQtd2VpZ2h0OjYwMH0uc2QtZmlsZSAuc3YtYWN0aW9uLWJhciAjZmlsZUluZGV4IC5zdi1hY3Rpb24tYmFyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnNkLWZpbGUgLnN2LWFjdGlvbi1iYXIgI2ZpbGVJbmRleCAuc3YtYWN0aW9uLWJhci1pdGVtOmRpc2FibGVke29wYWNpdHk6aW5pdGlhbH0uc2QtZmlsZV9fZGVjb3JhdG9ye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246YWJzb2x1dGU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZX0uc2QtZmlsZS0tYW5zd2VyZWQgLnNkLWZpbGVfX2RlY29yYXRvcntjb250YWluZXItdHlwZTp1bnNldH0uc2QtZmlsZV9fZGVjb3JhdG9yLS1kcmFne3otaW5kZXg6MTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtiYWNrZ3JvdW5kOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWxpZ2h0LHJnYmEoMjUsMTc5LDE0OCwuMSkpKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWZpbGVfX25vLWZpbGUtY2hvc2Vue2Rpc3BsYXk6bm9uZX0uc2QtZmlsZV9fZHJhZy1hcmVhLXBsYWNlaG9sZGVyey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQscmdiYSgwLDAsMCwuNDUpKSk7Zm9udC1zaXplOnZhcigtLXNqcy1pbnRlcm5hbC1mb250LWVkaXRvcmZvbnQtc2l6ZSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO3BhZGRpbmc6MCBjYWxjKDggKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtZmlsZV9fZGVjb3JhdG9yIC5zZC1hY3Rpb257cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtZmlsZV9fZGVjb3JhdG9yIC5zZC1hY3Rpb24gLnN2LXN2Zy1pY29ue21hcmdpbi1sZWZ0OjB9LnNkLWZpbGVfX2RlY29yYXRvciAuc2QtZmlsZV9fYWN0aW9ucy1jb250YWluZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zZC1maWxlX19kZWNvcmF0b3IgLnNkLWZpbGVfX2FjdGlvbnMtY29udGFpbmVyIHNwYW57ZGlzcGxheTpub25lfS5zZC1maWxlX19jaG9vc2UtYnRuLS10ZXh0e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtjdXJzb3I6cG9pbnRlcn0uc2QtZmlsZV9fY2hvb3NlLWJ0bi0tdGV4dCAuc3Ytc3ZnLWljb257bWFyZ2luLWxlZnQ6Y2FsYygtMSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWZpbGVfX2Nob29zZS1idG4tLWljb24+c3BhbntkaXNwbGF5Om5vbmV9LnNkLWZpbGVfX3dyYXBwZXJ7d2lkdGg6bWF4LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCV9LnNkLXF1ZXN0aW9uLS1hbnN3ZXJlZCAuc2QtZmlsZV9fZHJhZy1hcmVhLXBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZX0uc2QtZmlsZV9fYWN0aW9ucy1jb250YWluZXJ7bWFyZ2luLXRvcDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtZmlsZV9fYWN0aW9ucy1jb250YWluZXIgLnN2LWFjdGlvbi0taGlkZGVue2Rpc3BsYXk6bm9uZX0uc2QtZmlsZS0tYW5zd2VyZWQgLnNkLWZpbGVfX2FjdGlvbnMtY29udGFpbmVye3otaW5kZXg6MjttYXJnaW4tdG9wOjA7Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1maWxlLS1hbnN3ZXJlZCAuc2QtZmlsZV9fYWN0aW9ucy1jb250YWluZXJ7dG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3JpZ2h0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3Bvc2l0aW9uOmFic29sdXRlfS5zZC1maWxlLS1jaG9zZS1idG4tLWFzIC5zZC1maWxlLS1hbnN3ZXJlZCAuc2QtZmlsZV9fYWN0aW9ucy1jb250YWluZXJ7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2luc2V0LWlubGluZS1lbmQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkgKyA1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWZpbGVfX2xpc3R7ZGlzcGxheTpmbGV4O2dhcDpjYWxjKDQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzpjYWxjKDEwLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwO21pbi1oZWlnaHQ6Y2FsYygxNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21heC1oZWlnaHQ6Y2FsYygxNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3dpZHRoOjEwMCV9LnNkLWZpbGVfX3ByZXZpZXctaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLWhlaWdodDoxMDAlO3dpZHRoOmNhbGMoMTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW46MDtjdXJzb3I6cG9pbnRlcn0uc2QtZmlsZV9fcHJldmlldy1pdGVtIC5zZC1maWxlX19kZWZhdWx0LWltYWdle3dpZHRoOmNhbGMoNyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1maWxlX19wcmV2aWV3LWl0ZW06aG92ZXIgLnNkLWZpbGVfX3JlbW92ZS1maWxlLWJ1dHRvbntvcGFjaXR5OjF9LnNkLWZpbGVfX3ByZXZpZXctaXRlbTpob3ZlciAuc2QtZmlsZV9fc2lnbiBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnNkLWZpbGVfX3NpZ257bWFyZ2luLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6Y2FsYyguNzUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1mb250LXNpemUsMTZweCl9LnNkLWZpbGVfX3NpZ24gYXtkaXNwbGF5OmJsb2NrO3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOnZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpKTt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1icmVhazpicmVhay1hbGw7d2lkdGg6Y2FsYygxMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21pbi13aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OmNhbGMoMyAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsaW5lLWhlaWdodDp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsfS5zZC1maWxlX19yZW1vdmUtZmlsZS1idXR0b257ZGlzcGxheTpibG9jaztvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMDAlO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1maWxlX19pbWFnZS13cmFwcGVyLS1kZWZhdWx0LWltYWdlIC5zZC1maWxlX19yZW1vdmUtZmlsZS1idXR0b257bGVmdDo1MCU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoMy41ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgLSA1MCUgLSAxLjVweCksY2FsYygtNC4yNSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpIC0gNTAlICsgMS41cHgpKX0uc2QtZmlsZV9fZGVjb3JhdG9yLS1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1zcGVjaWFsLXJlZC1saWdodCx2YXIoLS1yZWQtbGlnaHQscmdiYSgyMzAsMTAsNjIsLjEpKSl9LnNkLWZpbGVfX2ltYWdlLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOmNhbGMoMTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttaW4taGVpZ2h0OmNhbGMoMTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygxMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQ6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSl9LnNkLWZpbGVfX2ltYWdlLXdyYXBwZXIgaW1nOm5vdCguc2QtZmlsZV9fZGVmYXVsdC1pbWFnZSl7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7d2lkdGg6Y2FsYygxMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDEyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7b2JqZWN0LWZpdDpjb250YWlufS5zZC1maWxlX19pbWFnZS13cmFwcGVyLS1kZWZhdWx0LWltYWdle2JhY2tncm91bmQ6MCAwfS5zZC1maWxlLS1zaW5nbGUgLnNkLWZpbGVfX3ByZXZpZXctaXRlbSAuc2QtZmlsZV9fcmVtb3ZlLWZpbGUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0uc2QtZmlsZS0tc2luZ2xlLWltYWdle2hlaWdodDpjYWxjKDM2ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpfS5zZC1maWxlLS1zaW5nbGUtaW1hZ2UgLnNkLWZpbGVfX3ByZXZpZXctaXRlbXt3aWR0aDoxMDAlO21hcmdpbjowfS5zZC1maWxlLS1zaW5nbGUtaW1hZ2UgLnNkLWZpbGVfX2xpc3R7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3BhZGRpbmc6MDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uc2QtZmlsZS0tc2luZ2xlLWltYWdlIC5zZC1maWxlX19pbWFnZS13cmFwcGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbS1saWdodCx2YXIoLS1iYWNrZ3JvdW5kLWRpbS1saWdodCwjZjlmOWY5KSl9LnNkLWZpbGUtLXNpbmdsZS1pbWFnZSAuc2QtZmlsZV9faW1hZ2Utd3JhcHBlcnttaW4taGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEwMCV9LnNkLWZpbGUtLXNpbmdsZS1pbWFnZSAuc2QtZmlsZV9faW1hZ2Utd3JhcHBlciBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc2QtZmlsZS0tc2luZ2xlLWltYWdlIC5zZC1maWxlX19zaWdue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlfS5zZC1maWxlLS1zaW5nbGUtaW1hZ2UgLnNkLWZpbGVfX3NpZ24gYXtjb2xvcjp0cmFuc3BhcmVudDt3aWR0aDoxMDAlO21pbi13aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO2hlaWdodDoxMDAlO291dGxpbmU6MH0uc2QtZmlsZV9faW1hZ2Utd3JhcHBlci5zZC1maWxlX19pbWFnZS13cmFwcGVyLS1kZWZhdWx0LWltYWdle2JhY2tncm91bmQ6MCAwfS5zZC1maWxlPmlucHV0OmZvY3VzKy5zZC1maWxlX19kZWNvcmF0b3IgLnNkLWZpbGVfX2Nob29zZS1idG4uc2QtZmlsZV9fY2hvb3NlLWJ0bi0taWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWZpbGU+aW5wdXQ6Zm9jdXMrLnNkLWZpbGVfX2RlY29yYXRvciAuc2QtZmlsZV9fY2hvb3NlLWJ0bjpub3QoLnNkLWZpbGVfX2Nob29zZS1idG4tLWljb24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpfS5zZC1maWxlX19kcmFnLWFyZWF7cG9zaXRpb246c3RhdGljO3dpZHRoOjEwMCV9LnNkLWZpbGVfX2NoYW5nZS1jYW1lcmEtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjtsZWZ0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3RvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtZmlsZV9fY2xvc2UtY2FtZXJhLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7cmlnaHQ6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7dG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1jb250ZXh0LWJ0bi5zZC1maWxlX190YWtlLXBpY3R1cmUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLHZhcigtLXJlZCwjZTYwYTNlKSk7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjE2cHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cGFkZGluZzpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtY29udGV4dC1idG4uc2QtZmlsZV9fdGFrZS1waWN0dXJlLWJ1dHRvbiAuc3Ytc3ZnLWljb257aGVpZ2h0OmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3dpZHRoOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1jb250ZXh0LWJ0bi5zZC1maWxlX190YWtlLXBpY3R1cmUtYnV0dG9uIC5zdi1zdmctaWNvbiB1c2V7ZmlsbDp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSl9LnNkLWNvbnRleHQtYnRuLnNkLWZpbGVfX3Rha2UtcGljdHVyZS1idXR0b246Zm9jdXMsLnNkLWNvbnRleHQtYnRuLnNkLWZpbGVfX3Rha2UtcGljdHVyZS1idXR0b246aG92ZXJ7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tc2pzLXNwZWNpYWwtcmVkLHZhcigtLXJlZCwjZTYwYTNlKSl9LnNkLWZpbGVfX3ZpZGVvLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zZC1maWxlX19sb2FkaW5nLWluZGljYXRvcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MXB4IGRhc2hlZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTtsZWZ0OjB9LnNkLWZpbGVfX2xvYWRpbmctaW5kaWNhdG9yIC5zZC1sb2FkaW5nLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX0uc2QtZmlsZV9fY2hvb3NlLWZpbGUtYnRuLS1kaXNhYmxlZHtvcGFjaXR5Oi4yNTtjdXJzb3I6ZGVmYXVsdH0uc2QtZmlsZS0tcmVhZG9ubHkgLnNkLWNvbnRleHQtYnRue2Rpc3BsYXk6bm9uZX0uc2QtZmlsZS0tcmVhZG9ubHkgLnNkLWZpbGVfX2RlY29yYXRvcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnNkLWZpbGUtLXJlYWRvbmx5IC5zZC1maWxlX19hY3Rpb25zLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9LnNkLWZpbGUtLXJlYWRvbmx5IC5zZC1maWxlX19pbWFnZS13cmFwcGVye2JhY2tncm91bmQ6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLWZpbGUtLXJlYWRvbmx5IC5zZC1maWxlX19kcmFnLWFyZWEtcGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpfS5zZC1maWxlLS1wcmV2aWV3IC5zZC1jb250ZXh0LWJ0bntkaXNwbGF5Om5vbmV9LnNkLWZpbGUtLXByZXZpZXcgLnNkLWZpbGVfX2RlY29yYXRvcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnNkLWZpbGUtLXByZXZpZXcgLnNkLWZpbGVfX2ltYWdlLXdyYXBwZXJ7YmFja2dyb3VuZDowIDB9LnNkLWZpbGUtLXByZXZpZXcgLnNkLWZpbGVfX2FjdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0uc2QtZmlsZS0tcHJldmlldyAuc2QtZmlsZV9fZHJhZy1hcmVhLXBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvcix2YXIoLS1mb3JlZ3JvdW5kLCMxNjE2MTYpKX0uc2QtaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnNkLWJvZHlfX25hdmlnYXRpb24gLnNkLWJ0bntwYWRkaW5nOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXNpemUsdmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSl9LnNkLXJvb3QtLWNvbXBhY3QgLnNkLWJvZHlfX25hdmlnYXRpb24gLnNkLWJ0bjpub3QoLnNkLWJ0bi0tYWN0aW9uKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0tbGlnaHQsdmFyKC0tYmFja2dyb3VuZC1kaW0tbGlnaHQsI2Y5ZjlmOSkpfS5zZC1yb290LS1jb21wYWN0IC5zZC1ib2R5X19uYXZpZ2F0aW9uIC5zZC1idG46bm90KC5zZC1idG4tLWFjdGlvbik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZWRpdG9ycGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLWRhcmssI2YzZjNmMykpfS5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1ib2R5X19uYXZpZ2F0aW9uIC5zZC1idG4sLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLWJvZHlfX25hdmlnYXRpb24gLnN2LWFjdGlvbjpub3QoLnN2LWFjdGlvbi0taGlkZGVuKXtmbGV4LWdyb3c6MX0uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtYm9keV9fbmF2aWdhdGlvbiAuc2QtYnRue3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJvZHlfX25hdmlnYXRpb24gLnN2LWFjdGlvbi0taGlkZGVue2Rpc3BsYXk6bm9uZX06cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zZC1idG57YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg2ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZDp2YXIoLS1zanMtcXVlc3Rpb25wYW5lbC1iYWNrY29sb3IsdmFyKC0tc2pzLXF1ZXN0aW9uLWJhY2tncm91bmQsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOnZhcigtLXNqcy1mb250LXNpemUsMTZweCk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtib3JkZXI6bm9uZTtvdXRsaW5lOjA7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LXNtYWxsLDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKSxiYWNrZ3JvdW5kIHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtYnRuLS1zbWFsbHtmbGV4LWdyb3c6MTtwYWRkaW5nOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpfS5zZC1idG46Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OnZhcigtLXNqcy1zaGFkb3ctc21hbGwtcmVzZXQsMCAwIDAgMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDJweCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWJ0bjpkaXNhYmxlZHtjb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3IsdmFyKC0tZm9yZWdyb3VuZCwjMTYxNjE2KSk7b3BhY2l0eTouMjU7cG9pbnRlci1ldmVudHM6bm9uZX0uc2QtYnRuLS1hY3Rpb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktZm9yZWNvbG9yLHZhcigtLXByaW1hcnktZm9yZWdyb3VuZCwjZmZmKSl9LnNkLWJ0bi0tYWN0aW9uOmhvdmVye2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWRhcmssIzE0YTQ4Yil9LnNkLWJ0bi0tYWN0aW9uOmRpc2FibGVke2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQtZGlzYWJsZWQscmdiYSgyNTUsMjU1LDI1NSwuMjUpKSk7cG9pbnRlci1ldmVudHM6bm9uZX0uc2QtYnRuLS1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsdmFyKC0tcmVkLCNlNjBhM2UpKTtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2QtYnRuLS1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsdmFyKC0tcmVkLCNlNjBhM2UpKTtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2QtYnRuLS1kYW5nZXI6ZGlzYWJsZWR7Y29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWZvcmVjb2xvciwjZmZmKTtwb2ludGVyLWV2ZW50czpub25lfTpyb290ey0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb246MTUwbXN9LnNkLWJvZHl7d2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnNkLWJvZHkgLnNkLWJvZHlfX3BhZ2V7bWluLXdpZHRoOm1pbigxMDAlLDMwMHB4KX0uc2QtYm9keSAuc2QtYm9keV9fdGltZXJ7cGFkZGluZzpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSAwO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2QtYm9keS5zZC1ib2R5LS1zdGF0aWN7bWF4LXdpZHRoOmNhbGMoOTAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3BhZGRpbmctdG9wOmNhbGMoNiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctYm90dG9tOmNhbGMoMTAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtYm9keS5zZC1ib2R5LS1zdGF0aWMgLnNkLWJvZHlfX25hdmlnYXRpb24sLnNkLWJvZHkuc2QtYm9keS0tc3RhdGljIC5zZC1ib2R5X19wYWdlLC5zZC1ib2R5LnNkLWJvZHktLXN0YXRpYyAuc2QtYm9keV9fdGltZXJ7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0uc2QtYm9keS5zZC1ib2R5LS1zdGF0aWMgLnNkLWJvZHlfX25hdmlnYXRpb257cGFkZGluZy10b3A6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJvZHkuc2QtYm9keS0tc3RhdGljIC5zZC1ib2R5X19uYXZpZ2F0aW9uLnNkLWFjdGlvbi1iYXJ7cGFkZGluZy1sZWZ0OmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctcmlnaHQ6Y2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJvZHkuc2QtYm9keS0tcmVzcG9uc2l2ZXttYXgtd2lkdGg6aW5pdGlhbDtwYWRkaW5nOmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2QtYm9keS5zZC1ib2R5LS1yZXNwb25zaXZlIC5zZC1wYWdle3BhZGRpbmc6MH0uc2QtYm9keS5zZC1ib2R5LS1yZXNwb25zaXZlIC5zZC1ib2R5X19uYXZpZ2F0aW9uLC5zZC1ib2R5LnNkLWJvZHktLXJlc3BvbnNpdmUgLnNkLWJvZHlfX3RpbWVye3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgMH0uc2QtYm9keS5zZC1ib2R5LS1yZXNwb25zaXZlIC5zZC1ib2R5X19uYXZpZ2F0aW9ue3BhZGRpbmctdG9wOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1ib2R5LnNkLWJvZHktLXJlc3BvbnNpdmUuc2QtYm9keS0td2l0aC10aW1lcnttYXgtd2lkdGg6Y2FsYygxMDAlICsgdmFyKC0tc2QtdGltZXItc2l6ZSkgKiAtMS40NDQ0NDQ0NDQ0ICsgNiAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1ib2R5LnNkLWJvZHktLXdpdGgtdGltZXIuc2QtYm9keS0tcmVzcG9uc2l2ZXttYXgtd2lkdGg6aW5pdGlhbDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1ib2R5LnNkLWJvZHktLXJlc3BvbnNpdmUsLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLWJvZHkuc2QtYm9keS0tc3RhdGlje3BhZGRpbmc6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLWJvZHkuc2QtYm9keS0tcmVzcG9uc2l2ZSAuc2QtYm9keV9fbmF2aWdhdGlvbiwuc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtYm9keS5zZC1ib2R5LS1zdGF0aWMgLnNkLWJvZHlfX25hdmlnYXRpb257cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctYm90dG9tOjB9LnNkLXJvb3QtLWNvbXBhY3QgLnNkLWJvZHkuc2QtYm9keS0tcmVzcG9uc2l2ZSAuc2QtYm9keV9fbmF2aWdhdGlvbiwuc2Qtcm9vdC0tY29tcGFjdCAuc2QtYm9keS5zZC1ib2R5LS1zdGF0aWMgLnNkLWJvZHlfX25hdmlnYXRpb257cGFkZGluZy10b3A6Y2FsYyg3ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJvZHlfX25hdmlnYXRpb24uc2QtYWN0aW9uLWJhcntib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtmbGV4LXdyYXA6d3JhcDtnYXA6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWJvZHktLWVtcHR5e21pbi1oZWlnaHQ6NDAwcHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTgwcHg7Ym94LXNpemluZzpib3JkZXItYm94fS5zZC1ib2R5LS1lbXB0eSwuc2QtYm9keS0tbG9hZGluZ3tmb250LXNpemU6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRXZWlnaHQsNDAwKTtmb250LXN0eWxlOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1sZXR0ZXJTcGFjaW5nLDApO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1saW5lSGVpZ2h0LDI4cHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXRleHRDYXNlLCBcIm5vbmVcIik7Y29sb3I6dmFyKC0tc2pzLWZvbnQtcGFnZXRpdGxlLWNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWRpbS1mb3JlY29sb3IscmdiYSgwLDAsMCwuOTEpKSl9LnNkLWJvZHktLWVtcHR5IGgxLC5zZC1ib2R5LS1sb2FkaW5nIGgxe2ZvbnQtc2l6ZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWZvbnRTaXplLGNhbGMoNCAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtZm9udFdlaWdodCw3MDApO2ZvbnQtc3R5bGU6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWxldHRlclNwYWNpbmcsMCk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1saW5lSGVpZ2h0LDY0cHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtdGV4dENhc2UsIFwibm9uZVwiKX0uc2QtYm9keS0tZW1wdHkgaDIsLnNkLWJvZHktLWxvYWRpbmcgaDJ7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1mb250U2l6ZSxjYWxjKDMgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtbGluZUhlaWdodCw1NnB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1ib2R5LS1lbXB0eSBoMywuc2QtYm9keS0tbG9hZGluZyBoM3tmb250LXNpemU6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1mb250U2l6ZSxjYWxjKDIgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS10ZXh0RGVjb3JhdGlvbiwgXCJub25lXCIpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLWZvbnRXZWlnaHQsNzAwKTtmb250LXN0eWxlOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1mb250U3RyZXRjaCwgXCJub3JtYWxcIik7bGV0dGVyLXNwYWNpbmc6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1sZXR0ZXJTcGFjaW5nLDApO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtbGluZUhlaWdodCw0MHB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLXBhcmFncmFwaEluZGVudCwwKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLXRleHRDYXNlLCBcIm5vbmVcIil9LnNkLWJvZHktLWVtcHR5IGg0LC5zZC1ib2R5LS1lbXB0eSBoNSwuc2QtYm9keS0tZW1wdHkgaDYsLnNkLWJvZHktLWxvYWRpbmcgaDQsLnNkLWJvZHktLWxvYWRpbmcgaDUsLnNkLWJvZHktLWxvYWRpbmcgaDZ7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLWZvbnRTaXplLGNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSk7dGV4dC1kZWNvcmF0aW9uOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLWZvbnRXZWlnaHQsNzAwKTtmb250LXN0eWxlOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLWZvbnRTdHlsZSwgXCJub3JtYWxcIik7Zm9udC1zdHJldGNoOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1sZXR0ZXJTcGFjaW5nLDApO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLWxpbmVIZWlnaHQsMzJweCk7dGV4dC1pbmRlbnQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1tZWRpdW0tcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLXRleHRDYXNlLCBcIm5vbmVcIil9LnNkLWJvZHktLWVtcHR5IGRpdiwuc2QtYm9keS0tZW1wdHkgcCwuc2QtYm9keS0tZW1wdHkgc3Bhbiwuc2QtYm9keS0tZW1wdHkgdGQsLnNkLWJvZHktLWxvYWRpbmcgZGl2LC5zZC1ib2R5LS1sb2FkaW5nIHAsLnNkLWJvZHktLWxvYWRpbmcgc3Bhbiwuc2QtYm9keS0tbG9hZGluZyB0ZHtmb250LXNpemU6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRXZWlnaHQsNDAwKTtmb250LXN0eWxlOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1sZXR0ZXJTcGFjaW5nLDApO2xpbmUtaGVpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1saW5lSGVpZ2h0LDI4cHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXRleHRDYXNlLCBcIm5vbmVcIil9LnNkLWJvZHktLWVtcHR5IGEsLnNkLWJvZHktLWxvYWRpbmcgYXtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWJvZHktLWVtcHR5IGJ1dHRvbiwuc2QtYm9keS0tbG9hZGluZyBidXR0b257ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7b3V0bGluZTpzb2xpZCBjYWxjKC4yNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtmb250LXdlaWdodDo2MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1xdWVzdGlvbnRpdGxlLXNpemUsdmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSk7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LXNtYWxsLDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IHZhcigtLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uLDE1MG1zKX0uc2QtYm9keS0tZW1wdHkgYnV0dG9uOmhvdmVyLC5zZC1ib2R5LS1sb2FkaW5nIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1xdWVzdGlvbnBhbmVsLWhvdmVyY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRhcmssI2Y4ZjhmOCkpfS5zZC1ib2R5LS1lbXB0eSBidXR0b246Zm9jdXMsLnNkLWJvZHktLWxvYWRpbmcgYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1zbWFsbC1yZXNldCwwIDAgMCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtYm9keS0tZW1wdHkgYnV0dG9uIHNwYW4sLnNkLWJvZHktLWxvYWRpbmcgYnV0dG9uIHNwYW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LWdyb3c6MTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zZC1yb290X2JhY2tncm91bmQtaW1hZ2V7YmFja2dyb3VuZC1wb3NpdGlvbi14OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH06cm9vdHstLXNqcy10cmFuc2l0aW9uLWR1cmF0aW9uOjE1MG1zfS5zZC1tdWx0aXBsZXRleHR7d2lkdGg6MTAwJTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7Ym9yZGVyLXNwYWNpbmc6MDtoZWlnaHQ6MXB4fS5zZC1tdWx0aXBsZXRleHRfX2NlbGx7aGVpZ2h0OjEwMCV9LnNkLW11bHRpcGxldGV4dF9fY2VsbDpub3QoOmZpcnN0LW9mLXR5cGUpe3BhZGRpbmctbGVmdDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lci5zZC1pbnB1dDpmb2N1cy13aXRoaW57Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LWlubmVyLXJlc2V0LGluc2V0IDAgMCAwIDAgcmdiYSgwLDAsMCwuMTUpKSwwIDAgMCAycHggdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tY29udGFpbmVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2hlaWdodDoxMDAlO3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MH0uc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lciAuc2QtaW5wdXR7cGFkZGluZy10b3A6MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1ib3R0b206MDtib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmV9LnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXIgLnNkLWlucHV0LC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tdGl0bGV7bWFyZ2luLXRvcDpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbXVsdGlwbGV0ZXh0X19pdGVtLXRpdGxle2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjB9LnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZSBzcGFuey0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplOnZhcigtLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemUsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKTtmb250LXNpemU6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSl9LnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZXtoZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgKiAzKTttYXgtd2lkdGg6MzAlO3BhZGRpbmctcmlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKTt3aGl0ZS1zcGFjZTpub3JtYWw7Y29sb3I6dmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1wbGFjZWhvbGRlcmNvbG9yLHZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKSl9LnNkLXF1ZXN0aW9uLS1wcmV2aWV3IC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tdGl0bGV7Ym9yZGVyOm5vbmV9LnNkLW11bHRpcGxldGV4dF9faXRlbXtmbGV4LWdyb3c6MX0uc2QtbXVsdGlwbGV0ZXh0X19jb250ZW50IC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tY29udGFpbmVyLS1lcnJvcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1zcGVjaWFsLXJlZC1saWdodCx2YXIoLS1yZWQtbGlnaHQscmdiYSgyMzAsMTAsNjIsLjEpKSl9LnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWVycm9yIC5zZC1pbnB1dC0tZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uc2QtbXVsdGlwbGV0ZXh0LWl0ZW1fX2NoYXJhY3Rlci1jb3VudGVye292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc2QtcXVlc3Rpb25fX2NvbnRlbnQ6Zm9jdXMtd2l0aGluIC5zZC1tdWx0aXBsZXRleHQtaXRlbV9fY2hhcmFjdGVyLWNvdW50ZXJ7cGFkZGluZy1pbmxpbmUtZW5kOmNhbGMoOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1tdWx0aXBsZXRleHRfX2NlbGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3BhZGRpbmctYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO3BhZGRpbmctdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1tdWx0aXBsZXRleHRfX2NlbGwtLWVycm9yLWJvdHRvbSwuc2QtbXVsdGlwbGV0ZXh0X19yb3c6Zmlyc3Qtb2YtdHlwZSAuc2QtbXVsdGlwbGV0ZXh0X19jZWxse3BhZGRpbmctdG9wOjB9LnNkLW11bHRpcGxldGV4dF9fY2VsbC0tZXJyb3ItdG9wLC5zZC1tdWx0aXBsZXRleHRfX3JvdzpsYXN0LW9mLXR5cGUgLnNkLW11bHRpcGxldGV4dF9fY2VsbHtwYWRkaW5nLWJvdHRvbTowfS5zZC1tdWx0aXBsZXRleHRfX2NlbGwtLWVycm9yIC5zZC1xdWVzdGlvbl9fZXJib3h7bWFyZ2luOjB9LnNkLW11bHRpcGxldGV4dCAuc2QtaW5wdXQgLnNkLWlucHV0e2JhY2tncm91bmQ6MCAwfS5zZC1hY3Rpb257YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2JhY2tncm91bmQ6MCAwO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Y29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO2JvcmRlci1yYWRpdXM6Y2FsYygxMi41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO291dGxpbmU6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1hY3Rpb24tLW5lZ2F0aXZle2NvbG9yOnZhcigtLXNqcy1zcGVjaWFsLXJlZCx2YXIoLS1yZWQsI2U2MGEzZSkpfS5zZC1hY3Rpb24tLWljb257cGFkZGluZzp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtYWN0aW9uX19pY29ue21hcmdpbi1sZWZ0OmNhbGMoLTEgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtYWN0aW9uX19pY29uIHVzZXtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtYWN0aW9uLS1pY29uIC5zZC1hY3Rpb25fX2ljb257bWFyZ2luLWxlZnQ6MH0uc2QtYWN0aW9uLS1pY29uIHVzZXtmaWxsOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpO3RyYW5zaXRpb246ZmlsbCB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9c3ZnLnNkLWFjdGlvbi0taWNvbntmaWxsOnZhcigtLXNqcy1mb250LXF1ZXN0aW9uZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSkpfS5zZC1hY3Rpb24tLWRpc2FibGVkLC5zZC1hY3Rpb246ZGlzYWJsZWR7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjI1O3BvaW50ZXItZXZlbnRzOm5vbmV9LnNkLWFjdGlvbi0tZGlzYWJsZWQgdXNlLC5zZC1hY3Rpb246ZGlzYWJsZWQgdXNle2ZpbGw6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb25kZXNjcmlwdGlvbi1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQscmdiYSgwLDAsMCwuNDUpKSl9LnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6Zm9jdXMsLnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6aG92ZXJ7b3V0bGluZTowO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpO2N1cnNvcjpwb2ludGVyO29wYWNpdHk6MX0uc2QtYWN0aW9uOm5vdCguc2QtYWN0aW9uLS1wcmVzc2VkKTpmb2N1cy5zZC1hY3Rpb24tLWljb24sLnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6aG92ZXIuc2QtYWN0aW9uLS1pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSl9LnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6Zm9jdXMuc2QtYWN0aW9uLS1uZWdhdGl2ZSwuc2QtYWN0aW9uOm5vdCguc2QtYWN0aW9uLS1wcmVzc2VkKTpob3Zlci5zZC1hY3Rpb24tLW5lZ2F0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKX0uc2QtYWN0aW9uOm5vdCguc2QtYWN0aW9uLS1wcmVzc2VkKTpmb2N1cy5zZC1hY3Rpb24tLW5lZ2F0aXZlLnNkLWFjdGlvbi0taWNvbiB1c2UsLnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6aG92ZXIuc2QtYWN0aW9uLS1uZWdhdGl2ZS5zZC1hY3Rpb24tLWljb24gdXNle2ZpbGw6dmFyKC0tc2pzLXNwZWNpYWwtcmVkLHZhcigtLXJlZCwjZTYwYTNlKSl9LnNkLWFjdGlvbjpub3QoLnNkLWFjdGlvbi0tcHJlc3NlZCk6Zm9jdXM6YWN0aXZlLC5zZC1hY3Rpb246bm90KC5zZC1hY3Rpb24tLXByZXNzZWQpOmhvdmVyOmFjdGl2ZXtvcGFjaXR5Oi41fS5zZC1hY3Rpb25fX2ljb257ZGlzcGxheTpibG9jazt3aWR0aDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWFjdGlvbi0tcHJlc3NlZDpub3QoLnNkLWFjdGlvbi0tYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO29wYWNpdHk6LjV9LnNkLWFjdGlvbi1iYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2QtYWN0aW9uLWJhciAuc3YtYWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkgLnN2LWFjdGlvbl9fY29udGVudHtwYWRkaW5nLXJpZ2h0OjB9LnNkLWNvbnRleHQtYnRue2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO3BhZGRpbmc6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXItcmFkaXVzOmNhbGMoMTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlcjpub25lO291dGxpbmU6MDtjdXJzb3I6cG9pbnRlcn0uc2QtY29udGV4dC1idG4gLnN2LXN2Zy1pY29ue21hcmdpbjowfS5zZC1jb250ZXh0LWJ0biBzdmd7LS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemU6dmFyKC0tc2pzLW1vYmlsZS1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtZWRpdG9yZm9udC1zaXplLCB2YXIoLS1zanMtZm9udC1zaXplLCAxNnB4KSkpO2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxLjUgKiAodmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKSkpO2hlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtaW50ZXJuYWwtZm9udC1lZGl0b3Jmb250LXNpemUpKSl9LnNkLWNvbnRleHQtYnRuIHVzZXtmaWxsOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKTt0cmFuc2l0aW9uOmZpbGwgdmFyKC0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb24sMTUwbXMpfS5zZC1jb250ZXh0LWJ0bjpmb2N1cyB1c2UsLnNkLWNvbnRleHQtYnRuOmhvdmVyIHVzZXtmaWxsOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtY29udGV4dC1idG46Zm9jdXMuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZlIHVzZSwuc2QtY29udGV4dC1idG46aG92ZXIuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZlIHVzZXtmaWxsOnZhcigtLXNqcy1zcGVjaWFsLXJlZCx2YXIoLS1yZWQsI2U2MGEzZSkpfS5zZC1jb250ZXh0LWJ0bjpkaXNhYmxlZHtvcGFjaXR5Oi4yNX0uc2QtY29udGV4dC1idG4tLXNtYWxse3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLWNvbnRleHQtYnRuLS1zbWFsbCBzdmd7d2lkdGg6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKTtoZWlnaHQ6dmFyKC0tc2pzLWludGVybmFsLWZvbnQtZWRpdG9yZm9udC1zaXplKX0uc2QtY29udGV4dC1idG4tLXdpdGgtYm9yZGVyey0tYm94LXNoYWRvdy1jb2xvcjp2YXIoLS1zanMtYm9yZGVyLWluc2lkZSwgdmFyKC0tYm9yZGVyLWluc2lkZSwgcmdiYSgwLCAwLCAwLCAwLjE2KSkpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLWJveC1zaGFkb3ctY29sb3IpfS5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWwgdXNle2ZpbGw6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpfS5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWwuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZlIHVzZXtmaWxsOnJlZH0uc2QtY29udGV4dC1idG4tLWNvbG9yZnVsOmZvY3VzLC5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWw6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLWxpZ2h0LHZhcigtLXByaW1hcnktbGlnaHQscmdiYSgyNSwxNzksMTQ4LC4xKSkpLHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvci1saWdodCx2YXIoLS1wcmltYXJ5LWxpZ2h0LHJnYmEoMjUsMTc5LDE0OCwuMSkpKSksbGluZWFyLWdyYWRpZW50KHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKSx2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSkpfS5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWw6Zm9jdXMuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZlLC5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWw6aG92ZXIuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXNqcy1zcGVjaWFsLXJlZC1saWdodCx2YXIoLS1yZWQtbGlnaHQscmdiYSgyMzAsMTAsNjIsLjEpKSksdmFyKC0tc2pzLXNwZWNpYWwtcmVkLWxpZ2h0LHZhcigtLXJlZC1saWdodCxyZ2JhKDIzMCwxMCw2MiwuMSkpKSksbGluZWFyLWdyYWRpZW50KHZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKSx2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3IsdmFyKC0tYmFja2dyb3VuZCwjZmZmKSkpfS5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWw6Zm9jdXMuc2QtY29udGV4dC1idG4tLXdpdGgtYm9yZGVyLC5zZC1jb250ZXh0LWJ0bi0tY29sb3JmdWw6aG92ZXIuc2QtY29udGV4dC1idG4tLXdpdGgtYm9yZGVyey0tYm94LXNoYWRvdy1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsIHZhcigtLXByaW1hcnksICMxOWIzOTQpKX0uc2QtY29udGV4dC1idG4tLWNvbG9yZnVsOmZvY3VzLnNkLWNvbnRleHQtYnRuLS13aXRoLWJvcmRlci5zZC1jb250ZXh0LWJ0bi0tbmVnYXRpdmUsLnNkLWNvbnRleHQtYnRuLS1jb2xvcmZ1bDpob3Zlci5zZC1jb250ZXh0LWJ0bi0td2l0aC1ib3JkZXIuc2QtY29udGV4dC1idG4tLW5lZ2F0aXZley0tYm94LXNoYWRvdy1jb2xvcjp2YXIoLS1zanMtc3BlY2lhbC1yZWQsIHZhcigtLXJlZCwgI2U2MGEzZSkpfTpyb290ey0tc2pzLXRyYW5zaXRpb24tZHVyYXRpb246MTUwbXN9LnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSwuc2QtY29tcGxldGVkcGFnZXthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OjcwMDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpjZW50ZXI7aGVpZ2h0OmF1dG87Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250V2VpZ2h0LDQwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtbGluZUhlaWdodCwyOHB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC10ZXh0Q2FzZSwgXCJub25lXCIpO2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSkpfS5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgaDEsLnNkLWNvbXBsZXRlZHBhZ2UgaDF7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtZm9udFNpemUsY2FsYyg0ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSk7dGV4dC1kZWNvcmF0aW9uOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWZvbnRTdHlsZSwgXCJub3JtYWxcIik7Zm9udC1zdHJldGNoOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteHgtbGFyZ2UtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXh4LWxhcmdlLWxpbmVIZWlnaHQsNjRweCk7dGV4dC1pbmRlbnQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC14eC1sYXJnZS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgaDIsLnNkLWNvbXBsZXRlZHBhZ2UgaDJ7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1mb250U2l6ZSxjYWxjKDMgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpKTt0ZXh0LWRlY29yYXRpb246dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLXRleHREZWNvcmF0aW9uLCBcIm5vbmVcIik7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2ZvbnQtd2VpZ2h0OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtZm9udFN0eWxlLCBcIm5vcm1hbFwiKTtmb250LXN0cmV0Y2g6dmFyKC0tc2pzLWFydGljbGUtZm9udC14LWxhcmdlLWZvbnRTdHJldGNoLCBcIm5vcm1hbFwiKTtsZXR0ZXItc3BhY2luZzp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtbGluZUhlaWdodCw1NnB4KTt0ZXh0LWluZGVudDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LXgtbGFyZ2UtcGFyYWdyYXBoSW5kZW50LDApO3RleHQtdHJhbnNmb3JtOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQteC1sYXJnZS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgaDMsLnNkLWNvbXBsZXRlZHBhZ2UgaDN7Zm9udC1zaXplOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtZm9udFNpemUsY2FsYygyICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKSk7dGV4dC1kZWNvcmF0aW9uOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtdGV4dERlY29yYXRpb24sIFwibm9uZVwiKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1mYW1pbHksdmFyKC0tZm9udC1mYW1pbHksdmFyKC0tc2pzLWRlZmF1bHQtZm9udC1mYW1pbHkpKSk7Zm9udC13ZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLWZvbnRTdHlsZSwgXCJub3JtYWxcIik7Zm9udC1zdHJldGNoOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtZm9udFN0cmV0Y2gsIFwibm9ybWFsXCIpO2xldHRlci1zcGFjaW5nOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbGFyZ2UtbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWxhcmdlLWxpbmVIZWlnaHQsNDBweCk7dGV4dC1pbmRlbnQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS1wYXJhZ3JhcGhJbmRlbnQsMCk7dGV4dC10cmFuc2Zvcm06dmFyKC0tc2pzLWFydGljbGUtZm9udC1sYXJnZS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgaDQsLnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSBoNSwuc2QtY29tcGxldGVkLWJlZm9yZS1wYWdlIGg2LC5zZC1jb21wbGV0ZWRwYWdlIGg0LC5zZC1jb21wbGV0ZWRwYWdlIGg1LC5zZC1jb21wbGV0ZWRwYWdlIGg2e2ZvbnQtc2l6ZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U2l6ZSxjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS10ZXh0RGVjb3JhdGlvbiwgXCJub25lXCIpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250V2VpZ2h0LDcwMCk7Zm9udC1zdHlsZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U3R5bGUsIFwibm9ybWFsXCIpO2ZvbnQtc3RyZXRjaDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1mb250U3RyZXRjaCwgXCJub3JtYWxcIik7bGV0dGVyLXNwYWNpbmc6dmFyKC0tc2pzLWFydGljbGUtZm9udC1tZWRpdW0tbGV0dGVyU3BhY2luZywwKTtsaW5lLWhlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS1saW5lSGVpZ2h0LDMycHgpO3RleHQtaW5kZW50OnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtbWVkaXVtLXBhcmFncmFwaEluZGVudCwwKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LW1lZGl1bS10ZXh0Q2FzZSwgXCJub25lXCIpfS5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgZGl2LC5zZC1jb21wbGV0ZWQtYmVmb3JlLXBhZ2UgcCwuc2QtY29tcGxldGVkLWJlZm9yZS1wYWdlIHNwYW4sLnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSB0ZCwuc2QtY29tcGxldGVkcGFnZSBkaXYsLnNkLWNvbXBsZXRlZHBhZ2UgcCwuc2QtY29tcGxldGVkcGFnZSBzcGFuLC5zZC1jb21wbGV0ZWRwYWdlIHRke2ZvbnQtc2l6ZTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFNpemUsdmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSk7dGV4dC1kZWNvcmF0aW9uOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC10ZXh0RGVjb3JhdGlvbiwgXCJub25lXCIpO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtZm9udFdlaWdodCw0MDApO2ZvbnQtc3R5bGU6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWZvbnRTdHlsZSwgXCJub3JtYWxcIik7Zm9udC1zdHJldGNoOnZhcigtLXNqcy1hcnRpY2xlLWZvbnQtZGVmYXVsdC1mb250U3RyZXRjaCwgXCJub3JtYWxcIik7bGV0dGVyLXNwYWNpbmc6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWxldHRlclNwYWNpbmcsMCk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LWxpbmVIZWlnaHQsMjhweCk7dGV4dC1pbmRlbnQ6dmFyKC0tc2pzLWFydGljbGUtZm9udC1kZWZhdWx0LXBhcmFncmFwaEluZGVudCwwKTt0ZXh0LXRyYW5zZm9ybTp2YXIoLS1zanMtYXJ0aWNsZS1mb250LWRlZmF1bHQtdGV4dENhc2UsIFwibm9uZVwiKX0uc2QtY29tcGxldGVkLWJlZm9yZS1wYWdlIGEsLnNkLWNvbXBsZXRlZHBhZ2UgYXtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSBidXR0b24sLnNkLWNvbXBsZXRlZHBhZ2UgYnV0dG9ue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KTtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO291dGxpbmU6c29saWQgY2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSB0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZmFtaWx5OnZhcigtLXNqcy1mb250LWZhbWlseSx2YXIoLS1mb250LWZhbWlseSx2YXIoLS1zanMtZGVmYXVsdC1mb250LWZhbWlseSkpKTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtcXVlc3Rpb250aXRsZS1zaXplLHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpO2xpbmUtaGVpZ2h0OmNhbGMoMS41ICogKHZhcigtLXNqcy1mb250LXF1ZXN0aW9udGl0bGUtc2l6ZSx2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSkpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1zbWFsbCwwIDFweCAycHggMCByZ2JhKDAsMCwwLC4xNSkpLDAgMCAwIDAgdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO3RyYW5zaXRpb246Ym94LXNoYWRvdyB2YXIoLS1zanMtdHJhbnNpdGlvbi1kdXJhdGlvbiwxNTBtcyl9LnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSBidXR0b246aG92ZXIsLnNkLWNvbXBsZXRlZHBhZ2UgYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXF1ZXN0aW9ucGFuZWwtaG92ZXJjb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGFyaywjZjhmOGY4KSl9LnNkLWNvbXBsZXRlZC1iZWZvcmUtcGFnZSBidXR0b246Zm9jdXMsLnNkLWNvbXBsZXRlZHBhZ2UgYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1zbWFsbC1yZXNldCwwIDAgMCAwIHJnYmEoMCwwLDAsLjE1KSksMCAwIDAgMnB4IHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKX0uc2QtY29tcGxldGVkLWJlZm9yZS1wYWdlIGJ1dHRvbiBzcGFuLC5zZC1jb21wbGV0ZWRwYWdlIGJ1dHRvbiBzcGFue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1ncm93OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2QtY29tcGxldGVkcGFnZTphZnRlciwuc2QtY29tcGxldGVkcGFnZTpiZWZvcmV7ZGlzcGxheTpibG9jazt3aWR0aDpjYWxjKDkgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tbGVmdDpjYWxjKDUwJSAtIDQuNSAqIHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKTtjb250ZW50OlwiXCJ9LnNkLWNvbXBsZXRlZHBhZ2U6YmVmb3Jle2hlaWdodDpjYWxjKDEzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWNvbXBsZXRlZHBhZ2U6YWZ0ZXJ7aGVpZ2h0OmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wcm9ncmVzcy1idXR0b25zX19pbWFnZS1idXR0b24tbGVmdHtkaXNwbGF5Om5vbmV9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2ltYWdlLWJ1dHRvbi1yaWdodHtkaXNwbGF5Om5vbmV9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2ltYWdlLWJ1dHRvbi0taGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5zZC1wcm9ncmVzcy1idXR0b25zX19wYWdlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6bm9uZX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc3twYWRkaW5nOmNhbGMoNCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIGNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QtY29udGFpbmVye2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjAgY2FsYygtLjc1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2Nvbm5lY3RvcntkaXNwbGF5Om5vbmV9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3R7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1ncm93OjE7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjB9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGl7ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxO2ZsZXgtc2hyaW5rOjE7ZmxleC1iYXNpczowO3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtd3JhcDpub3dyYXA7dGV4dC1hbGlnbjpjZW50ZXI7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2N1cnNvcjpwb2ludGVyfS5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpOm5vdCg6Zmlyc3QtY2hpbGQpPi5zZC1wcm9ncmVzcy1idXR0b25zX19jb25uZWN0b3J7ZGlzcGxheTpibG9jaztjb250ZW50OlwiXCI7aGVpZ2h0OmNhbGMoLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLWxpZ2h0LHJnYmEoMCwwLDAsLjQ1KSk7b3BhY2l0eTouNTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206Y2FsYygxLjEyNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3JpZ2h0OmNhbGMoNTAlICsgNHB4KTt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGkgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7Y29udGVudDphdHRyKGRhdGEtcGFnZS1udW1iZXIpO3dpZHRoOmNhbGMoMCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW46Y2FsYyguNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtib3JkZXI6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2FsaWduLXNlbGY6Y2VudGVyO3otaW5kZXg6MTtmb250LXNpemU6Y2FsYyguNzUgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KSkpO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDp2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSl9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGkgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbiAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fYnV0dG9uLWJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6Y2FsYygyLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7dG9wOmNhbGMoLS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bGVmdDpjYWxjKC0xLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKTt6LWluZGV4Oi0yfS5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOmNhbGMoLS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bGVmdDpjYWxjKC0uNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZGltLWZvcmVjb2xvci1saWdodCxyZ2JhKDAsMCwwLC40NSkpO29wYWNpdHk6LjU7ei1pbmRleDotMTtib3JkZXI6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGk6aG92ZXIgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbntjb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7cGFkZGluZzpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luOmNhbGMoLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBzb2xpZCB2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1mb3JlY29sb3IsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kLCNmZmYpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpob3ZlciAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fYnV0dG9uIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24tYmFja2dyb3VuZHtsZWZ0OmNhbGMoLS43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpOmhvdmVyIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbi1jb250ZW50e3RvcDpjYWxjKC0uNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtsZWZ0OmNhbGMoLS43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlcjpjYWxjKC43NSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO29wYWNpdHk6MX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdC1lbGVtZW50LS1wYXNzZWQ6bm90KDpmaXJzdC1jaGlsZCk+LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2Nvbm5lY3RvcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtvcGFjaXR5OjF9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QtZWxlbWVudC0tcGFzc2VkIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSl9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QtZWxlbWVudC0tcGFzc2VkIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbi1jb250ZW50e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO29wYWNpdHk6MX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdC1lbGVtZW50LS1jdXJyZW50Om5vdCg6Zmlyc3QtY2hpbGQpPi5zZC1wcm9ncmVzcy1idXR0b25zX19jb25uZWN0b3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3IsdmFyKC0tcHJpbWFyeSwjMTliMzk0KSk7b3BhY2l0eToxfS5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0LWVsZW1lbnQtLWN1cnJlbnQgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbntib3JkZXI6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtwYWRkaW5nOmNhbGMoLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW46Y2FsYyguMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdC1lbGVtZW50LS1jdXJyZW50IC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbi1iYWNrZ3JvdW5ke2xlZnQ6Y2FsYygtLjc1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QtZWxlbWVudC0tY3VycmVudCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fYnV0dG9uIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24tY29udGVudHtib3JkZXI6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpIHNvbGlkIHZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpO29wYWNpdHk6MX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fcGFnZS10aXRsZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOmNhbGMoLjc1ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtmbGV4LWdyb3c6MTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgY2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9uc19faGVhZGVyIC5zZC1wcm9ncmVzcy1idXR0b25zX19wYWdlLXRpdGxle21hcmdpbi1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2Zvb3RlciAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fcGFnZS10aXRsZXttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi1ib3R0b206MDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzowO2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWRpbS1mb3JlY29sb3ItbGlnaHQscmdiYSgwLDAsMCwuNDUpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tYm90dG9te3BhZGRpbmc6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSkgY2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLWJvdHRvbSAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tYm90dG9tIC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpOm5vdCg6Zmlyc3QtY2hpbGQpPi5zZC1wcm9ncmVzcy1idXR0b25zX19jb25uZWN0b3J7dG9wOmNhbGMoMS4xMjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tYm90dG9tIC5zZC1wcm9ncmVzcy1idXR0b25zX19wYWdlLXRpdGxle21hcmdpbi10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWJvdHRvbTowfS5zZC1wcm9ncmVzcy1idXR0b25zLS1ib3R0b20gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2hlYWRlciAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fcGFnZS10aXRsZXttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi1ib3R0b206MH0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tYm90dG9tIC5zZC1wcm9ncmVzcy1idXR0b25zX19mb290ZXIgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX3BhZ2UtdGl0bGV7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLW51bWJlcmVkIC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0LWNvbnRhaW5lcnttYXJnaW46MCBjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLW51bWJlcmVkIC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpOm5vdCg6Zmlyc3QtY2hpbGQpPi5zZC1wcm9ncmVzcy1idXR0b25zX19jb25uZWN0b3J7Ym90dG9tOmNhbGMoMi4xNzUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtyaWdodDpjYWxjKDUwJSArIDhweCk7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KX0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tbnVtYmVyZWQgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGkgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbnt3aWR0aDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLW51bWJlcmVkIC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpIC5zZC1wcm9ncmVzcy1idXR0b25zX19idXR0b24gLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2J1dHRvbi1iYWNrZ3JvdW5ke2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDQuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wcm9ncmVzcy1idXR0b25zLS1udW1iZXJlZCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpob3ZlciAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fYnV0dG9ue3BhZGRpbmc6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1wcm9ncmVzcy1idXR0b25zLS13aXRoLXRpdGxlcyAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdC1jb250YWluZXJ7bWFyZ2luOjB9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLW5vLXRpdGxlcyAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCwuc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdHtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt3aWR0aDoxMDAlfS5zZC1wcm9ncmVzcy1idXR0b25zLS1uby10aXRsZXMgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGksLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGl7ZmxleC1ncm93OjB9LnNkLXByb2dyZXNzLWJ1dHRvbnMtLWJvdHRvbS5zZC1wcm9ncmVzcy1idXR0b25zLS1udW1iZXJlZCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKT4uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fY29ubmVjdG9ye3RvcDpjYWxjKDIuMTc1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXByb2dyZXNzLWJ1dHRvbnN7cGFkZGluZzpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKSBjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tZml0LXN1cnZleS13aWR0aHttYXgtd2lkdGg6Y2FsYyg5MCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21hcmdpbjphdXRvfVtkaXI9cnRsXSAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKT4uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fY29ubmVjdG9yLFtzdHlsZSo9XCJkaXJlY3Rpb246IHJ0bFwiXSAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKT4uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fY29ubmVjdG9yLFtzdHlsZSo9XCJkaXJlY3Rpb246cnRsXCJdIC5zZC1wcm9ncmVzcy1idXR0b25zX19saXN0IGxpOm5vdCg6Zmlyc3QtY2hpbGQpPi5zZC1wcm9ncmVzcy1idXR0b25zX19jb25uZWN0b3J7cmlnaHQ6dW5zZXQ7bGVmdDpjYWxjKDUwJSArIDRweCl9W2Rpcj1ydGxdIC5zZC1wcm9ncmVzcy1idXR0b25zLS1udW1iZXJlZCAuc2QtcHJvZ3Jlc3MtYnV0dG9uc19fbGlzdCBsaTpub3QoOmZpcnN0LWNoaWxkKT4uc2QtcHJvZ3Jlc3MtYnV0dG9uc19fY29ubmVjdG9yLFtzdHlsZSo9XCJkaXJlY3Rpb246IHJ0bFwiXSAuc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tbnVtYmVyZWQgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGk6bm90KDpmaXJzdC1jaGlsZCk+LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2Nvbm5lY3Rvcixbc3R5bGUqPVwiZGlyZWN0aW9uOnJ0bFwiXSAuc2QtcHJvZ3Jlc3MtYnV0dG9ucy0tbnVtYmVyZWQgLnNkLXByb2dyZXNzLWJ1dHRvbnNfX2xpc3QgbGk6bm90KDpmaXJzdC1jaGlsZCk+LnNkLXByb2dyZXNzLWJ1dHRvbnNfX2Nvbm5lY3RvcntyaWdodDp1bnNldDtsZWZ0OmNhbGMoNTAlICsgOHB4KX0uc3ZfcHJvZ3Jlc3MtdG9je3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSk7bWF4LXdpZHRoOmNhbGMoNDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvcix2YXIoLS1iYWNrZ3JvdW5kLCNmZmYpKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOmNhbGMoMzIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3ZfcHJvZ3Jlc3MtdG9jIC5zdi1saXN0X19pdGVtLnN2LWxpc3RfX2l0ZW0tLXNlbGVjdGVkIC5zdi1saXN0X19pdGVtLWJvZHl7YmFja2dyb3VuZDp2YXIoLS1zanMtcHJpbWFyeS1iYWNrY29sb3ItbGlnaHQsdmFyKC0tcHJpbWFyeS1saWdodCxyZ2JhKDI1LDE3OSwxNDgsLjEpKSk7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLHZhcigtLWZvcmVncm91bmQsIzE2MTYxNikpO2ZvbnQtd2VpZ2h0OjQwMH0uc3ZfcHJvZ3Jlc3MtdG9jIC5zdi1saXN0X19pdGVtIHNwYW57d2hpdGUtc3BhY2U6YnJlYWstc3BhY2VzfS5zdl9wcm9ncmVzcy10b2MgLnN2LWxpc3RfX2l0ZW0tYm9keXtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKDIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1zanMtY29ybmVyLXJhZGl1cyw0cHgpO3BhZGRpbmctdG9wOmNhbGMoMS41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cGFkZGluZy1ib3R0b206Y2FsYygxLjUgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3ZfcHJvZ3Jlc3MtdG9jLS1sZWZ0e2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSl9LnN2X3Byb2dyZXNzLXRvYy0tcmlnaHR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHZhcigtLXNqcy1ib3JkZXItZGVmYXVsdCx2YXIoLS1ib3JkZXIsI2Q2ZDZkNikpfS5zdl9wcm9ncmVzcy10b2MtLW1vYmlsZXtwb3NpdGlvbjpmaXhlZDt0b3A6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cmlnaHQ6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7d2lkdGg6YXV0bzttaW4td2lkdGg6YXV0bztoZWlnaHQ6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO3otaW5kZXg6MTU7Ym9yZGVyLXJhZGl1czpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3ZfcHJvZ3Jlc3MtdG9jLS1tb2JpbGU+ZGl2e3dpZHRoOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2hlaWdodDpjYWxjKDMgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc3ZfcHJvZ3Jlc3MtdG9jLS1tb2JpbGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1iYWNrY29sb3ItZGltLHZhcigtLWJhY2tncm91bmQtZGltLCNmM2YzZjMpKX0uc2QtdGl0bGUrLnN2LWNvbXBvbmVudHMtcm93Pi5zdi1jb21wb25lbnRzLWNvbHVtbiAuc3ZfcHJvZ3Jlc3MtdG9jOm5vdCguc3ZfcHJvZ3Jlc3MtdG9jLS1tb2JpbGUpLC5zZC10aXRsZX4uc3YtY29tcG9uZW50cy1yb3c+LnN2LWNvbXBvbmVudHMtY29sdW1uIC5zdl9wcm9ncmVzcy10b2M6bm90KC5zdl9wcm9ncmVzcy10b2MtLW1vYmlsZSl7bWFyZ2luLXRvcDoycHh9LnN2X3Byb2dyZXNzLXRvYy5zdl9wcm9ncmVzcy10b2MtLXN0aWNreXtwb3NpdGlvbjpzdGlja3k7aGVpZ2h0OmF1dG87b3ZlcmZsb3cteTphdXRvO3RvcDowfS5zZC1saXN0e3BhZGRpbmctcmlnaHQ6Y2FsYyguNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctbGVmdDpjYWxjKC41ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLWxpc3RfX2l0ZW17cGFkZGluZzowfS5zZC1saXN0X19pdGVtLWJvZHl7cGFkZGluZy1ibG9jazpjYWxjKDEuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tc2pzLWNvcm5lci1yYWRpdXMsNHB4KTtmb250LXNpemU6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSl9LnNkLWxpc3RfX2l0ZW0uc2QtbGlzdF9faXRlbS0tZm9jdXNlZDpub3QoLnNkLWxpc3RfX2l0ZW0tLXNlbGVjdGVkKXtvdXRsaW5lOjB9LnNkLWxpc3RfX2l0ZW0uc2QtbGlzdF9faXRlbS0tZm9jdXNlZDpub3QoLnNkLWxpc3RfX2l0ZW0tLXNlbGVjdGVkKSAuc2QtbGlzdF9faXRlbS1ib2R5e3BhZGRpbmctYmxvY2s6Y2FsYygxLjI1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXRpbWVye3otaW5kZXg6Mjtwb3NpdGlvbjpmaXhlZDtib3R0b206Y2FsYyh2YXIoLS1zZC10aW1lci1zaXplKS8gMTQ0ICogMzIpO3JpZ2h0OnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDp2YXIoLS1zZC10aW1lci1zaXplKTtoZWlnaHQ6dmFyKC0tc2QtdGltZXItc2l6ZSk7bWFyZ2luLXJpZ2h0OmNhbGModmFyKC0tc2QtdGltZXItc2l6ZSkvIDE0NCAqIDMyKTtkaXNwbGF5OmZsZXg7Ym9yZGVyLXJhZGl1czoxMDAlO3BhZGRpbmc6Y2FsYyh2YXIoLS1zZC10aW1lci1zaXplKS8gMTQ0ICogOCk7Ym94LXNoYWRvdzp2YXIoLS1zanMtc2hhZG93LWxhcmdlLDAgOHB4IDE2cHggMCByZ2JhKDAsMCwwLC4xKSksdmFyKC0tc2pzLXNoYWRvdy1tZWRpdW0sMCAycHggNnB4IDAgcmdiYSgwLDAsMCwuMSkpO2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2QtdGltZXItLXRvcHt0b3A6Y2FsYyh2YXIoLS1zZC10aW1lci1zaXplKS8gMTQ0ICogMzIpO21hcmdpbi10b3A6Y2FsYyg0ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC0xICogdmFyKC0tc2QtdGltZXItc2l6ZSkpfS5zZC10aW1lci0tYm90dG9te2JvdHRvbTpjYWxjKHZhcigtLXNkLXRpbWVyLXNpemUpLyAxNDQgKiAzMik7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNkLXRpbWVyLXNpemUpICogLTEuMjIyMjIyMjIyMil9LnNkLXRpbWVyX19wcm9ncmVzc3stLXNkLXRpbWVyLXN0cm9rZS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQtZGltLCAjZjNmM2YzKTstLXNkLXRpbWVyLXN0cm9rZS1iYWNrZ3JvdW5kLXdpZHRoOjJweDtzdHJva2UtbGluZWNhcDpyb3VuZDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtzdHJva2U6dmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpO3N0cm9rZS1kYXNob2Zmc2V0OjA7ZmlsbDpub25lO3N0cm9rZS13aWR0aDo0cHh9LnNkLXRpbWVyX19wcm9ncmVzcy0tYW5pbWF0aW9ue3N0cm9rZS1kYXNob2Zmc2V0OjA7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCAxcyBsaW5lYXJ9LnNkLXRpbWVyX190ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwYWRkaW5nOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOmNhbGModmFyKC0tc2QtdGltZXItc2l6ZSkvIDE0NCAqIDMyKX0uc2QtdGltZXJfX3RleHQtLW1ham9ye2NvbG9yOnZhcigtLXNqcy1wcmltYXJ5LWJhY2tjb2xvcix2YXIoLS1wcmltYXJ5LCMxOWIzOTQpKTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOmNhbGModmFyKC0tc2QtdGltZXItc2l6ZSkvIDE0NCAqIDMyKX0uc2QtdGltZXJfX3RleHQtLW1pbm9ye2NvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWZvcmVjb2xvci1saWdodCx2YXIoLS1mb3JlZ3JvdW5kLWxpZ2h0LCM5MDkwOTApKTtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOmNhbGMoLjc1ICogKHZhcigtLXNqcy1mb250LXNpemUsMTZweCkpKX0uc3YtaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWhlYWRlci1iYWNrY29sb3IsdmFyKC0tc2pzLXByaW1hcnktYmFja2NvbG9yLHZhcigtLXByaW1hcnksIzE5YjM5NCkpKX0uc3YtaGVhZGVyX19vdmVybGFwe3BhZGRpbmctYm90dG9tOmNhbGMoOCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1oZWFkZXJfX292ZXJsYXB+ZGl2IC5zZC1ib2R5LC5zdi1oZWFkZXJfX292ZXJsYXB+ZGl2IC5zdi1ib2R5e21hcmdpbi10b3A6Y2FsYygtMTQgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc3YtaGVhZGVyX19vdmVybGFwe3BhZGRpbmctYm90dG9tOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zdi1oZWFkZXJfX292ZXJsYXB+ZGl2IC5zZC1ib2R5LC5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zdi1oZWFkZXJfX292ZXJsYXB+ZGl2IC5zdi1ib2R5e21hcmdpbi10b3A6Y2FsYygtNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1oZWFkZXJfX292ZXJsYXAuc3YtaGVhZGVyX193aXRob3V0LWJhY2tncm91bmR7bWFyZ2luLWJvdHRvbTowO3BhZGRpbmctYm90dG9tOjB9LnN2LWhlYWRlcl9fb3ZlcmxhcC5zdi1oZWFkZXJfX3dpdGhvdXQtYmFja2dyb3VuZH5kaXYgLnNkLWJvZHksLnN2LWhlYWRlcl9fb3ZlcmxhcC5zdi1oZWFkZXJfX3dpdGhvdXQtYmFja2dyb3VuZH5kaXYgLnN2LWJvZHl7bWFyZ2luLXRvcDowfS5zdi1oZWFkZXJfX3dpdGhvdXQtYmFja2dyb3VuZCAuc3YtaGVhZGVyLS1tb2JpbGUsLnN2LWhlYWRlcl9fd2l0aG91dC1iYWNrZ3JvdW5kIC5zdi1oZWFkZXJfX2NvbnRlbnR7cGFkZGluZy1ib3R0b206MH0uc3YtaGVhZGVyX19jb250ZW50e3BhZGRpbmc6Y2FsYyg1ICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6Z3JpZDtnYXA6MDtncmlkLWF1dG8tY29sdW1uczoxZnIgMWZyIDFmcjtncmlkLWF1dG8tcm93czoxZnIgMWZyIDFmcn0uc3YtaGVhZGVyX19jb250ZW50LS1zdGF0aWN7bWF4LXdpZHRoOmNhbGMoOTAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5zdi1oZWFkZXJfX2JhY2tncm91bmQtaW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6Y2VudGVyfS5zdi1oZWFkZXJfX2JhY2tncm91bmQtaW1hZ2UtLWNvbnRhaW57YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5zdi1oZWFkZXJfX2NlbGx7cG9zaXRpb246cmVsYXRpdmV9LnN2LWhlYWRlcl9fY2VsbC1jb250ZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6bWF4LWNvbnRlbnQ7dG9wOjA7Ym90dG9tOjB9LnN2LWhlYWRlcl9fY2VsbC0tbGVmdCAuc3YtaGVhZGVyX19jZWxsLWNvbnRlbnR7bGVmdDowfS5zdi1oZWFkZXJfX2NlbGwtLWNlbnRlciAuc3YtaGVhZGVyX19jZWxsLWNvbnRlbnR7bWluLXdpZHRoOjEwMCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnN2LWhlYWRlcl9fY2VsbC0tcmlnaHQgLnN2LWhlYWRlcl9fY2VsbC1jb250ZW50e3JpZ2h0OjB9LnN2LWhlYWRlcl9fbG9nb3tkaXNwbGF5OmZsZXh9LnN2LWhlYWRlcl9fbG9nbyBpbWd7ZGlzcGxheTpibG9ja30uc3YtaGVhZGVyX190aXRsZXtkaXNwbGF5OmZsZXh9LnN2LWhlYWRlcl9fdGl0bGUgLnNkLXRpdGxley0taGVhZGVyLXRpdGxlLWZvbnQtc2l6ZTp2YXIoLS1zanMtZm9udC1oZWFkZXJ0aXRsZS1zaXplLCBjYWxjKDIgKiAodmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKSk7Zm9udC1zaXplOnZhcigtLWhlYWRlci10aXRsZS1mb250LXNpemUpO2xpbmUtaGVpZ2h0OmNhbGMoMS4yNSAqICh2YXIoLS1oZWFkZXItdGl0bGUtZm9udC1zaXplKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LWhlYWRlcnRpdGxlLWNvbG9yLHZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1oZWFkZXJ0aXRsZS1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1oZWFkZXJ0aXRsZS13ZWlnaHQsNzAwKTttYXJnaW46MH0uc3YtaGVhZGVyX19sb2dvfi5zdi1oZWFkZXJfX3RpdGxle21hcmdpbi10b3A6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnN2LWhlYWRlcl9fbG9nb34uc3YtaGVhZGVyX19kZXNjcmlwdGlvbnttYXJnaW4tdG9wOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zdi1oZWFkZXJfX3RpdGxlfi5zdi1oZWFkZXJfX2Rlc2NyaXB0aW9ue21hcmdpbi10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnN2LWhlYWRlcl9fZGVzY3JpcHRpb257ZGlzcGxheTpmbGV4fS5zdi1oZWFkZXJfX2Rlc2NyaXB0aW9uIC5zZC1kZXNjcmlwdGlvbnstLWhlYWRlci1kZXNjcmlwdGlvbi1mb250LXNpemU6dmFyKC0tc2pzLWZvbnQtaGVhZGVyZGVzY3JpcHRpb24tc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpO2ZvbnQtc2l6ZTp2YXIoLS1oZWFkZXItZGVzY3JpcHRpb24tZm9udC1zaXplKTtsaW5lLWhlaWdodDpjYWxjKDEuNSAqICh2YXIoLS1oZWFkZXItZGVzY3JpcHRpb24tZm9udC1zaXplKSkpO2NvbG9yOnZhcigtLXNqcy1mb250LWhlYWRlcmRlc2NyaXB0aW9uLWNvbG9yLHZhcigtLXNqcy1wcmltYXJ5LWZvcmVjb2xvcix2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQsI2ZmZikpKTtmb250LWZhbWlseTp2YXIoLS1zanMtZm9udC1oZWFkZXJkZXNjcmlwdGlvbi1mYW1pbHksdmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpKTtmb250LXdlaWdodDp2YXIoLS1zanMtZm9udC1oZWFkZXJkZXNjcmlwdGlvbi13ZWlnaHQsNjAwKTttYXJnaW46MH0uc3YtaGVhZGVyX19jb250ZW50IC5zZC1oZWFkZXJfX3RleHQgaDN7bWFyZ2luOjB9LnN2LWhlYWRlci0tbW9iaWxle3BhZGRpbmc6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5zdi1oZWFkZXItLW1vYmlsZSAuc3YtaGVhZGVyX19sb2dvIGltZ3ttYXgtd2lkdGg6MTAwJX0uc3YtaGVhZGVyX19iYWNrZ3JvdW5kLWNvbG9yLS1jdXN0b20gLnN2LWhlYWRlcl9fdGl0bGUgLnNkLXRpdGxlLC5zdi1oZWFkZXJfX2JhY2tncm91bmQtY29sb3ItLW5vbmUgLnN2LWhlYWRlcl9fdGl0bGUgLnNkLXRpdGxle2NvbG9yOnZhcigtLXNqcy1mb250LXBhZ2V0aXRsZS1jb2xvcix2YXIoLS1zanMtZ2VuZXJhbC1kaW0tZm9yZWNvbG9yLHJnYmEoMCwwLDAsLjkxKSkpfS5zdi1oZWFkZXJfX2JhY2tncm91bmQtY29sb3ItLWN1c3RvbSAuc3YtaGVhZGVyX19kZXNjcmlwdGlvbiAuc2QtZGVzY3JpcHRpb24sLnN2LWhlYWRlcl9fYmFja2dyb3VuZC1jb2xvci0tbm9uZSAuc3YtaGVhZGVyX19kZXNjcmlwdGlvbiAuc2QtZGVzY3JpcHRpb257LS1oZWFkZXItZGVzY3JpcHRpb24tZm9udC1zaXplOnZhcigtLXNqcy1mb250LWhlYWRlcmRlc2NyaXB0aW9uLXNpemUsIHZhcigtLXNqcy1mb250LXNpemUsIDE2cHgpKTtmb250LXNpemU6dmFyKC0taGVhZGVyLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7bGluZS1oZWlnaHQ6Y2FsYygxLjUgKiAodmFyKC0taGVhZGVyLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSkpKTtjb2xvcjp2YXIoLS1zanMtZm9udC1wYWdlZGVzY3JpcHRpb24tY29sb3IsdmFyKC0tc2pzLWdlbmVyYWwtZGltLWZvcmVjb2xvci1saWdodCxyZ2JhKDAsMCwwLC40NSkpKX1Aa2V5ZnJhbWVzIHJvdGF0aW9uQW5pbWF0aW9ue2Zyb217cm90YXRlOjBkZWd9dG97cm90YXRlOjM2MGRlZ319LnNkLWxvYWRpbmctaW5kaWNhdG9ye2hlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2QtbG9hZGluZy1pbmRpY2F0b3IgLnN2LXN2Zy1pY29ue2hlaWdodDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDYgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTthbmltYXRpb24tbmFtZTpyb3RhdGlvbkFuaW1hdGlvbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1kdXJhdGlvbjoxc30uc2QtY29tcG9uZW50cy1jb250YWluZXIsc3YtY29tcG9uZW50cy1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS5zdi1jb21wb25lbnRzLXJvd3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCV9LnN2LWNvbXBvbmVudHMtY29sdW1ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN2LWNvbXBvbmVudHMtY29sdW1uLS1leHBhbmRhYmxle2ZsZXgtZ3JvdzoxfS5zdi1jb21wb25lbnRzLXJvdz4uc3YtY29tcG9uZW50cy1jb2x1bW4tLWV4cGFuZGFibGV7d2lkdGg6MXB4fS5zanNfc3BfY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDoxMDAlfS5zanNfc3BfY29udHJvbHN7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowfS5zanNfc3BfY29udHJvbHM+YnV0dG9ue3VzZXItc2VsZWN0Om5vbmV9LnNqc19zcF9jb250YWluZXI+ZGl2PmNhbnZhczpmb2N1c3tvdXRsaW5lOjB9LnNqc19zcF9wbGFjZWhvbGRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zanNfc3BfY2FudmFze3Bvc2l0aW9uOnJlbGF0aXZlO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2t9LnNqc19zcF9fYmFja2dyb3VuZC1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7b2JqZWN0LWZpdDpjb3ZlcjttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zZC1yb290LW1vZGVybnstLXNkLWJhc2UtcGFkZGluZzpjYWxjKDUgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKTstLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZzpjYWxjKDQgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKTstLXNkLXBhZ2UtdmVydGljYWwtcGFkZGluZzpjYWxjKDMgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZXstLXNkLWJhc2UtcGFkZGluZzpjYWxjKDMgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKTstLXNkLWJhc2UtdmVydGljYWwtcGFkZGluZzpjYWxjKDIgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKTstLXNkLXBhZ2UtdmVydGljYWwtcGFkZGluZzpjYWxjKDIgKiB2YXIoLS1zanMtYmFzZS11bml0LCB2YXIoLS1iYXNlLXVuaXQsIDhweCkpKTstLXNqcy1tb2JpbGUtZm9udC1lZGl0b3Jmb250LXNpemU6TWF4KDE2cHgsIHZhcigtLXNqcy1mb250LWVkaXRvcmZvbnQtc2l6ZSwgdmFyKC0tc2pzLWZvbnQtc2l6ZSwgMTZweCkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtZWxlbWVudF9fbnVte2Zsb2F0Om5vbmU7bWFyZ2luLWlubGluZS1zdGFydDowO3dpZHRoOmF1dG87cGFkZGluZy1pbmxpbmUtc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6MH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtZWxlbWVudF9fbnVtK3NwYW57ZmxvYXQ6bm9uZTt3aWR0aDphdXRvfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1lbGVtZW50X190aXRsZS0tZXhwYW5kYWJsZTpiZWZvcmV7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoLTIuNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10aXRsZS5zZC1jb250YWluZXItbW9kZXJuX190aXRsZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLWhlYWRlcl9fdGV4dHttaW4td2lkdGg6MTAwJX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtcXVlc3Rpb24uc2QtcXVlc3Rpb24tLXRhYmxlPi5zZC1xdWVzdGlvbl9fY29udGVudHtwYWRkaW5nLXRvcDowOy0tYW5pbWF0aW9uLXBhZGRpbmctdG9wOjB9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXF1ZXN0aW9uLS1zY3JvbGwsLnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXF1ZXN0aW9uLS10YWJsZXtvdmVyZmxvdy14OnZpc2libGV9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLnNkLW1hdHJpeF9fY2VsbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbC5zZC1tYXRyaXhfX2NlbGwgLnNkLW1hdHJpeF9fcmVzcG9uc2l2ZS10aXRsZXttYXJnaW4tbGVmdDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTt0ZXh0LWFsaWduOmxlZnR9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLnNkLW1hdHJpeF9fY2VsbDpmaXJzdC1vZi10eXBle3BhZGRpbmctdG9wOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO3BhZGRpbmctYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZSB0aGVhZHtkaXNwbGF5Om5vbmV9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlIHRye2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLW1hdHJpeF9fdGFibGUgLnNkLXRhYmxlX19yb3d7cGFkZGluZy10b3A6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19yb3d7cGFkZGluZy10b3A6Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19yb3ctLWV4cGFuZGVkIC5zZC10YWJsZV9fY2VsbC1hY3Rpb24tLXNob3ctZGV0YWlsLW1vYmlsZXtkaXNwbGF5Om5vbmV9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlOm5vdCguc2QtbWF0cml4X190YWJsZSkgLnNkLXRhYmxlX19yb3d7cGFkZGluZy1ib3R0b206Y2FsYygyICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlOm5vdCguc2QtbWF0cml4X190YWJsZSkgLnNkLXRhYmxlX19yb3cuc2QtdGFibGVfX3Jvdy0taGFzLWVuZC1hY3Rpb25ze3BhZGRpbmctYm90dG9tOmNhbGMoMCAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZTpub3QoLnNkLW1hdHJpeF9fdGFibGUpIHRyOm5vdCguc2QtdGFibGVfX3Jvdy0taGFzLWVuZC1hY3Rpb25zKXtwYWRkaW5nLWJvdHRvbTpjYWxjKDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGU6bm90KC5zZC1tYXRyaXhfX3RhYmxlKSB0cjpub3QoLnNkLXRhYmxlX19yb3ctLWhhcy1lbmQtYWN0aW9ucyk6bm90KDpsYXN0LW9mLXR5cGUpe3BhZGRpbmctYm90dG9tOmNhbGMoMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZTpub3QoLnNkLW1hdHJpeF9fdGFibGUpIHRyOm5vdCguc2QtdGFibGVfX3Jvdy0taGFzLWVuZC1hY3Rpb25zKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVye2JvdHRvbTpjYWxjKC0zICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlOm5vdCguc2QtbWF0cml4X190YWJsZSkgdGZvb3QgdHI6OmJlZm9yZSwuc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGU6bm90KC5zZC1tYXRyaXhfX3RhYmxlKSB0cjpub3QoLnNkLXRhYmxlX19yb3ctLWV4cGFuZGVkKTo6YWZ0ZXJ7ei1pbmRleDoxMjtjb250ZW50OlwiIFwiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1ib3JkZXItbGlnaHQsdmFyKC0tYm9yZGVyLWxpZ2h0LCNlYWVhZWEpKTtsZWZ0OmNhbGMoLTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKTt3aWR0aDpjYWxjKDEwMCUgKyA0ICogdmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpO3otaW5kZXg6MTJ9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlOm5vdCguc2QtbWF0cml4X190YWJsZSkgdHI6bm90KC5zZC10YWJsZV9fcm93LS1leHBhbmRlZCk6OmFmdGVye2JvdHRvbTowfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZTpub3QoLnNkLW1hdHJpeF9fdGFibGUpIHRmb290IHRye3BhZGRpbmctdG9wOmNhbGMoNSAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZTpub3QoLnNkLW1hdHJpeF9fdGFibGUpIHRmb290IHRyOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGU6bm90KC5zZC10YWJsZS0taGFzLWZvb3RlcikgLnNkLXRhYmxlX19yb3c6bGFzdC1vZi10eXBlIC5zZC10YWJsZV9fY2VsbC1hY3Rpb24tLXJlbW92ZS1yb3csLnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlOm5vdCguc2QtdGFibGUtLWhhcy1mb290ZXIpIC5zZC10YWJsZV9fcm93Omxhc3Qtb2YtdHlwZSAuc2QtdGFibGVfX2NlbGwtYWN0aW9uLS1zaG93LWRldGFpbC1tb2JpbGV7bWFyZ2luLWJvdHRvbTpjYWxjKC0yICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLW1hdHJpeF9fbGFiZWx7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxse2JvcmRlci10b3A6bm9uZTtib3JkZXItYm90dG9tOm5vbmU7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7dGV4dC1hbGlnbjpsZWZ0fS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbHttYXJnaW4tdG9wOmNhbGMoMiAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbC0tZXJyb3J7bWFyZ2luLXRvcDpjYWxjKDAgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwtLWVycm9yLnNkLXRhYmxlX19jZWxsLS1lcnJvci1ib3R0b20gLnNkLXF1ZXN0aW9uX19lcmJveHttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1tYXRyaXhfX2NlbGwsLnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDowfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbC0tZm9vdGVyOm5vdCguc2QtcXVlc3Rpb24tLWFuc3dlcmVkKXtkaXNwbGF5Om5vbmV9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19yZXNwb25zaXZlLXRpdGxle3BhZGRpbmctYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO2ZvbnQtd2VpZ2h0OjYwMDtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246bGVmdH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX3Jlc3BvbnNpdmUtdGl0bGUgLnN2LXN0cmluZy12aWV3ZXJ7d2hpdGUtc3BhY2U6bm9ybWFsfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZS0tbm8taGVhZGVye3BhZGRpbmctdG9wOjB9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlLS1uby1oZWFkZXIgLnNkLXRhYmxlX19yZXNwb25zaXZlLXRpdGxle2Rpc3BsYXk6bm9uZX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwtLWRldGFpbC1wYW5lbHtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7Ym9yZGVyLXRvcDowO2JvcmRlci1ib3R0b206MH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwtLWRldGFpbC1wYW5lbCAuc2QtcGFuZWxfX2NvbnRlbnR7cGFkZGluZy10b3A6MH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwuc2QtdGFibGVfX2NlbGwtLWFjdGlvbnN7d2lkdGg6YXV0bzttYXJnaW4tdG9wOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpO21hcmdpbi1ib3R0b206dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLnNkLXRhYmxlX19jZWxsLS1hY3Rpb25zIC5zZC1hY3Rpb24tYmFye21hcmdpbi1yaWdodDpjYWxjKC0zICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWxlZnQ6Y2FsYygtMyAqICh2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKSkpO2JhY2tncm91bmQ6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLHZhcigtLWJhY2tncm91bmQsI2ZmZikpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbC5zZC10YWJsZV9fY2VsbC0tYWN0aW9ucyAjc2hvdy1kZXRhaWwtbW9iaWxle2ZsZXgtZ3JvdzoxfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1hY3Rpb24uc2QtYWN0aW9uLnNkLW1hdHJpeGR5bmFtaWNfX3JlbW92ZS1idG57b3BhY2l0eToxO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgY2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLWFjdGlvbi5zZC1hY3Rpb24uc2QtbWF0cml4ZHluYW1pY19fcmVtb3ZlLWJ0biAuc2QtYWN0aW9uX19pY29ue2Rpc3BsYXk6bm9uZX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtYWN0aW9uLnNkLWFjdGlvbi5zZC1tYXRyaXhkeW5hbWljX19yZW1vdmUtYnRuOmFmdGVye2NvbnRlbnQ6YXR0cih0aXRsZSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLW1hdHJpeGR5bmFtaWNfX2Zvb3RlcntwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTttYXJnaW4tYm90dG9tOmNhbGMoLTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwtLWZvb3Rlci10b3RhbDpub3QoLnNkLW1hdHJpeF9fY2VsbCksLnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLS1yb3ctdGV4dDpub3QoLnNkLW1hdHJpeF9fY2VsbCl7Y29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC1tYXRyaXhkcm9wZG93bi5zZC10YWJsZSB0cjo6YWZ0ZXJ7Ym90dG9tOmNhbGMoLTIgKiAodmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtbWF0cml4ZHJvcGRvd24uc2QtdGFibGUgdHI6bGFzdC1jaGlsZDphZnRlcntjb250ZW50Om5vbmV9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLnNkLXRhYmxlX19jZWxsLS1lcnJvci10b3B7bWFyZ2luLXRvcDowfS5zZC1yb290LW1vZGVybi5zZC1yb290LW1vZGVybi0tbW9iaWxlIC5zZC10YWJsZV9fY2VsbC0tZXJyb3ItdG9wOmZpcnN0LW9mLXR5cGV+LnNkLXRhYmxlX19jZWxsOm50aC1vZi10eXBlKDIpe21hcmdpbi10b3A6MH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc2QtdGFibGVfX2NlbGwtLWVycm9yLXRvcCAuc2QtcXVlc3Rpb25fX2VyYm94e21hcmdpbi10b3A6Y2FsYygzICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC0xICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSl9LnNkLXJvb3QtbW9kZXJuLnNkLXJvb3QtbW9kZXJuLS1tb2JpbGUgLnNkLXRhYmxlX19jZWxsLS1lcnJvci10b3A6Zmlyc3Qtb2YtdHlwZSAuc2QtcXVlc3Rpb25fX2VyYm94e21hcmdpbi10b3A6Y2FsYygwICogKHZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpKSk7bWFyZ2luLWJvdHRvbTp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZSAuc3YtcmFua2luZy1pdGVtX19pY29uLWNvbnRhaW5lcnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5zZC1tdWx0aXBsZXRleHQtLW1vYmlsZSAuc2QtbXVsdGlwbGV0ZXh0X19jZWxse2Rpc3BsYXk6YmxvY2t9LnNkLW11bHRpcGxldGV4dC0tbW9iaWxlIC5zZC1tdWx0aXBsZXRleHRfX2NlbGw6bm90KDpmaXJzdC1vZi10eXBlKXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9fY2VsbCA6bm90KDpsYXN0LW9mLXR5cGUpe3BhZGRpbmctYm90dG9tOnZhcigtLXNqcy1iYXNlLXVuaXQsdmFyKC0tYmFzZS11bml0LDhweCkpfS5zZC1tdWx0aXBsZXRleHQtLW1vYmlsZSAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKTtwYWRkaW5nLWJvdHRvbTp2YXIoLS1zanMtYmFzZS11bml0LHZhcigtLWJhc2UtdW5pdCw4cHgpKX0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZXttYXgtd2lkdGg6bm9uZTtib3JkZXItcmlnaHQ6bm9uZTt3aWR0aDoxMDAlO3BhZGRpbmc6dmFyKC0tc2pzLWJhc2UtdW5pdCx2YXIoLS1iYXNlLXVuaXQsOHB4KSkgMDttYXJnaW46MH0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbXtmbGV4LWJhc2lzOjA7bWluLXdpZHRoOjB9LnNkLW11bHRpcGxldGV4dC0tbW9iaWxlIC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0gLnNkLWlucHV0e3BhZGRpbmc6MDttYXJnaW46MH0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFsbG93LWZvY3VzOmZvY3VzLXdpdGhpbiwuc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFuc3dlcmVke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFsbG93LWZvY3VzOmZvY3VzLXdpdGhpbiAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLXRpdGxlLC5zZC1tdWx0aXBsZXRleHQtLW1vYmlsZSAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lci0tYW5zd2VyZWQgLnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZXtwYWRkaW5nOjB9LnNkLW11bHRpcGxldGV4dC0tbW9iaWxlIC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0tY29udGFpbmVyLS1hbGxvdy1mb2N1czpmb2N1cy13aXRoaW4gLnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZSBzcGFuLC5zZC1tdWx0aXBsZXRleHQtLW1vYmlsZSAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lci0tYW5zd2VyZWQgLnNkLW11bHRpcGxldGV4dF9faXRlbS10aXRsZSBzcGFue2ZvbnQtc2l6ZTpjYWxjKC43NSAqICh2YXIoLS1zanMtZm9udC1zaXplLDE2cHgpKSk7bGluZS1oZWlnaHQ6dmFyKC0tc2pzLWZvbnQtc2l6ZSwxNnB4KX0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFsbG93LWZvY3VzOmZvY3VzLXdpdGhpbiAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLC5zZC1tdWx0aXBsZXRleHQtLW1vYmlsZSAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtLWNvbnRhaW5lci0tYW5zd2VyZWQgLnNkLW11bHRpcGxldGV4dF9faXRlbXtmbGV4LWJhc2lzOmF1dG87bWluLXdpZHRoOmF1dG87d2lkdGg6MTAwJX0uc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFsbG93LWZvY3VzOmZvY3VzLXdpdGhpbiAuc2QtbXVsdGlwbGV0ZXh0X19pdGVtIC5zZC1pbnB1dCwuc2QtbXVsdGlwbGV0ZXh0LS1tb2JpbGUgLnNkLW11bHRpcGxldGV4dF9faXRlbS1jb250YWluZXItLWFuc3dlcmVkIC5zZC1tdWx0aXBsZXRleHRfX2l0ZW0gLnNkLWlucHV0e3dpZHRoOjEwMCV9LnNkLXNlbGVjdGJhc2UtLW1vYmlsZSAuc2Qtc2VsZWN0YmFzZS0tbXVsdGktY29sdW1ue2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2Qtc2VsZWN0YmFzZS0tbW9iaWxlIC5zZC1zZWxlY3RiYXNlLS1tdWx0aS1jb2x1bW4gLnNkLXNlbGVjdGJhc2VfX2NvbHVtbjpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctcmlnaHQ6MH1ib2R5ey0tc3YtZGVmYXVsdFYyLW1hcms6dHJ1ZX0uc2Qtcm9vdC1tb2Rlcm57LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstLXNkLW1vYmlsZS13aWR0aDo2MDBweDstLXNkLXRpbWVyLXNpemU6Y2FsYygxOCAqIHZhcigtLXNqcy1iYXNlLXVuaXQsIHZhcigtLWJhc2UtdW5pdCwgOHB4KSkpO3dpZHRoOjEwMCU7Zm9udC1mYW1pbHk6dmFyKC0tc2pzLWZvbnQtZmFtaWx5LHZhcigtLWZvbnQtZmFtaWx5LHZhcigtLXNqcy1kZWZhdWx0LWZvbnQtZmFtaWx5KSkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtYmFja2NvbG9yLWRpbSx2YXIoLS1iYWNrZ3JvdW5kLWRpbSwjZjNmM2YzKSk7cG9zaXRpb246cmVsYXRpdmV9QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpey5zZC1yb290LW1vZGVybiwuc2Qtcm9vdC1tb2Rlcm4gKntzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSkgdHJhbnNwYXJlbnR9fS5zZC1yb290LW1vZGVybiA6Oi13ZWJraXQtc2Nyb2xsYmFyLC5zZC1yb290LW1vZGVybjo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5zZC1yb290LW1vZGVybiA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC5zZC1yb290LW1vZGVybjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyLXJhZGl1czozMnB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSl9LnNkLXJvb3QtbW9kZXJuIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssLnNkLXJvb3QtbW9kZXJuOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOjAgMH0uc2Qtcm9vdC1tb2Rlcm4gOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlciwuc2Qtcm9vdC1tb2Rlcm46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtZ2VuZXJhbC1mb3JlY29sb3ItbGlnaHQsdmFyKC0tZm9yZWdyb3VuZC1saWdodCwjOTA5MDkwKSl9LnNkLXJvb3QtbW9kZXJuIGZvcm17cG9zaXRpb246cmVsYXRpdmV9LnNkLXJvb3QtbW9kZXJuLS1hbmltYXRpb24tZGlzYWJsZWQgKnstd2Via2l0LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW1vei10cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50Oy1vLXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH0uc2Qtcm9vdC1tb2Rlcm4uc2Qtcm9vdC1tb2Rlcm4tLWZ1bGwtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0uc2Qtcm9vdC1tb2Rlcm4tLW1vYmlsZXstLXNkLXRpbWVyLXNpemU6Y2FsYyg5ICogdmFyKC0tc2pzLWJhc2UtdW5pdCwgdmFyKC0tYmFzZS11bml0LCA4cHgpKSl9LnNkLXJvb3QtbW9kZXJuX193cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5zZC1yb290LW1vZGVybl9fd3JhcHBlci0taGFzLWltYWdle21pbi1oZWlnaHQ6MTAwJX0uc2Qtcm9vdC1tb2Rlcm4tLWZ1bGwtY29udGFpbmVyIC5zZC1yb290LW1vZGVybl9fd3JhcHBlci0tZml4ZWR7cG9zaXRpb246c3RhdGljO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnNkLXJvb3QtbW9kZXJuLS1mdWxsLWNvbnRhaW5lciAuc2Qtcm9vdC1tb2Rlcm5fX3dyYXBwZXItLWZpeGVkIGZvcm17b3ZlcmZsb3c6YXV0bzt3aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX1ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCl7LnN2LXBvcHVwIC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnQsLnN2LXBvcHVwIC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnQgKntzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6dmFyKC0tc2pzLWJvcmRlci1kZWZhdWx0LHZhcigtLWJvcmRlciwjZDZkNmQ2KSkgdHJhbnNwYXJlbnR9fS5zdi1wb3B1cCAuc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50IDo6LXdlYmtpdC1zY3JvbGxiYXIsLnN2LXBvcHVwIC5zdi1wb3B1cF9fc2Nyb2xsaW5nLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uc3YtcG9wdXAgLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLC5zdi1wb3B1cCAuc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXItcmFkaXVzOjMycHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zanMtYm9yZGVyLWRlZmF1bHQsdmFyKC0tYm9yZGVyLCNkNmQ2ZDYpKX0uc3YtcG9wdXAgLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLC5zdi1wb3B1cCAuc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOjAgMH0uc3YtcG9wdXAgLnN2LXBvcHVwX19zY3JvbGxpbmctY29udGVudCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLC5zdi1wb3B1cCAuc3YtcG9wdXBfX3Njcm9sbGluZy1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcntib3JkZXI6MnB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2pzLWdlbmVyYWwtZm9yZWNvbG9yLWxpZ2h0LHZhcigtLWZvcmVncm91bmQtbGlnaHQsIzkwOTA5MCkpfS5zdi1jb21wb25lbnRzLWNvbnRhaW5lci1jZW50ZXJ7cG9zaXRpb246c3RpY2t5O3RvcDowfS5zdi1yb290LS1zdGlja3ktdG9wIC5zdi1jb21wb25lbnRzLWNvbnRhaW5lci1jZW50ZXJ7ei1pbmRleDoxNX0uc3Ytcm9vdC0tc3RpY2t5LXRvcC5zZC1wcm9ncmVzcy0tcGFnZXMgLnN2LWNvbXBvbmVudHMtY29udGFpbmVyLWNlbnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNqcy1nZW5lcmFsLWJhY2tjb2xvci1kaW0sdmFyKC0tYmFja2dyb3VuZC1kaW0sI2YzZjNmMykpO2JveC1zaGFkb3c6dmFyKC0tc2pzLXNoYWRvdy1tZWRpdW0sMCAycHggNnB4IDAgcmdiYSgwLDAsMCwuMSkpLHZhcigtLXNqcy1zaGFkb3ctc21hbGwsMCAxcHggMnB4IDAgcmdiYSgwLDAsMCwuMTUpKX0iXX0= */",":host {\n --wes-c-icon-color: #fff;\n --fab-bottom: 26px;\n --xsf-ai12z-zindex-isexpanded-10: 20020;\n --ai-toolbar-icon-color: #2095ae;\n --xsf-ai12z-zindex-0: 19979;\n --xsf-ai12z-zindex-10: 19989;\n --xsf-ai12z-fab-bottom: 26px;\n}\n\n.modal-overlay {\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: var(--xsf-ai12z-zindex-0);\n background-color: #2e2e2e99;\n}\n\n.layout {\n pointer-events: none;\n position: fixed;\n inset: 0;\n height: 100dvh;\n width: 99dvw;\n justify-content: flex-end;\n grid-template-rows: auto 1fr auto;\n /* grid-template-columns: 0fr minmax(340px, 375px) 0fr; */\n grid-template-areas:\n \"left toolbar right\"\n \"left main right\"\n \"left footer right\";\n padding-top: 96px;\n /* transition: 0.3s ease-out; */\n transition-property: grid-template-columns, padding-top;\n z-index: 19979;\n}\n\n.layout.is-open .modal {\n pointer-events: auto;\n}\n\n.layout.is-expanded ai12z-bot {\n pointer-events: auto;\n}\n\n.layout.is-open.is-expanded .modal {\n border-top-left-radius: 0.75rem;\n border-top-right-radius: 0.75rem;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n z-index: var(--xsf-ai12z-zindex-isexpanded-10);\n}\n\n.layout.is-open .user-input-fieldset {\n /* --tw-bg-opacity: 1; */\n /* background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); */\n background-image: none;\n padding: 0px;\n}\n\n.layout.is-expanded .user-input-fieldset {\n border-top-left-radius: 0.75rem;\n border-top-right-radius: 0.75rem;\n}\n\n.layout.is-open .grow-wrap > .textarea,\n.layout.is-open .grow-wrap > button,\n.layout.is-open .grow-wrap:after {\n /* --tw-border-opacity: 1; */\n border-color: var(--ai12zBot-v2-searchbar-open-border-color);\n /* border-color: rgb(124 122 127 / var(--tw-border-opacity, 1)); */\n /* padding-left: 16px; */\n}\n\n.layout.is-expanded .grow-wrap:after {\n display: none;\n}\n\n.layout.is-open.is-expanded .user-input {\n z-index: var(--xsf-ai12z-zindex-isexpanded-10);\n}\n\n.layout.is-open .user-input {\n z-index: var(--xsf-ai12z-zindex-10);\n}\n\n/* .layout.is-open .agent-input-icon {\n opacity: 0;\n} */\n\n.text-body2 {\n font-size: 16px;\n line-height: 1.5;\n letter-spacing: -0.12px;\n font-weight: 400;\n}\n\n.modal-toolbar-icon {\n color: var(--ai12zBot-v2-toolbar-icon-color, inherit);\n width: 1rem;\n height: 1rem;\n}\n\n.search-flex {\n flex: 1 1 0%;\n}\n\n.show-grid {\n display: grid;\n}\n\n.hide-title {\n padding: 0px;\n opacity: 0;\n height: 0px;\n}\n\n.user-msg {\n background-color: var(--ai12zBot-v2-user-bubble-background);\n color: var(--ai12zBot-v2-user-bubble-font-color);\n}\n\n.text-body4 {\n font-size: var(--ai12zBot-v2-timestamp-font-size);\n line-height: 1.5;\n letter-spacing: 0.03px;\n font-weight: 400;\n color: var(--ai12zBot-v2-timestamp-font-color);\n}\n\n.isContent {\n background: var(--ai12zBot-v2-content-background);\n padding: 10px;\n}\n\n.default-botAvatar {\n color: var(--ai12zBot-v2-default-avatar-color);\n}\n\n.searchform {\n opacity: 1;\n transform: none;\n}\n.user-input {\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n max-width: 840px;\n min-width: 340px;\n grid-area: footer;\n}\n\n.main {\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n max-width: 840px;\n min-width: 340px;\n}\n\n.heading {\n color: var(--ai12zBot-v2-title-color);\n}\n\n.dropdown-item-button {\n display: flex;\n width: 100%;\n cursor: pointer;\n align-items: center;\n -moz-column-gap: 8px;\n column-gap: 8px;\n border-radius: 0.25rem;\n /* border-width: 2px; */\n /* border-style: solid; */\n --tw-border-opacity: 1;\n /* border-color: rgb(255 255 255 / var(--tw-border-opacity, 1)); */\n --tw-bg-opacity: 1;\n background-color: var(--ai12zBot-v2-dropdown-bgcolor);\n\n /* background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)); */\n padding: 8px 24px;\n font-weight: 500;\n --tw-text-opacity: 1;\n /* color: rgb(1 118 211 / var(--tw-text-opacity, 1)); */\n color: var(--ai12zBot-v2-dropdown-font-color);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 75ms;\n}\n\n.helptext {\n padding: 0px;\n opacity: 0;\n height: 0px;\n}\n\n.minimize-input {\n transform: translateY(calc(-100% - 4px));\n}\n.ai-text-caption {\n font-size: 12px;\n line-height: 1.5;\n letter-spacing: 0.2px;\n font-weight: 400;\n}\n/* .user-input-fieldset, */\n.fab > button {\n background: var(--ai12zBot-v2-fab-button-background);\n /* background: linear-gradient(to right, #2095ae, oklch(0.64 0.11 202.5)); */\n}\n\n.user-input-fieldset {\n background: var(--ai12zBot-v2-searchbar-background);\n}\n.ai-minimize-icon svg {\n fill: currentColor;\n height: 1em;\n width: 1em;\n}\n\n.hide-form {\n opacity: 0;\n transform: none;\n}\n\n.show-form {\n opacity: 1;\n transform: none;\n}\n\n.ai-minimize-icon {\n color: var(--wes-c-icon-color, inherit);\n}\n\n.fab {\n bottom: var(--fab-bottom, 30px);\n}\n\n.text-body1 {\n font-size: var(--ai12zBot-v2-title-font-size);\n line-height: 1.5;\n letter-spacing: -0.12px;\n font-weight: 400;\n}\n\n#message-submit {\n margin-right: 6px;\n margin-bottom: 7px;\n background-color: var(--ai12zBot-v2-searchbar-submit-bgcolor);\n}\n\n.ai-icon {\n color: var(--ai12zBot-v2-searchbar-submit-color);\n font-size: 24px;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.plus-icon {\n color: var(--ai12zBot-v2-searchbar-plus-icon-color);\n font-size: 24px;\n width: 1.5rem;\n height: 1.5rem;\n}\n\n.grow-wrap > .textarea,\n.grow-wrap:after {\n min-height: 48px;\n align-content: center;\n /* border-radius: 0.5rem; */\n border-radius: 1.5rem;\n border-width: 1px;\n border-style: solid;\n /* border-color: transparent; */\n border: 1px solid var(--ai12zBot-v2-searchbar-border-color);\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n padding: 8px 48px;\n text-indent: 2px;\n font-size: 16px;\n line-height: 1.5;\n letter-spacing: -0.12px;\n font-weight: 400;\n --tw-text-opacity: 1;\n color: rgb(46 46 46 / var(--tw-text-opacity, 1));\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n --tw-ring-inset: inset;\n --tw-ring-offset-width: 0px;\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 0.15s;\n}\n.grow-wrap > .textarea,\n.grow-wrap:after {\n grid-area: 1 / 1 / 2 / 2;\n}\n\n.modal {\n position: relative;\n grid-column: span 1 / span 1;\n grid-column-start: 2;\n grid-row: span 3 / span 3;\n grid-row-start: 1;\n display: grid;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n background-position: center;\n box-shadow:\n 0 16px 32px -4px #18181829,\n 0 12px 24px -4px #18181814;\n background-image: var(--ai12zBot-v2-modal-backgroundImage);\n /* background-image: linear-gradient(248.35deg, #2095ae -11.3%, #f4f4fe 16.44%, #fff 28.3% 72.47%, #ebeafe 89.69%, #c0e1eb 101.94%); */\n /* background-image: linear-gradient(248.35deg, #2095ae -11.3%, #f4f4fe 16.44%, #fff 28.3%, #e6f7fb 89.69%, #c0e1eb 101.94%); */\n /* background-image: linear-gradient(248.35deg, #86cdff -11.3%, #f4f4fe 16.44%, #fff 28.3% 72.47%, #ebeafe 89.69%, #bec6f7 101.94%); */\n background-repeat: no-repeat;\n background-size: 100vw 100vh;\n grid-template-columns: subgrid;\n grid-template-rows: subgrid;\n z-index: var(--xsf-ai12z-zindex-10);\n transition: 0.3sease-out;\n transition-property: grid-template-columns;\n}\n\n/* Add a smooth transition to opacity and transform */\n.dropdown-menu {\n pointer-events: none;\n opacity: 0;\n z-index: 10;\n background-color: var(--ai12zBot-v2-dropdown-bgcolor);\n transform: translateY(-10px); /* Start from a higher position */\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n}\n/* When the dropdown is open, the opacity and position should change */\n.dropdown-menu.show {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0); /* Slide down to its normal position */\n background-color: var(--ai12zBot-v2-dropdown-bgcolor);\n}\n\n.dropdown-item {\n background-color: var(--ai12zBot-v2-dropdown-bgcolor);\n}\n\n.ai12z-link {\n color: var(--ai12zBot-v2-link-color);\n text-decoration: underline;\n}\n\n.ai12z-link:hover {\n color: var(--ai12zBot-v2-link-hover-color);\n text-decoration: underline;\n}\n\n.toolbar {\n height: 52px;\n grid-area: toolbar;\n}\n\n@media (min-width: 1024px) {\n .modal {\n background-size: 80vw 100vh;\n }\n}\n\n@media (min-width: 1024px) {\n .layout.is-expanded {\n grid-template-columns: 1fr minmax(340px, 80dvw) 1fr !important;\n }\n}\n\n@media (min-width: 768px) {\n .layout.is-expanded {\n -moz-column-gap: 48px;\n column-gap: 48px;\n }\n}\n\n@media (max-width: 767px) {\n .layout.is-open {\n /* padding-top: 48px !important; */\n padding-top: 0px !important;\n grid-template-columns: 0fr minmax(340px, 1fr) 0fr !important;\n }\n}\n@media (max-width: 767px) {\n .fab {\n right: 30px;\n bottom: var(--xsf-ai12z-fab-bottom, 26px);\n }\n}\n","import { Component, h, State, Prop, Element, Watch, Listen, Event, EventEmitter, Method, Env } from \"@stencil/core\"\nimport { io, Socket } from \"socket.io-client\"\nimport showdown from \"showdown\"\nimport { getEndpoint, generateUUID, updateButtonEvents, getConfig, getOrCreateVisitorId, getComponentByControlType, splitContent, getMetaInfo } from \"../../utils/utils\"\nimport Handlebars from \"handlebars\"\nimport { setBotElement } from \"../../utils/global-store\"\n// import $ from \"jquery\"\n// import { Model } from \"survey-jquery\"\n\n@Component({\n tag: \"ai12z-bot\",\n styleUrls: [\"./ai12z-bot.css\", \"../../global/tailwind.min.css\", \"../../global/survey.min.css\", \"./ai12z-chatbot.css\"],\n shadow: true,\n})\nexport class Ai12zBot {\n private cdnPath: string = \"https://cdn.ai12z.net/assets/bot\"\n @Element() el: HTMLElement\n\n @Prop({ reflect: true }) dataKey: string = Env.DATA_KEY || \"\"\n @Prop({ reflect: true }) dataMode: string = Env.DATA_MODE || \"prod\" // \"local\", \"dev\", or \"prod\"\n @Prop({ reflect: true }) configId: string\n @Prop({ reflect: true }) dataAttributes: string\n @Prop() excludeTags: Array<string> = []\n @Prop() includeTags: Array<string> = []\n\n // @Prop({ reflect: true }) type: string = \"v1\"\n\n @State() botSettings: any = {}\n @State() isOpen: boolean = false\n @State() isListening: boolean = false\n @State() showSubmit: boolean = false\n @State() hideAllButtons: boolean = false\n @State() showMenu: boolean = false\n\n @State() botlogo: string = this.cdnPath + `/v1/ai12z-bot/img/chatbot.jpg`\n @State() botAvatar: string = this.cdnPath + `/v1/ai12z-bot/img/chatbot.jpg`\n\n @State() showWelcomeScreen: boolean = true\n @State() hideInput: boolean = false\n @State() showHistory: boolean = false\n @State() conversationId: string = \"\"\n @State() surveyDomId: string = \"\"\n @State() searchResults: any = {}\n @State() buttons: Array<{ id: string; label: string }> = []\n @State() currentDomId: string = \"\"\n @State() messages: { text: string; isUser: boolean; id: string; timestamp: string; images: any[]; conversationId: string; formModel: any; surveyDomId: string }[] = [\n // { text: this.welcomeMessage === \"\" ? \"Hi there! How can I assist you today\" : this.welcomeMessage, isUser: false, id: `chatbot-${generateUUID()}`, timestamp: \"\", images: [] },\n ]\n @State() questionCounter: number = 0\n @State() isChatOpen: boolean = false\n @State() visitorID: string\n @State() timestamp: string = \"\"\n @State() rowCount = 1\n @State() isBot = false\n @State() conversationHistory = []\n @State() isMenuOpen: boolean = false\n @State() query: string = \"\"\n @State() scriptArray = []\n private timer: NodeJS.Timeout\n private inputEl!: HTMLTextAreaElement\n private uploadElem: HTMLInputElement\n private followUpElem: HTMLInputElement\n menuRef: HTMLElement\n menuV2Ref: HTMLElement\n plusIconRef: HTMLElement\n private socket: Socket\n imagesBase64List = []\n\n /* new ersion of bot */\n @State() isAnimated = false\n @State() isMinimized = false\n @State() isOpened = false\n @State() isContent = false\n @State() isExpanded = true\n @State() isToggled = false\n @State() showTextarea: boolean = false // Changing this will trigger a re-render\n @State() showPrivacy: boolean = false // Changing this will trigger a re-render\n @Event({\n eventName: \"messageSent\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n messageSent: EventEmitter\n @Event({\n eventName: \"messageReceived\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n messageReceived: EventEmitter\n\n @Event({\n eventName: \"close\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n close: EventEmitter\n\n @Event({\n eventName: \"open\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n open: EventEmitter\n\n @Event({\n eventName: \"minimize\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n minimize: EventEmitter\n\n @Event({\n eventName: \"errored\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n errored: EventEmitter\n\n @Event({\n eventName: \"formSubmitted\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n formSubmitted!: EventEmitter<any>\n\n toggleBox = () => {\n this.isOpen = !this.isOpen\n }\n\n toggleBot = e => {\n e.stopPropagation()\n this.isToggled = !this.isToggled\n }\n toggleListening = () => {\n this.isListening = !this.isListening\n }\n\n @Listen(\"buttonClick\")\n buttonClickHandler(event: CustomEvent) {\n this.showWelcomeScreen = false\n this.hideInput = false\n this.query = event.detail.action\n this.handleSend(event.detail.label)\n }\n\n @Listen(\"sendQueryToBot\")\n sendQueryToBotHandler(event: CustomEvent) {\n this.showWelcomeScreen = false\n this.hideInput = false\n this.query = event.detail\n this.handleSend(event.detail)\n }\n\n @Listen(\"deleteChatHistory\")\n deleteChatHistoryHandler(event: CustomEvent) {\n const chatHistory = this.getConversationHistory()\n const updatedHistory = chatHistory.filter(item => item.conversationId !== event.detail.conversationId)\n localStorage.setItem(`${this.visitorID}`, JSON.stringify(updatedHistory))\n this.conversationHistory = updatedHistory\n }\n\n @Listen(\"chatClick\")\n chatClickHandler(event: CustomEvent) {\n this.messages = event.detail\n this.showWelcomeScreen = false\n this.hideInput = false\n this.showHistory = false\n }\n\n @Listen(\"openChat\")\n openChatHandler(_event: CustomEvent) {\n // console.log(\"open chat event\", event)\n this.isChatOpen = true\n }\n\n @Listen(\"formComplete\")\n formSubmittedHandler(event: CustomEvent) {\n event.stopPropagation()\n // console.log(\"Form submitted\", event.detail)\n this.formSubmitted.emit(event.detail.data)\n }\n\n handleClickOutside(event: MouseEvent) {\n // Check if the clicked target is outside the menu\n const target = event.target as HTMLElement\n if (this.isMenuOpen && this.menuRef && !this.menuRef.contains(target)) {\n this.isMenuOpen = false\n }\n\n if (this.isToggled && this.menuV2Ref && !this.menuV2Ref.contains(target)) {\n // console.log(\"Clicked outside the menu, closing...\")\n this.isToggled = false\n }\n\n if (this.showMenu && this.plusIconRef && !this.plusIconRef.contains(target)) {\n this.showMenu = false\n }\n }\n\n componentDidLoad() {\n setBotElement(this.el) // register globally\n // console.log(\"Bot Settings getAssetPath\")\n this.updateScreenSize()\n window.addEventListener(\"resize\", this.updateScreenSize.bind(this))\n // debugger;\n document.addEventListener(\"click\", this.handleClickOutside.bind(this))\n // Load jQuery first\n const jQueryScript = document.createElement(\"script\")\n jQueryScript.src = this.cdnPath + \"/v1/jquery.min.js\" // Path relative to the www root\n jQueryScript.onload = () => {\n // console.log(\"jQuery loaded\")\n // Load the script that loads and exposes SurveyJS\n const loadSurveyScript = document.createElement(\"script\")\n loadSurveyScript.src = this.cdnPath + \"/v1/survey.jquery.min.js\" // Path relative to the www root\n loadSurveyScript.onload = () => {\n // console.log(\"SurveyJS loaded and SurveyModel exposed\")\n }\n loadSurveyScript.onerror = err => {\n console.error(\"Failed to load Forms:\", err)\n }\n document.head.appendChild(loadSurveyScript)\n this.el.shadowRoot.appendChild(loadSurveyScript)\n }\n jQueryScript.onerror = err => {\n console.error(\"Failed to load jQuery:\", err)\n }\n document.head.appendChild(jQueryScript)\n\n const ai12zHeading = document.createElement(\"script\")\n ai12zHeading.text = `\n var ai12zChat = window[\"ai12z\"] = {}\n `\n document.head.appendChild(ai12zHeading)\n this.el.shadowRoot.appendChild(ai12zHeading)\n this.el.shadowRoot.appendChild(jQueryScript)\n }\n\n disconnectedCallback() {\n // Remove event listener when component is destroyed\n document.removeEventListener(\"click\", this.handleClickOutside.bind(this))\n\n window.removeEventListener(\"resize\", this.updateScreenSize)\n\n // clearInterval(this.timer)\n }\n\n checkHistory = () => {\n const storedMessages = localStorage.getItem(`${this.visitorID}`)\n let chatHistory = []\n if (storedMessages) {\n chatHistory = JSON.parse(storedMessages)\n chatHistory = chatHistory.filter(item => item.projectId === this.botSettings?.pId)\n }\n this.showHistory = chatHistory.length > 0 && this.botSettings.botVersion === \"v1\" ? true : false\n // console.log(\"showHistory\", this.showHistory)\n }\n\n @Method()\n async sendMessage(message: string, displayText?: string) {\n this.query = message\n if (!this.isChatOpen) {\n this.isChatOpen = true\n }\n\n this.handleSend(displayText ?? message)\n }\n\n @Method()\n async sendQuery(query: string) {\n console.warn(\"sendQuery mehtdod is deprecated, use sendMessage instead\")\n this.handleSend(query)\n }\n\n @Method()\n async sendJSON(jsonData: Object, displayText: string) {\n this.query = JSON.stringify(jsonData)\n if (!this.isChatOpen) {\n this.isChatOpen = true\n }\n this.handleSend(displayText)\n }\n\n setLocalData() {\n const botData = { qCounter: this.questionCounter }\n localStorage.setItem(`ai12z-bot-data`, JSON.stringify(botData))\n }\n\n @Method()\n async action(type) {\n // this.isChatOpen = !this.isChatOpen\n if (type === \"open\") {\n this.isChatOpen = true\n this.open.emit(\"open\")\n this.setLocalData()\n }\n if (type === \"minimize\") {\n this.isChatOpen = false\n this.minimize.emit(\"minimize\")\n }\n const getVisitorKey = localStorage.getItem(`ai12z-visitorId`)\n this.visitorID = \"ai12z-\" + getVisitorKey\n this.checkHistory()\n if (type === \"close\") {\n this.isChatOpen = false\n this.searchResults = {}\n this.surveyDomId = \"\"\n this.showWelcomeScreen = true\n this.showHistory = this.messages.length > 0 ? true : false\n // this.saveConversation()\n this.messages = [...[]]\n this.conversationId = \"\"\n this.close.emit(\"close\")\n clearInterval(this.timer)\n }\n }\n\n private get mainObject(): any {\n if (!window[\"ai12z\"]) {\n window[\"ai12z\"] = {}\n }\n return window[\"ai12z\"]\n }\n\n toggleMenu(e) {\n e.stopPropagation()\n this.isMenuOpen = !this.isMenuOpen\n }\n\n adjustHeight() {\n if (this.inputEl) {\n this.inputEl.style.height = \"auto\"\n this.inputEl.style.height = this.inputEl.scrollHeight + \"px\"\n }\n }\n\n connectedCallback() {\n this.configBot()\n }\n\n componentWillLoad() {\n this.checkCustomSlot()\n this.timestamp = this.formatTimestamp(new Date())\n this.socketConnection()\n\n // this.configBot()\n }\n\n configBot() {\n const payload = {\n apiKey: this.dataKey,\n configId: this.configId,\n configType: \"bot\",\n }\n getConfig(payload, this.dataMode).then(data => {\n if (data) {\n // console.log(\"Bot Settings\", data)\n this.botSettings = data\n if (!this.botSettings.botVersion) {\n this.botSettings.botVersion = \"v1\" // Default to v1 if not specified\n }\n if (this.botSettings.botVersion === \"v2\" && !this.botSettings.isExpanded) {\n // this.botSettings.imageUpload = true\n this.isMinimized = true\n }\n if (!this.botSettings.linkTarget) {\n this.botSettings.linkTarget = \"_blank\"\n }\n if (this.botSettings.botVersion === \"v2\") {\n const getVisitorKey = localStorage.getItem(`ai12z-visitorId`)\n this.visitorID = \"ai12z-\" + getVisitorKey\n this.toggleTextarea()\n }\n if (this.botSettings.privacyTemplate && this.botSettings.privacyTemplate !== \"\") {\n this.showPrivacy = true\n }\n }\n })\n }\n\n checkCustomSlot() {\n const slot = this.el[\"children\"]\n let slotHasContent = slot && slot.length > 0\n if (slotHasContent) {\n for (var i = 0; i < slot.length; i++) {\n if (slot[i].tagName.toLowerCase() === \"bot\" || slot[i].getAttribute(\"slot\") === \"bot\") {\n this.isBot = true\n }\n }\n }\n }\n\n @Watch(\"currentDomId\")\n watchStateHandler(_newValue: boolean, _oldValue: boolean) {\n this.socket.off(\"response\")\n this.socket.off(\"end_response\")\n // console.log(\"currentDomId changed\")\n // console.log(\"questionCounter\", this.botSettings.maxQuestion)\n if (this.botSettings.maxQuestion === undefined || this.botSettings.maxQuestion === 0) {\n this.botSettings.maxQuestion = 0\n this.handleBotMessages()\n } else if (this.questionCounter <= this.botSettings.maxQuestion) {\n this.handleBotMessages()\n }\n }\n\n generateMessage() {\n return {\n text: \"\",\n isUser: false,\n id: `chatbot-${generateUUID()}`,\n timestamp: new Date().toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" }),\n images: [],\n conversationId: this.conversationId,\n formModel: {},\n surveyDomId: \"\",\n }\n }\n hideSpinner(chatData) {\n // Logic for hiding the spinner (assumed to return a Promise if async is needed)\n return new Promise(resolve => {\n const renderedBubble = this.el.shadowRoot.querySelector(`#${chatData.id}`)\n if (renderedBubble) {\n ;(renderedBubble.querySelector(\"#spinner\") as HTMLElement).style.display = \"none\"\n }\n // Assume some async action here, then resolve\n console.log(\"Spinner hidden\")\n resolve(true)\n })\n }\n\n async processTemplateData(chatData, data) {\n // Step 1: Hide the spinner\n await this.hideSpinner(chatData)\n let handletemplate\n let currentResponse\n\n if (data.controlType === \"template\") {\n const currentTemplate = data.controlData?.template\n currentResponse = data.controlData?.data.source\n handletemplate = Handlebars.compile(currentTemplate[0]?.content)\n }\n\n // Step 3: Append the control element if both it and the target container exist\n const targetContainer = this.el.shadowRoot.querySelector(`#${chatData.id}`)\n if (targetContainer) {\n Handlebars.registerHelper(\"processArray\", function (array) {\n if (!Array.isArray(array)) {\n return \"\" // Return an empty string if the input is not an array\n }\n return new Handlebars.SafeString(JSON.stringify(array))\n })\n // console.log(\"data\", data.controlData)\n if (data.controlData && data.controlData.data) {\n data.controlData.data.msgId = chatData.id //`msg-${chatData.id}`\n }\n targetContainer.innerHTML = handletemplate({ msgId: `${chatData.id}`, source: currentResponse, llm: data.controlData.data.llm })\n targetContainer.classList.add(\"overflow-x-auto\")\n targetContainer.classList.add(\"scroll-nobar\")\n setTimeout(() => {\n this.renderTemplateData(chatData)\n }, 1000)\n // Step 4: Wait until the control element is rendered\n await this.waitForElementRender(targetContainer as HTMLElement)\n\n // Step 5: Retrieve the content and emit the updated data\n chatData.text = targetContainer.innerHTML\n\n this.messages = this.messages.map(item => (item.id === chatData.id ? chatData : item))\n }\n }\n\n renderTemplateData(chatData) {\n // console.log(`#${chatData.id}`)\n\n if (!this.mainObject[`${chatData.id}`]) {\n this.mainObject[`${chatData.id}`] = {}\n }\n const scripts = this.el.shadowRoot.querySelectorAll(`#${chatData.id} script`)\n scripts.forEach(script => {\n const newScript = document.createElement(\"script\")\n newScript.type = \"text/javascript\"\n\n // If it's an external script (with `src`), copy the `src` attribute\n if ((script as HTMLScriptElement).src) {\n newScript.src = (script as HTMLScriptElement).src\n } else {\n // If it's inline, set the JavaScript code as the content of the new <script> element\n // newScript.innerHTML = `const source = ${JSON.stringify(chatData.data.source)};\\n`\n // newScript.innerHTML += `const llm = ${JSON.stringify(chatData.data.llm)};\\n`\n newScript.innerHTML += script.innerHTML\n }\n // Append the new script to the document body to execute it\n if (!newScript.src) {\n this.scriptArray.push(newScript)\n }\n script.parentNode?.removeChild(script)\n\n // Optionally, remove the old <script> tag from the DOM\n\n if (newScript.src && !this.el.shadowRoot.querySelector(`script[src=\"${newScript.src}\"]`)) {\n this.el.shadowRoot.appendChild(newScript)\n } else {\n const scriptDom = this.el.shadowRoot.querySelector(`script[type=\"text/javascript\"]`)\n // console.log(\"scriptDom\", scriptDom)\n // console.log(\"newScript\", newScript)\n if (scriptDom && !newScript.src) {\n console.log(\"scriptDom\", this.scriptArray)\n if (this.scriptArray.length > 0) {\n this.scriptArray.forEach(script => {\n if (!script.src && script.innerHTML !== newScript.innerHTML) {\n this.el.shadowRoot.appendChild(newScript)\n }\n })\n } else {\n // console.log(\"ele\", this.el.shadowRoot)\n this.el.shadowRoot.appendChild(newScript)\n }\n // this.el.shadowRoot.appendChild(newScript)\n } else {\n // console.log(\"scriptDom not found\")\n this.el.shadowRoot.appendChild(newScript)\n }\n }\n })\n // Step 4: Ensure Google Charts is loaded, then call the `drawGoogleChart` function\n setTimeout(() => {\n this.initializeScript(chatData.id)\n }, 1000)\n }\n\n initializeScript(id) {\n if (typeof this.mainObject[`${id}`][\"onLoadCallback\"] === \"function\") {\n this.mainObject[`${id}`][\"onLoadCallback\"]()\n }\n // window[\"google\"]?.charts.load(\"current\", { packages: [\"corechart\"] })\n // window[\"google\"]?.charts.setOnLoadCallback()\n }\n\n async processChatData(chatData, data) {\n // Step 1: Hide the spinner\n await this.hideSpinner(chatData)\n\n // Step 2: Get the control element based on control type\n const controlElement = getComponentByControlType(data, \"bot\")\n\n const tmpControlType = data.controlData?.data?.source?.carousel?.type\n\n // Step 3: Append the control element if both it and the target container exist\n const targetContainer = this.el.shadowRoot.querySelector(`#${chatData.id}`)\n if (targetContainer && controlElement) {\n // console.log(\"controlElement\", targetContainer)\n targetContainer.appendChild(controlElement)\n targetContainer[\"style\"].width = \"98%\"\n\n if (tmpControlType === \"custom\" || tmpControlType === \"list\" || tmpControlType === \"slider\") {\n targetContainer.classList.remove(\"p-2.5\")\n targetContainer.classList.add(\"p-0\")\n targetContainer.classList.add(\"md:p-2.5\")\n }\n\n // Step 4: Wait until the control element is rendered\n await this.waitForElementRender(targetContainer as HTMLElement)\n\n // Step 5: Retrieve the content and emit the updated data\n chatData.text = targetContainer.innerHTML\n this.messages = this.messages.map(item => (item.id === chatData.id ? chatData : item))\n }\n }\n\n // Helper function to detect when the target element is rendered\n waitForElementRender(element: HTMLElement) {\n return new Promise<void>(resolve => {\n const observer = new MutationObserver(_mutations => {\n resolve()\n observer.disconnect()\n })\n observer.observe(element, { childList: true, subtree: true })\n })\n }\n\n handleBotMessages() {\n // const domId = this.messages[this.messages.length - 1].id\n this.socket.on(\"response\", event => {\n this.handleMessage(event.data, `${this.currentDomId}`) // Use the unique ID to handle messages\n })\n this.socket.on(\"end_response\", data => {\n // console.log(\"end_response\")\n this.messageReceived.emit(data)\n const converter = new showdown.Converter()\n let finalHtml = converter.makeHtml(data.answer)\n // document.getElementById(\"messageId\").innerHTML = finalHtml;\n finalHtml = this.updateAnchorTags(finalHtml)\n finalHtml = updateButtonEvents(finalHtml).body\n this.buttons = updateButtonEvents(finalHtml).buttons\n this.searchResults = data\n this.conversationId = data.conversationId\n if (finalHtml.indexOf(\"[control\") > -1) {\n // console.log(\"controlType\", data.controlType)\n switch (data.controlType) {\n case \"form\":\n this.surveyDomId = \"surveyElement-\" + generateUUID()\n finalHtml = finalHtml.replace(RegExp(/\\[[^>]*]/gm), `<div id=${this.surveyDomId} style=\"width:${this.botSettings.botVersion === \"v1\" ? \"330px\" : \"100%\"}\"></div>`)\n // finalHtml = `<div id=${this.surveyDomId} style=\"width:${this.botSettings.botVersion === \"v1\" ? \"330px\" : \"100%\"}\"></div>`\n this.el.shadowRoot.querySelector(`#${this.currentDomId}`).innerHTML = finalHtml\n this.updateConversations(finalHtml, data)\n break\n case \"carousel\":\n case \"list\":\n case \"template\":\n if (data.controlType && data.controlType !== null) {\n const newContent = splitContent(finalHtml)\n finalHtml = newContent.before\n this.updateConversations(finalHtml, data)\n const newMessage = this.generateMessage()\n this.messages = [...this.messages, newMessage]\n setTimeout(() => {\n data.controlType === \"template\" ? this.processTemplateData(newMessage, data) : this.processChatData(newMessage, data)\n }, 2000)\n if (newContent.after.trim().length > 0) {\n const afterMessage = this.generateMessage()\n afterMessage.text = newContent.after\n this.messages = [...this.messages, afterMessage]\n setTimeout(() => {\n if (afterMessage.id) {\n const bubbleEle = this.el.shadowRoot.querySelector(`#${afterMessage.id}`)\n if (bubbleEle && (bubbleEle.querySelector(\"#spinner\") as HTMLElement)) {\n ;(bubbleEle.querySelector(\"#spinner\") as HTMLElement).style.display = \"none\"\n }\n }\n }, 500)\n }\n }\n }\n } else {\n const currentDomElement = this.el.shadowRoot.querySelector(`#${this.currentDomId}`) as HTMLElement\n if (currentDomElement) {\n currentDomElement.style.width = \"auto\"\n }\n this.el.shadowRoot.querySelector(`#${this.currentDomId}`).innerHTML = finalHtml\n this.updateConversations(finalHtml, data)\n }\n\n this.saveConversation()\n this.scrollToBottom()\n })\n }\n\n updateAnchorTags(htmlContent: string) {\n const parser = new DOMParser()\n const doc = parser.parseFromString(htmlContent, \"text/html\")\n const anchorTags = Array.from(doc.querySelectorAll(\"a\"))\n\n anchorTags.forEach(anchor => {\n // console.log(\"targtet\")\n anchor.setAttribute(\"target\", this.botSettings.linkTarget)\n anchor.classList.add(\"ai12z-link\")\n })\n\n // Update the htmlContent with the modified anchor tags\n return doc.body.innerHTML\n }\n\n updateConversations(finalHtml, data) {\n const updatedmsg = {\n id: this.currentDomId,\n text: finalHtml,\n isUser: false,\n timestamp: new Date().toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" }),\n images: [],\n conversationId: this.conversationId,\n formModel: data.controlData?.data?.source ?? data.controlData ?? {},\n surveyDomId: this.surveyDomId,\n }\n this.addEventListeners(`#${this.currentDomId}`)\n this.messages = this.messages.map(item => (item.id === this.currentDomId ? updatedmsg : item))\n }\n\n @Watch(\"surveyDomId\")\n watchSurveyDomIdHandler(_newValue: boolean, _oldValue: boolean) {\n setTimeout(() => {\n this.renderSurvey(this.searchResults)\n }, 1000)\n }\n\n alertResults = sender => {\n console.log(\"Survey results\", sender.keyName)\n this.formSubmitted.emit(sender.data)\n // console.log(\"survey results\", sender.jsonObj)\n // const results = JSON.stringify(sender.data)\n let results = JSON.parse(JSON.stringify(sender.data))\n results.description = sender.jsonObj.description ? sender.jsonObj.description : \"\"\n const completedHtml = sender.jsonObj.completedHtml ? sender.jsonObj.completedHtml : \"Thank You!\"\n const completeText = sender.jsonObj.completeText ? sender.jsonObj.completeText : \"Submit\"\n // Object.assign(results.data, { description: sender.jsonObj.description })\n // console.log(\"sender\", results)\n // const query = \"Here is the data you requested:\" + results\n // this.query = query\n const domId = sender.implementor.renderedElement.id\n // const surveyDataId = domId.replace(\"surveyElement-\", \"\")\n // sender.implementor.renderedElement.innerHTML = `<p><b>Thank you</b></p>`\n // console.log(\"messages\", this.messages)\n const idx = this.messages.findIndex(item => item.surveyDomId === domId)\n this.currentDomId = this.messages[idx].id\n this.surveyDomId = domId\n this.updateConversations(completedHtml, {})\n const jsonData = `This JSON is from a form submission [${sender.keyName}]: ${JSON.stringify(results, null, 2)}. There is no need to show the form [${sender.keyName}] again.`\n // this.sendJSON(results, completeText)\n this.sendMessage(jsonData, completeText)\n // const lastMessage = {\n // text: \"\",\n // isUser: false,\n // id: `chatbot-${generateUUID()}`,\n // timestamp: new Date().toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" }),\n // images: [],\n // conversationId: this.conversationId,\n // formModel: {},\n // surveyDomId: \"\",\n // }\n // this.currentDomId = lastMessage.id\n // this.surveyDomId = domId\n\n // if (idx === -1) {\n // // this.handleSubmit(null, query, \"survey-res\", false, null)\n // this.messages.splice(this.messages.length - 1, 1)\n // this.messages = [...this.messages, lastMessage]\n // } else {\n // this.messages = [...this.messages.slice(0, idx), lastMessage, ...this.messages.slice(idx + 1)]\n // }\n\n this.scrollToBottom()\n // this.invokeSocket()\n }\n\n renderSurvey = chat => {\n window[\"Survey\"].Serializer.addProperty(\"survey\", {\n name: \"keyName:string\",\n visible: false, // makes it appear in Survey Creator\n category: \"general\", // optional, groups the property\n default: \"\", // optional default value\n })\n let formModel = chat.controlData?.data?.source ?? chat.controlData\n if (typeof formModel === \"object\") {\n formModel.keyName = chat.keyName\n } else {\n formModel = JSON.parse(formModel)\n formModel.keyName = chat.keyName\n }\n const survey = new window[\"Survey\"].Model(formModel)\n if (this.surveyDomId === \"\") {\n return\n }\n const domELe = this.el.shadowRoot?.querySelector(`#${this.surveyDomId}`)\n if (domELe) {\n window[\"jQuery\"](domELe).Survey({ model: survey })\n } else {\n console.error(\"Survey Element not found\")\n }\n\n if (typeof chat.controlData?.data?.source == \"object\" || typeof chat.controlData === \"object\") {\n this.hideCompleteButton(chat.controlData?.data?.source ?? chat.controlData, survey)\n } else {\n this.hideCompleteButton(JSON.parse(chat.controlData?.data?.source ?? chat.controlData), survey)\n }\n // survey.completeText = \"Submit\"\n survey.showCompletedPage = false\n if (chat.theme) {\n survey.applyTheme(JSON.parse(chat.theme))\n }\n survey.onAfterRenderQuestionInput.add(function (_, options) {\n options.htmlElement.name = options.question.name\n })\n survey.onComplete.add(this.alertResults)\n }\n\n hideCompleteButton(form: any, survey) {\n survey.completeText = form?.completeText ?? \"Submit\"\n survey.completedHTML = form?.completedHtml ?? \"Thank You!\"\n if (form && form.pages) {\n form.pages.forEach((page: any) => {\n if (page.elements) {\n // console.log(\"page.elements\", page.elements)\n page.elements.forEach((element: any) => {\n if (element.type === \"html\") {\n if (element.html.includes(\"<iframe\")) {\n survey.showCompleteButton = false\n }\n }\n })\n }\n })\n }\n }\n\n addEventListeners(msgId) {\n const container = this.el.shadowRoot.querySelector(msgId)\n if (container) {\n this.buttons.forEach(button => {\n const buttonElement = container.querySelector(`#${button.id}`)\n if (buttonElement) {\n const originalCall = buttonElement.getAttribute(\"data-original-click\") // Ensure type safety or handle undefined\n if (!originalCall) {\n console.warn(`originalClickHandler is not defined for button with id: ${button.id}`)\n return\n }\n\n // const match = originalCall.match(/^(\\w+)\\s*\\((.*)\\)$/) // extract name and arguments\n const match = originalCall.match(/^(\\w+)\\s*\\(([\\s\\S]*)\\)$/)\n // console.log(\"match\", match)\n if (match) {\n const funcName = match[1]\n const argsStr = match[2] // string of args, like \"'param', true\"\n const self = this\n const func = self[funcName]\n buttonElement.addEventListener(\"click\", () => {\n if (typeof this[funcName] === \"function\") {\n try {\n // console.log(\"args\", argsStr)\n // Evaluate arguments safely\n switch (funcName) {\n case \"sendQuery\":\n const args = eval(`[${argsStr}]`)\n args[0] = button.label\n func.apply(self, args)\n break\n case \"sendMessage\":\n const msgArgs = eval(`[${argsStr}]`)\n func.apply(self, msgArgs)\n break\n\n case \"sendJSON\":\n const tempArgs = argsStr.match(/^'(.*?)'\\s*,\\s*'(.*?)'$/)\n\n const rawObjectStr = tempArgs[1]\n .replace(/([{,])\\s*(\\w+)\\s*:/g, '$1\"$2\":') // quote keys\n .replace(/:\\s*'([^']*)'/g, ': \"$1\"') // convert single to double quotes\n\n const parsedObj = JSON.parse(rawObjectStr)\n const jsonArgs = [parsedObj, tempArgs[2]]\n func.apply(self, jsonArgs)\n break\n }\n } catch (err) {\n console.error(`Error invoking ${funcName}:`, err)\n }\n } else {\n console.warn(`Function ${funcName} not found on this`)\n }\n })\n // buttonElement.addEventListener(\"click\", this.handleButtonClick(button.label))\n }\n }\n })\n }\n }\n\n handleButtonClick = (label: string) => (_event: Event) => {\n this.inputEl.value = label\n this.handleSend(label)\n }\n\n formatTimestamp(date: Date) {\n const today = new Date()\n today.setHours(0, 0, 0, 0)\n const options: Intl.DateTimeFormatOptions = {\n weekday: \"long\",\n hour: \"numeric\",\n minute: \"numeric\",\n hour12: true,\n }\n const formatter = new Intl.DateTimeFormat(\"en-US\", options)\n const formattedDate = formatter.format(date)\n\n if (date.toDateString() === today.toDateString()) {\n return `Today, ${formattedDate.split(\" \").slice(1).join(\" \")}`\n } else {\n return formattedDate\n }\n }\n\n async socketConnection() {\n let a12z_EndPoint = getEndpoint(this.dataMode)\n this.socket = io(a12z_EndPoint, { transports: [\"polling\"] })\n\n await new Promise<void>(resolve => {\n this.socket.on(\"connect\", () => {\n console.log(\"Connected to Socket.IO server\")\n resolve()\n })\n })\n\n this.socket.on(\"connect_error\", error => {\n this.errored.emit(error)\n console.error(\"Connection error:\", error)\n })\n\n this.socket.on(\"disconnect\", () => {\n console.log(\"Disconnected from Socket.IO server\")\n this.socket.off(\"response\")\n // Handle disconnection if needed\n })\n }\n\n invokeSocket() {\n const data = {\n apiKey: this.dataKey,\n query: this.query !== \"\" ? this.query : this.inputEl.value,\n conversationId: this.conversationId,\n event: \"evaluate_query\",\n attributes: this.dataAttributes,\n excludeTags: this.excludeTags,\n includeTags: this.includeTags,\n base64Images: this.imagesBase64List,\n meta: getMetaInfo(),\n }\n this.messageSent.emit(JSON.stringify(data))\n\n this.socket.emit(\"evaluate_query\", data, (error, _response) => {\n if (error) {\n this.errored.emit(error)\n console.error(\"Error:\", error)\n } else {\n // console.log(\"Response:\", response)\n }\n })\n // this.currentDomId = this.messages[this.messages.length - 1].id\n if (this.inputEl) {\n this.inputEl.value = \"\"\n this.adjustHeight()\n }\n this.query = \"\"\n }\n\n handleMessage = (data, aiMessageId) => {\n const converter = new showdown.Converter()\n // const aiMessageBubble = document.getElementById(aiMessageId);\n\n const aiMessageBubble = this.el.shadowRoot?.querySelector(`#${aiMessageId}`)\n // const aiMessageBubble = this.element.querySelector('.ai12z-suggest-answer')\n\n if (!aiMessageBubble) {\n console.error(`Message bubble with ID ${aiMessageId} not found.`)\n return\n }\n var bubbleText = aiMessageBubble.getAttribute(\"data-bubbleText\") || \"\"\n bubbleText = bubbleText + data\n aiMessageBubble.setAttribute(\"data-bubbleText\", bubbleText)\n\n // Assuming data is a string containing the message content\n let html = converter.makeHtml(bubbleText)\n // Append new content to the existing chat bubble\n aiMessageBubble.innerHTML = html\n }\n\n onInputChange(files: FileList) {\n if (files.length > 0) {\n this.uploadImage(files)\n } else {\n console.error(files.length === 0 || \"NO IMAGE UPLOADED\")\n return false\n }\n }\n\n private uploadImage(files) {\n let newFile\n let tempImagesBase64List = []\n if (files.length > 10 || this.imagesBase64List.length > 10) {\n // this.showErrorMessage = true\n // console.error('You can upload a maximum of 10 images once at a time.');\n return\n }\n for (var i = 0; i < files.length; i++) {\n const mimeType = files[i].type\n if (!mimeType.match(\"image.*\")) {\n console.log(\"file is not an image\")\n return\n }\n newFile = files[i]\n\n const reader = new FileReader()\n\n reader.onload = () => {\n const imagePreviewContainer: HTMLElement = this.el.shadowRoot.querySelector(\"#previewContainer\")\n\n const base64Image = `data:${mimeType};base64,${(reader.result as string).split(\",\")[1]}`\n this.imagesBase64List.push(base64Image)\n tempImagesBase64List = this.imagesBase64List\n\n const newDiv = document.createElement(\"div\")\n newDiv.classList.add(\"image-Container\")\n newDiv.classList.add(\"sc-ai12z-input-form\")\n\n const img = document.createElement(\"img\")\n img.setAttribute(\"src\", reader.result as string)\n img.style.width = \"70px\"\n img.style.height = \"50px\"\n\n const deleteSpan = document.createElement(\"span\")\n deleteSpan.textContent = \"x\"\n deleteSpan.classList.add(\"delete-image\")\n deleteSpan.classList.add(\"sc-ai12z-input-form\")\n imagePreviewContainer.appendChild(newDiv)\n\n newDiv.appendChild(img)\n newDiv.appendChild(deleteSpan)\n\n deleteSpan.onclick = function (event) {\n let imgSrc = event.target[\"previousSibling\"] ? event.target[\"previousSibling\"].src : null\n let index = tempImagesBase64List.indexOf(imgSrc)\n if (index > -1) {\n tempImagesBase64List.splice(index, 1)\n }\n newDiv.remove()\n }\n\n // console.log('uploading finished, emitting an image blob to the outside world');\n }\n reader.readAsDataURL(newFile)\n reader.onloadend = () => {\n console.log(\"upload finished\")\n }\n\n reader.onerror = err => {\n console.error(\"something went wrong...\", err)\n }\n }\n }\n\n getConversationHistory() {\n const storedData = localStorage.getItem(`${this.visitorID}`)\n return storedData ? JSON.parse(storedData) : []\n }\n\n saveConversation() {\n let pastMessages = this.getConversationHistory()\n // console.log(\"saving conversation\", pastMessages)\n if (pastMessages.length > 0) {\n let conversationExists = pastMessages.filter(item => item.conversationId === this.conversationId && item.projectId === this.botSettings?.pId)\n if (conversationExists.length > 0) {\n conversationExists[0].messages = this.messages\n } else {\n pastMessages.push({\n conversationId: this.conversationId,\n projectId: this.botSettings?.pId,\n date: new Date(),\n messages: this.messages,\n })\n }\n } else {\n pastMessages.push({\n conversationId: this.conversationId,\n projectId: this.botSettings?.pId,\n date: new Date(),\n messages: this.messages,\n })\n }\n\n if (this.messages.length > 0) {\n localStorage.setItem(`${this.visitorID}`, JSON.stringify(pastMessages))\n }\n }\n\n loadConversation() {\n this.showWelcomeScreen = false\n this.hideInput = true\n this.messages = []\n const storedMessages = localStorage.getItem(`${this.visitorID}`)\n if (storedMessages) {\n this.conversationHistory = JSON.parse(storedMessages)\n this.conversationHistory = this.conversationHistory.filter(item => item.projectId === this.botSettings?.pId)\n // console.log(\"conversationHistory\", this.conversationHistory)\n // this.messages = chatHistory.map(item => ({ ...item }))\n }\n }\n\n @Listen(\"keydown\")\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === \"Enter\" && !ev.shiftKey) {\n // console.log(\"down arrow pressed\")\n ev.preventDefault()\n if (this.inputEl?.value.trim().length > 0) {\n this.handleSend(this.inputEl.value)\n }\n }\n }\n\n startTimer() {\n // const startTime = Date.now()\n this.timer = setInterval(() => {\n this.questionCounter = 0\n // const endTime = Date.now()\n // console.log(`Timer executed after ${endTime - startTime} milliseconds`)\n localStorage.setItem(`ai12z-bot-data`, JSON.stringify({ qCounter: this.questionCounter }))\n }, this.botSettings.autoResetTimer)\n }\n\n updateScreenSize = () => {\n // console.log(\"updateScreenSize\")\n if (window.innerWidth < 640) {\n this.isMinimized = this.isOpened ? false : true\n } else if (window.innerWidth < 768) {\n this.isMinimized = this.isOpened ? false : true\n } else {\n // console.log(\"content\", this.isContent)\n this.isMinimized = this.isExpanded ? false : true\n this.isExpanded = true\n }\n }\n\n handleSend = eleValue => {\n // console.log(\"handle send\", eleValue)\n if (eleValue.trim().length === 0) {\n return\n }\n this.questionCounter = this.questionCounter + 1\n localStorage.setItem(`ai12z-bot-data`, JSON.stringify({ qCounter: this.questionCounter }))\n const inputValue = eleValue\n\n if (this.inputEl) {\n this.inputEl.value = inputValue\n }\n if (this.messages.length === 0 && this.botSettings.autoResetTimer > 0) {\n this.startTimer()\n }\n if (this.showWelcomeScreen && this.botSettings.botVersion === \"v1\") {\n this.showWelcomeScreen = false\n }\n\n if (inputValue.trim()) {\n const now = new Date()\n const timestamp = now.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\" })\n\n // Add the new message to the chat\n this.messages = [\n ...this.messages,\n {\n text: inputValue,\n isUser: true,\n id: `user-${generateUUID()}`,\n timestamp: timestamp,\n images: this.imagesBase64List,\n conversationId: this.conversationId,\n formModel: {},\n surveyDomId: \"\",\n },\n {\n text: this.botSettings.maxQuestion > 0 && this.questionCounter > this.botSettings.maxQuestion ? this.botSettings.msgLimit : \"\",\n isUser: false,\n id: `chatbot-${generateUUID()}`,\n timestamp: \"\",\n images: [],\n conversationId: this.conversationId,\n formModel: {},\n surveyDomId: \"\",\n },\n ]\n\n if (this.messages.length === 2) {\n this.visitorID = getOrCreateVisitorId()\n }\n\n this.checkHistory()\n\n setTimeout(() => {\n this.scrollToBottom()\n }, 100)\n if (this.botSettings.maxQuestion > 0 && this.questionCounter > this.botSettings.maxQuestion) {\n console.log(\"Max question limit reached\")\n this.inputEl.value = \"\"\n } else {\n this.currentDomId = this.messages[this.messages.length - 1].id\n this.invokeSocket()\n }\n // this.invokeSocket()\n\n const parent = this.el.shadowRoot.querySelector(\"#previewContainer\")\n if (parent) {\n parent.innerHTML = \"\"\n }\n\n this.imagesBase64List = []\n this.rowCount = 1\n this.showSubmit = false\n }\n }\n\n scrollToBottom() {\n const container = this.el.shadowRoot.querySelector(\".chat-body\")\n if (container) {\n container.scroll({\n top: container.scrollHeight,\n behavior: \"smooth\",\n })\n }\n }\n\n defaultTemplate() {\n return (\n <div class={{ \"prose\": true, \"floating-icon\": !this.isBot, \"right\": this.botSettings?.botPosition === \"right\", \"left\": this.botSettings?.botPosition === \"left\" }}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"white\" height=\"30px\" width=\"30px\" version=\"1.1\" id=\"Capa_1\" viewBox=\"0 0 60.019 60.019\">\n <g>\n <path d=\"M59.888,47.514l-3.839-11.518c2.056-3.615,3.14-7.716,3.14-11.893c0-13.286-10.809-24.095-24.095-24.095 c-8.242,0-15.824,4.223-20.219,11.007c3.089-1.291,6.477-2.007,10.029-2.007C39.294,9.01,51,20.716,51,35.104 c0,3.996-0.905,7.783-2.518,11.172l10.263,2.701c0.085,0.022,0.17,0.033,0.255,0.033c0.006,0,0.014-0.001,0.02,0 c0.553,0,1-0.448,1-1C60.019,47.829,59.972,47.66,59.888,47.514z\" />\n <path d=\"M24.905,11.01C11.619,11.01,0.81,21.819,0.81,35.104c0,4.176,1.084,8.277,3.14,11.893L0.051,58.693 c-0.116,0.349-0.032,0.732,0.219,1C0.462,59.898,0.727,60.01,1,60.01c0.085,0,0.17-0.011,0.255-0.033l12.788-3.365 c3.35,1.694,7.097,2.587,10.862,2.587C38.191,59.199,49,48.39,49,35.104S38.191,11.01,24.905,11.01z M41.246,26.799 c-0.152,0.083-0.317,0.123-0.479,0.123c-0.354,0-0.696-0.188-0.878-0.519c-2.795-5.097-8.115-8.679-13.883-9.349 c-0.549-0.063-0.941-0.56-0.878-1.108c0.063-0.548,0.558-0.942,1.108-0.878c6.401,0.743,12.304,4.718,15.406,10.373 C41.908,25.926,41.73,26.534,41.246,26.799z\" />\n </g>\n </svg>\n </div>\n )\n }\n\n handleFollowUp(_e) {\n // console.log(\"follow up\", e)\n this.messages = [...[]]\n this.conversationId = \"\"\n this.showWelcomeScreen = true\n }\n\n showButton(e) {\n if (e.target.value.length > 0) {\n this.showSubmit = true\n } else {\n this.showSubmit = false\n }\n }\n\n toggleTextarea() {\n // console.log(\"toggleTextarea\", this.showTextarea)\n this.showTextarea = false // Remove textarea\n setTimeout(() => {\n this.showTextarea = true // Re-add textarea after a short delay\n // console.log(\"toggleTextarea2\", this.showTextarea)\n }, 50) // Small delay ensures the element is fully unmounted\n }\n render() {\n // const imageSrc = getAssetPath(`./assets/ai12z-bot/img/chatbot.jpg`)\n const style = {\n width: this.botSettings?.botWidth ?? \"35%\",\n height: this.botSettings?.botHeight ?? \"80%\",\n }\n return this.botSettings.botVersion === \"v1\" ? (\n <div>\n <div\n class={{\n \"right\": this.botSettings?.botPosition === \"right\",\n \"left\": this.botSettings?.botPosition === \"left\",\n \"custom-floating-icon \": this.isBot,\n \"hide-chatbot\": this.isChatOpen,\n }}\n onClick={() => this.action(\"open\")}\n >\n {!this.isBot && this.botSettings?.botPosition && this.defaultTemplate()}\n {this.isBot && <slot name=\"bot\" />}\n </div>\n {!this.isChatOpen && this.botSettings?.popover?.returnMessage && <bot-popover popoverConfig={this.botSettings?.popover}></bot-popover>}\n {this.isChatOpen && (\n <div\n class={{\n \"chat-window\": true,\n \"chat-window-open\": this.isChatOpen,\n \"chat-window-close\": !this.isChatOpen,\n \"chat-right\": this.botSettings?.botPosition === \"right\",\n \"chat-left\": this.botSettings?.botPosition === \"left\",\n }}\n style={style}\n >\n {!this.hideInput && (\n <div class=\"chat-header\">\n {this.botSettings?.buttons?.length > 0 && (\n <button class=\"hamburger\" onClick={e => this.toggleMenu(e)}>\n &#9776; {/* Hamburger Icon */}\n </button>\n )}\n <img class=\"avatar\" src={this.botSettings?.botLogo ?? this.botlogo} alt=\"Avatar\" />\n <span class=\"chat-name\">{this.botSettings?.botName}</span>\n {this.showHistory && (\n <button onClick={() => this.loadConversation()}>\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"#ffffff\" width=\"25\" height=\"25\">\n <path fill=\"none\" d=\"M0 0L24 0 24 24 0 24z\"></path>{\" \"}\n <path d=\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-1.702 0-3.305-.425-4.708-1.175L2 22l1.176-5.29C2.426 15.306 2 13.703 2 12 2 6.477 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8 0 1.335.326 2.618.94 3.766l.35.654-.656 2.946 2.948-.654.653.349c1.148.614 2.43.939 3.765.939 4.418 0 8-3.582 8-8s-3.582-8-8-8zm1 3v5h4v2h-6V7h2z\"></path>{\" \"}\n </svg>\n </button>\n )}\n <button class=\"minimizebtn\" onClick={() => this.action(\"minimize\")}>\n <svg fill=\"white\" height=\"20px\" width=\"20px\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M505.752,6.248c-8.331-8.331-21.839-8.331-30.17,0L320,161.83V64c0-11.782-9.551-21.333-21.333-21.333 c-11.782,0-21.333,9.551-21.333,21.333v149.333c0,0.007,0.001,0.015,0.001,0.022c0.001,0.695,0.037,1.39,0.105,2.083 c0.031,0.318,0.091,0.627,0.136,0.94c0.054,0.375,0.098,0.75,0.171,1.122c0.071,0.359,0.17,0.708,0.259,1.061 c0.081,0.322,0.151,0.645,0.248,0.964c0.105,0.346,0.234,0.68,0.356,1.018c0.114,0.318,0.219,0.639,0.349,0.953 c0.131,0.316,0.284,0.618,0.43,0.926c0.152,0.323,0.296,0.649,0.465,0.966c0.158,0.295,0.338,0.575,0.509,0.861 c0.186,0.311,0.361,0.626,0.564,0.929c0.211,0.316,0.447,0.613,0.674,0.917c0.19,0.253,0.365,0.513,0.568,0.759 c0.892,1.087,1.889,2.085,2.977,2.977c0.246,0.202,0.506,0.378,0.759,0.568c0.304,0.228,0.601,0.463,0.917,0.674 c0.303,0.203,0.618,0.379,0.929,0.564c0.286,0.171,0.566,0.351,0.861,0.509c0.317,0.169,0.643,0.313,0.966,0.465 c0.308,0.145,0.611,0.299,0.926,0.43c0.314,0.13,0.635,0.235,0.953,0.349c0.338,0.122,0.672,0.251,1.018,0.356 c0.318,0.096,0.642,0.167,0.964,0.248c0.353,0.089,0.701,0.188,1.061,0.259c0.372,0.074,0.748,0.118,1.122,0.171 c0.314,0.045,0.622,0.104,0.94,0.136c0.693,0.068,1.388,0.105,2.083,0.105c0.007,0,0.015,0.001,0.022,0.001H448 c11.782,0,21.333-9.551,21.333-21.333c0-11.782-9.551-21.333-21.333-21.333h-97.83L505.752,36.418 C514.083,28.087,514.083,14.58,505.752,6.248z\"></path>{\" \"}\n <path d=\"M234.56,296.562c-0.031-0.318-0.091-0.627-0.136-0.94c-0.054-0.375-0.098-0.75-0.171-1.122 c-0.071-0.359-0.17-0.708-0.259-1.061c-0.081-0.322-0.151-0.645-0.248-0.964c-0.105-0.346-0.234-0.68-0.356-1.018 c-0.114-0.318-0.219-0.639-0.349-0.953c-0.131-0.316-0.284-0.618-0.43-0.926c-0.152-0.323-0.296-0.649-0.465-0.966 c-0.158-0.295-0.338-0.575-0.509-0.861c-0.186-0.311-0.361-0.626-0.564-0.929c-0.211-0.316-0.447-0.613-0.674-0.917 c-0.19-0.253-0.365-0.513-0.568-0.759c-0.892-1.087-1.889-2.085-2.977-2.977c-0.246-0.202-0.506-0.378-0.759-0.568 c-0.304-0.228-0.601-0.463-0.917-0.674c-0.303-0.203-0.618-0.379-0.929-0.564c-0.286-0.171-0.566-0.351-0.861-0.509 c-0.317-0.169-0.643-0.313-0.966-0.465c-0.308-0.145-0.611-0.299-0.926-0.43c-0.314-0.13-0.635-0.235-0.953-0.349 c-0.338-0.122-0.672-0.251-1.018-0.356c-0.318-0.096-0.642-0.167-0.964-0.248c-0.353-0.089-0.701-0.188-1.061-0.259 c-0.372-0.074-0.748-0.118-1.122-0.171c-0.314-0.045-0.622-0.104-0.94-0.136c-0.7-0.069-1.402-0.106-2.105-0.106l0,0H64 c-11.782,0-21.333,9.551-21.333,21.333C42.667,310.449,52.218,320,64,320h97.83L6.248,475.582c-8.331,8.331-8.331,21.839,0,30.17 c8.331,8.331,21.839,8.331,30.17,0L192,350.17V448c0,11.782,9.551,21.333,21.333,21.333c11.782,0,21.333-9.551,21.333-21.333 V298.667l0,0C234.667,297.964,234.629,297.262,234.56,296.562z\"></path>{\" \"}\n </svg>\n </button>\n\n <button class=\"close-btn\" onClick={() => this.action(\"close\")}>\n <svg aria-hidden=\"true\" width=\"25\" height=\"13\" viewBox=\"0 0 23 23\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n fill=\"white\"\n d=\"M9.34583 11.2L0.384011 2.23818C-0.128004 1.72617 -0.128004 0.896026 0.384011 0.384011C0.896026 -0.128004 1.72617 -0.128004 2.23818 0.384011L11.2 9.34583L20.1618 0.384011C20.6738 -0.128004 21.504 -0.128004 22.016 0.384011C22.528 0.896026 22.528 1.72617 22.016 2.23818L13.0542 11.2L22.016 20.1618C22.528 20.6738 22.528 21.504 22.016 22.016C21.504 22.528 20.6738 22.528 20.1618 22.016L11.2 13.0542L2.23818 22.016C1.72617 22.528 0.896026 22.528 0.384011 22.016C-0.128003 21.504 -0.128003 20.6738 0.384011 20.1618L9.34583 11.2Z\"\n ></path>\n </svg>\n </button>\n </div>\n )}\n <div class={`menu ${this.isMenuOpen ? \"open\" : \"closed\"}`} ref={el => (this.menuRef = el)}>\n <ul>\n {this.botSettings?.buttons?.map(item => (\n <li\n onClick={() => {\n this.isMenuOpen = !this.isMenuOpen\n this.query = item.action\n this.handleSend(item.label)\n }}\n >\n {item.label}\n </li>\n ))}\n </ul>\n </div>\n {this.hideInput && (\n <div class=\"chat-header\">\n <button\n onClick={() => {\n this.showWelcomeScreen = true\n this.hideInput = false\n this.checkHistory()\n }}\n >\n <svg aria-hidden=\"true\" width=\"20\" height=\"20\" viewBox=\"0 0 10 19\">\n <path\n fill=\"#FFFFFF\"\n d=\"M9.70711 0.542893C10.0976 0.933418 10.0976 1.56658 9.70711 1.95711L2.41421 9.25L9.70711 16.5429C10.0976 16.9334 10.0976 17.5666 9.70711 17.9571C9.31658 18.3476 8.68342 18.3476 8.29289 17.9571L0.292893 9.95711C0.105357 9.76957 -4.04995e-07 9.51522 -3.93402e-07 9.25C-3.81809e-07 8.98478 0.105357 8.73043 0.292893 8.54289L8.29289 0.542893C8.68342 0.152369 9.31658 0.152369 9.70711 0.542893Z\"\n clip-rule=\"evenodd\"\n fill-rule=\"evenodd\"\n ></path>\n </svg>\n </button>\n <span class=\"header-title\">Conversation History</span>\n </div>\n )}\n\n <div class=\"chat-body\">\n {this.showWelcomeScreen && (\n <chatbot-welcome\n welcomeMessage={this.botSettings?.welcome?.message}\n buttonsList={this.botSettings?.welcome?.buttons || this.botSettings?.welcome?.welcomeButtons}\n welcomelogo={this.botSettings?.welcome?.image}\n />\n )}\n {this.showHistory && this.conversationHistory.length > 0 && this.hideInput && (\n <chatbot-history chatList={this.conversationHistory} botName={this.botSettings?.botName}></chatbot-history>\n )}\n {!this.showWelcomeScreen && this.messages.length > 0 && <p class=\"timestamp\">{this.timestamp}</p>}\n {!this.showWelcomeScreen &&\n this.messages.length > 0 &&\n this.messages.map(msg => (\n <div class={{ \"message\": true, \"message-user\": msg.isUser }}>\n <div class={{ \"msg-wrapper\": true, \"pl-1\": true, \"md:pl-0\": true }}>\n {!msg.isUser && <img class=\"bot-avatar hidden md:block\" src={this.botSettings?.botAvatar ?? this.botAvatar} alt=\"Bot Avatar\" />}\n <div class={{ \"message-content\": true, \"bubble-width\": !msg.isUser }}>\n <span class={{ \"message-text\": true, \"message-bot\": !msg.isUser, \"prose\": true, \"p-2.5\": true }} id={msg.id} innerHTML={msg.text}>\n {msg?.images?.map(img => {\n return <img src={img} class=\"thumbnail\" alt=\"thumbnail\" />\n })}\n {!msg.isUser && msg.text === \"\" && (\n <svg class=\"animate-spin h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" id=\"spinner\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path\n class=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n )}\n </span>\n <span class=\"message-timestamp\">{msg.timestamp}</span>\n </div>\n </div>\n </div>\n ))}\n </div>\n\n <div id=\"previewContainer\"></div>\n\n {/* {!this.hideInput && (\n <div class=\"chat-footer\">\n {this.messages.length === 0 && (\n <div class=\"custom-privacy\">\n <slot name=\"custom-privacy\" />\n </div>\n )}\n {this.messages?.length > 0 && (\n <div class=\"follow-up\">\n <input\n ref={el => (this.followUpElem = el as HTMLInputElement)}\n type=\"checkbox\"\n name=\"followUp\"\n id=\"followUp\"\n defaultChecked={true}\n class=\"follow-up-input\"\n onChange={ev => this.handleFollowUp(ev)}\n />\n <label htmlFor=\"followUp\">Do you have a follow up question?</label>\n <svg\n onClick={() => this.followUpElem.click()}\n class=\"custom-svg-checkbox\n peer-checked:block text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n </div>\n )}\n <div style={{ display: \"flex\" }}>\n <textarea\n rows={this.rowCount}\n placeholder={this.botSettings?.botPlaceholderText ?? \"Type your message...\"}\n ref={el => (this.inputEl = el as HTMLTextAreaElement)}\n onKeyUp={this.adjustHeight}\n />\n {this.botSettings.imageUpload && (\n <div class=\"custom-attachment\">\n <input\n type=\"file\"\n multiple\n name=\"files[]\"\n id=\"fileInput\"\n accept=\"image/*\"\n class=\"image-upload__input\"\n onChange={($event: any) => this.onInputChange($event.target.files)}\n ref={el => (this.uploadElem = el as HTMLInputElement)}\n />\n <svg onClick={() => this.uploadElem.click()} aria-hidden=\"true\" width=\"18\" height=\"16\" viewBox=\"0 0 16 18\">\n <path\n fill=\"#687882\"\n fill-rule=\"evenodd\"\n d=\"M8.078 16a.71.71 0 0 1-.513-.222.784.784 0 0 1 0-1.075l7.53-7.879c.562-.587.871-1.368.871-2.199 0-.83-.31-1.611-.87-2.197a2.883 2.883 0 0 0-4.204 0l-8.735 9.139c-.493.516-.73 1.012-.703 1.476.026.452.298.801.46.968.27.284.563.402.892.358.413-.054.888-.35 1.375-.86l6.854-7.172a.703.703 0 0 1 1.026 0 .784.784 0 0 1 0 1.074l-6.853 7.172c-.728.761-1.475 1.196-2.222 1.293-.783.102-1.509-.172-2.1-.79-.528-.553-.841-1.246-.881-1.952-.053-.917.326-1.805 1.125-2.64l8.735-9.14a4.292 4.292 0 0 1 6.257 0 4.706 4.706 0 0 1 1.296 3.271c0 1.236-.461 2.4-1.296 3.274l-7.53 7.879a.71.71 0 0 1-.514.222z\"\n ></path>\n </svg>\n </div>\n )}\n <button onClick={() => this.handleSend(this.inputEl.value)}>\n <svg aria-hidden=\"true\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\">\n <path\n fill=\"#687882\"\n fill-rule=\"evenodd\"\n stroke=\"#687882\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M1 1l2.166 5.39 8.5 1.564-8.5 1.666L1 15l16-7z\"\n ></path>\n </svg>\n </button>\n </div>\n </div>\n )} */}\n <div class=\"ml-2\">\n {this.messages.length === 0 && (\n <div class=\"custom-privacy\">\n <slot name=\"custom-privacy\" />\n </div>\n )}\n {this.messages?.length > 0 && (\n <div class=\"follow-up\">\n <input\n ref={el => (this.followUpElem = el as HTMLInputElement)}\n type=\"checkbox\"\n name=\"followUp\"\n id=\"followUp\"\n defaultChecked={true}\n class=\"follow-up-input\"\n onChange={ev => this.handleFollowUp(ev)}\n />\n <label htmlFor=\"followUp\">Do you have a follow up question?</label>\n <svg\n onClick={() => this.followUpElem.click()}\n class=\"custom-svg-checkbox\n peer-checked:block text-white\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n </div>\n )}\n </div>\n {!this.hideInput && (\n <div class=\"chat-footer border-t border-gray-300\">\n <div class=\"flex items-center flex-row\">\n {this.botSettings?.imageUpload && (\n <div class=\"relative inline-block\" style={{ width: \"5%\" }}>\n {/* Plus Button */}\n {!this.hideAllButtons && (\n <button class=\"w-8 h-8 text-blue-500\" onClick={this.toggleBox}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z\"></path>\n </svg>\n </button>\n )}\n\n {/* Option Box */}\n <div\n class={`absolute bottom-12 left-0 w-44 bg-white rounded-lg shadow-lg transition-all duration-300 ease-in-out \n ${this.isOpen ? \"opacity-100 scale-100 pointer-events-auto\" : \"opacity-0 scale-90 pointer-events-none\"}`}\n >\n <ul class=\"space-y-2\">\n {/* <li class=\"px-4 py-2 hover:bg-gray-100 cursor-pointer flex\">\n <div class=\"mr-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M12 9a3.75 3.75 0 1 0 0 7.5A3.75 3.75 0 0 0 12 9Z\"></path>\n <path\n fill-rule=\"evenodd\"\n d=\"M9.344 3.071a49.52 49.52 0 0 1 5.312 0c.967.052 1.83.585 2.332 1.39l.821 1.317c.24.383.645.643 1.11.71.386.054.77.113 1.152.177 1.432.239 2.429 1.493 2.429 2.909V18a3 3 0 0 1-3 3h-15a3 3 0 0 1-3-3V9.574c0-1.416.997-2.67 2.429-2.909.382-.064.766-.123 1.151-.178a1.56 1.56 0 0 0 1.11-.71l.822-1.315a2.942 2.942 0 0 1 2.332-1.39ZM6.75 12.75a5.25 5.25 0 1 1 10.5 0 5.25 5.25 0 0 1-10.5 0Zm12-1.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </div>\n <div>Capture</div>\n </li> */}\n <li\n class=\"px-4 py-2 hover:bg-gray-100 cursor-pointer flex\"\n onClick={() => {\n this.uploadElem.click()\n this.isOpen = false\n }}\n >\n <input\n type=\"file\"\n multiple\n name=\"files[]\"\n id=\"fileInput\"\n accept=\"image/*\"\n class=\"image-upload__input\"\n onChange={($event: any) => this.onInputChange($event.target.files)}\n ref={el => (this.uploadElem = el as HTMLInputElement)}\n />\n <div class=\"mr-1\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 shrink-0\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M18.0322 5.02393C17.7488 5.00078 17.3766 5 16.8 5H11.5002C11.3 6 11.0989 6.91141 10.8903 7.85409C10.7588 8.44955 10.6432 8.97304 10.3675 9.41399C10.1262 9.80009 9.80009 10.1262 9.41399 10.3675C8.97304 10.6432 8.44955 10.7588 7.85409 10.8903C7.81276 10.8994 7.77108 10.9086 7.72906 10.9179L5.21693 11.4762C5.1442 11.4924 5.07155 11.5001 5 11.5002V16.8C5 17.3766 5.00078 17.7488 5.02393 18.0322C5.04612 18.3038 5.0838 18.4045 5.109 18.454C5.20487 18.6422 5.35785 18.7951 5.54601 18.891C5.59546 18.9162 5.69617 18.9539 5.96784 18.9761C6.25118 18.9992 6.62345 19 7.2 19H10C10.5523 19 11 19.4477 11 20C11 20.5523 10.5523 21 10 21H7.16144C6.6343 21 6.17954 21 5.80497 20.9694C5.40963 20.9371 5.01641 20.8658 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3.13419 18.9836 3.06287 18.5904 3.03057 18.195C2.99997 17.8205 2.99998 17.3657 3 16.8385L3 11C3 8.92477 4.02755 6.93324 5.4804 5.4804C6.93324 4.02755 8.92477 3 11 3L16.8385 3C17.3657 2.99998 17.8205 2.99997 18.195 3.03057C18.5904 3.06287 18.9836 3.13419 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C20.8658 5.01641 20.9371 5.40963 20.9694 5.80497C21 6.17954 21 6.6343 21 7.16144V10C21 10.5523 20.5523 11 20 11C19.4477 11 19 10.5523 19 10V7.2C19 6.62345 18.9992 6.25118 18.9761 5.96784C18.9539 5.69617 18.9162 5.59546 18.891 5.54601C18.7951 5.35785 18.6422 5.20487 18.454 5.109C18.4045 5.0838 18.3038 5.04612 18.0322 5.02393ZM5.28014 9.41336L7.2952 8.96556C8.08861 8.78925 8.24308 8.74089 8.35381 8.67166C8.48251 8.59121 8.59121 8.48251 8.67166 8.35381C8.74089 8.24308 8.78925 8.08861 8.96556 7.2952L9.41336 5.28014C8.51014 5.59289 7.63524 6.15398 6.89461 6.89461C6.15398 7.63524 5.59289 8.51014 5.28014 9.41336ZM17 15C17 14.4477 17.4477 14 18 14C18.5523 14 19 14.4477 19 15V17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H19V21C19 21.5523 18.5523 22 18 22C17.4477 22 17 21.5523 17 21V19H15C14.4477 19 14 18.5523 14 18C14 17.4477 14.4477 17 15 17H17V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Upload Images</div>\n </li>\n </ul>\n </div>\n </div>\n )}\n {/* Chat Input */}\n\n {!this.hideAllButtons && (\n <div style={{ width: \"80%\" }}>\n <textarea\n rows={this.rowCount}\n placeholder={this.botSettings?.botPlaceholderText ?? \"Type your message...\"}\n ref={el => (this.inputEl = el as HTMLTextAreaElement)}\n onKeyUp={this.adjustHeight}\n onFocus={e => this.showButton(e)}\n class=\"flex-1 px-4 py-2 w-full focus:outline-none\"\n />\n </div>\n )}\n <audio-recorder\n component-type=\"bot\"\n onStartRecord={_ev => {\n // console.log(\"test\", ev)\n this.hideAllButtons = true\n }}\n onStopRecord={_ev => {\n this.hideAllButtons = false\n }}\n onSendTranscript={ev => {\n // console.log(\"ev\", ev)\n\n setTimeout(() => {\n // console.log(\"input\", this.inputEl)\n if (this.inputEl) {\n this.inputEl.value = ev.detail\n this.adjustHeight()\n this.showSubmit = true\n }\n }, 1000)\n }}\n style={{ width: this.hideAllButtons ? \"100%\" : \"10%\" }}\n ></audio-recorder>\n {/* )} */}\n {!this.hideAllButtons && (\n <div>\n <button\n class=\"relative w-10 h-10 flex items-center justify-center rounded-full transition-transform duration-300 ease-in-out bg-blue-500\"\n onClick={() => this.handleSend(this.inputEl.value)}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"white\" class=\"w-5 h-5\">\n <path\n fill-rule=\"evenodd\"\n d=\"M8 14a.75.75 0 0 1-.75-.75V4.56L4.03 7.78a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1-1.06 1.06L8.75 4.56v8.69A.75.75 0 0 1 8 14Z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n )}\n {/* {!this.showSubmit && !this.hideAllButtons && (\n <div>\n <button class=\"relative w-10 h-10 flex items-center justify-center rounded-full transition-transform duration-300 ease-in-out bg-blue-500\">\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"white\" viewBox=\"0 0 24 24\" stroke-width=\"0\" stroke=\"currentColor\" width=\"20\" height=\"20\">\n <path\n fill-rule=\"evenodd\"\n d=\"M12 5a7 7 0 0 0-7 7v1.17c.313-.11.65-.17 1-.17h2a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a3 3 0 0 1-3-3v-6a9 9 0 0 1 18 0v6a3 3 0 0 1-3 3h-2a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h2c.35 0 .687.06 1 .17V12a7 7 0 0 0-7-7Z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n )} */}\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n ) : (\n <div\n class={`layout pt-0 show-grid search-flex ${this.isOpened ? \"is-open\" : \"\"} ${this.isExpanded ? \"is-expanded\" : \"\"} ${this.isAnimated ? \"transition ease-out duration-300\" : \"\"}`}\n style={{\n gridTemplateColumns: `0fr minmax(${this.botSettings.minWidth ?? \"340px\"}, ${this.botSettings.maxWidth ?? \"375px\"}) 0fr`,\n paddingTop: this.botSettings?.paddingTop ?? \"96px\",\n }}\n >\n <div\n class={`modal-overlay`}\n role=\"button\"\n aria-label=\"Close Modal\"\n style={{\n display: this.isExpanded && this.isOpened ? \"grid\" : \"none\",\n opacity: this.isExpanded && this.isOpened ? \"1\" : \"0\",\n pointerEvents: this.isExpanded && this.isOpened ? \"all\" : \"none\",\n }}\n ></div>\n {/* {this.isOpen && ( */}\n <div\n class=\"modal\"\n data-testid=\"modal\"\n aria-hidden=\"false\"\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\"\n style={{ display: this.isOpened ? \"grid\" : \"none\", opacity: this.isOpened ? \"1\" : \"0\", transform: this.isOpened ? \"none\" : \"translateY(100%)\" }}\n >\n <div class=\"toolbar flex bg-white overflow-hidden border-b border-gray-90 border-solid md:pl-3 pl-4 justify-end md:rounded-t-xl items-center\">\n <div class=\"toolbar-overflow-actions\">\n <button\n class=\"rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6\"\n tabindex=\"0\"\n aria-label=\"options menu\"\n aria-haspopup=\"menu\"\n aria-expanded=\"false\"\n aria-controls=\"toolbar-dropdown-menu\"\n onClick={e => {\n this.toggleBot(e)\n }}\n >\n <i class=\"modal-toolbar-icon block wes-icon--loading text-body2\">\n <svg viewBox=\"0 0 24 24\" id=\"align-left-2\" data-name=\"Flat Line\" xmlns=\"http://www.w3.org/2000/svg\" class=\"icon flat-line\" fill=\"currentColor\">\n <g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path id=\"primary\" d=\"M3,12H17M3,6H21M3,18H13\" style={{ fill: \"none\", stroke: \"currentColor\" }}></path>\n </g>\n </svg>\n </i>\n </button>\n <div\n id=\"dropdown-menu\"\n role=\"menu\"\n class={`dropdown-menu flex flex-col gap-y-1 grow-wrap absolute bg-white border-b border-gray-80 border-solid rounded-lg shadow-lg p-2 mt-4 min-w-[200px] left-5 overflow-hidden ${this.isToggled ? \"show\" : \"\"}`}\n style={{ height: \"auto\" }}\n ref={el => (this.menuV2Ref = el)}\n >\n {this.botSettings?.buttons?.map(button => (\n <div class=\"dropdown-item w-full\" role=\"menuitem\" tabindex=\"-1\">\n <button\n class=\"dropdown-item-button\"\n onClick={e => {\n this.toggleBot(e)\n this.showHistory = false\n this.showWelcomeScreen = true\n this.handleSend(button.label)\n }}\n >\n {button.label}\n </button>\n </div>\n ))}\n <div class=\"dropdown-item w-full\" role=\"menuitem\" tabindex=\"-1\">\n <button\n class=\"dropdown-item-button\"\n onClick={e => {\n this.toggleBot(e)\n this.showHistory = true\n // this.hideInput = true\n this.loadConversation()\n // console.log(\"this.show\", this.conversationHistory)\n }}\n >\n View Recent chat\n </button>\n </div>\n <div class=\"dropdown-item w-full\" role=\"menuitem\" tabindex=\"-1\">\n <button\n class=\"dropdown-item-button\"\n onClick={ev => {\n ev.preventDefault()\n this.messages = [...[]]\n this.conversationId = \"\"\n this.isOpened = false\n this.isMinimized = this.isExpanded ? false : true\n this.showWelcomeScreen = true\n this.toggleBot(ev)\n this.showHistory = false\n }}\n >\n End conversation\n </button>\n </div>\n </div>\n </div>\n {this.botSettings?.botLogo && <img src={this.botSettings?.botLogo} class=\"w-8 h-8 rounded-lg\"></img>}\n <h2 class=\"heading text-body1 flex-1 pl-2\">{this.botSettings?.botName}</h2>\n <div class=\"buttons flex gap-2 p-[10px]\">\n <button\n class=\"rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6 hidden md:flex\"\n tabindex=\"0\"\n onClick={() => {\n this.isExpanded = !this.isExpanded\n this.isAnimated = true\n }}\n aria-label=\"Collapse Agentforce to Side Panel\"\n >\n <i class=\"modal-toolbar-icon wes-block wes-icon--loading wes-text-body2\">\n {this.isExpanded && (\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M18.215 14.7076H27.692C28.3074 14.7076 28.492 14.0307 27.9997 13.5383L24.9843 10.4614L30.5228 4.86149C30.8305 4.5538 30.8305 3.99995 30.5228 3.69226L28.2459 1.41536C27.9382 1.16921 27.4459 1.16921 27.0767 1.4769L21.5381 7.01532L18.3997 3.99995C17.9073 3.50765 17.2304 3.69226 17.2304 4.30764V13.7845C17.2304 14.2153 17.7843 14.7076 18.215 14.7076ZM13.7847 17.2308H4.30766C3.69227 17.2308 3.50765 17.9077 3.99996 18.4L7.01537 21.4769L1.47686 27.0769C1.16917 27.3846 1.16917 27.9384 1.47686 28.2461L3.75381 30.523C4.0615 30.8307 4.55381 30.8307 4.92305 30.523L10.5231 24.923L13.6616 27.9384C14.0924 28.4923 14.7693 28.3076 14.7693 27.6923V18.2769C14.7693 17.8462 14.2154 17.2308 13.7847 17.2308Z\"\n ></path>\n </svg>\n )}\n {!this.isExpanded && (\n <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M30.0308 1.23071H20.4923C19.8769 1.23071 19.6923 1.78455 20.1846 2.27686L23.2 5.29222L17.6615 10.8306C17.3538 11.1383 17.3538 11.6306 17.6615 11.9999L19.9384 14.2768C20.2461 14.5845 20.7384 14.5845 21.1077 14.2768L26.7077 8.67681L29.7231 11.6922C30.2154 12.1845 30.7692 11.9999 30.7692 11.3845V1.90763C30.7692 1.5384 30.4 1.23071 30.0308 1.23071ZM2.15379 30.7692H11.6307C12.2461 30.7692 12.4307 30.0923 11.9384 29.6L8.92303 26.5231L14.4615 20.9231C14.7692 20.6154 14.7692 20.0616 14.4615 19.7539L12.1846 17.477C11.8769 17.1693 11.3846 17.1693 11.0153 17.477L5.47687 23.0154L2.39995 20C1.8461 19.5077 1.23071 19.6923 1.23071 20.3077V29.7846C1.23071 30.2153 1.72302 30.7692 2.15379 30.7692Z\"\n ></path>\n </svg>\n )}\n </i>\n </button>\n <button\n class=\"rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-6 w-6\"\n tabindex=\"0\"\n data-testid=\"modal-minimize\"\n aria-label=\"Minimize\"\n onClick={() => {\n this.isOpened = false\n // this.isContent = false\n this.isContent = this.isExpanded ? true : false\n this.isMinimized = this.isExpanded ? false : true\n this.isAnimated = false\n this.updateScreenSize()\n }}\n >\n <i class=\"modal-toolbar-icon block wes-icon--loading text-body2\">\n <svg viewBox=\"0 0 26 26\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M25 24.25C25 24.65 24.65 25 24.25 25H1.75C1.35 25 1 24.65 1 24.25V22.75C1 22.35 1.35 22 1.75 22H24.25C24.65 22 25 22.35 25 22.75V24.25Z\"\n ></path>\n </svg>\n </i>\n </button>\n </div>\n </div>\n <div class=\"main flex-1 flex flex-col\">\n <div class=\"h-full flex flex-col chat-body\">\n <div class=\"messages-container px-5 flex-[1_1_0] min-h-[calc(100%-1px)] flex flex-col gap-y-3 @md:px-3\" role=\"region\" aria-label=\"messages\">\n {/* <h3 class=\"text-display5 font-avant-garde text-[#001E5B] @md:text-display4 text-center @md:px-6 pb-3 @md:pb-7 @md:pt-8 pt-5\">\n How can <strong class=\"text-[#0344D1]\">Agentforce</strong> help?\n </h3> */}\n {this.showWelcomeScreen && <div class=\"text-display5 @md:px-6 pb-3 @md:pb-7 @md:pt-8 pt-5\" innerHTML={this.botSettings?.welcome?.message}></div>}\n {/* <div class=\"message-item flex pb-3 gap-x-2 @md:gap-x-3 justify-center\" style={{ opacity: \"1\", transform: \"none\" }}>\n <div class=\"flex flex-col\">\n <div class=\"timestamp text-gray-30 text-body4 pt-2\">Agentforce joined • 12:45 PM</div>\n </div>\n </div> */}\n {this.messages.length > 0 &&\n this.messages.map((message, _idx) => {\n // const showAvatar = !message.isUser && (idx === this.messages.length - 1 || this.messages[idx + 1]?.isUser === true)\n\n return (\n <div\n class={`message-item flex pb-3 gap-x-2 @md:gap-x-3 end-user-message \n ${message.isUser ? \"self-end\" : \"\"}\n ${message.isUser ? \"justify-end\" : \"\"}`}\n style={{ opacity: \"1\", transform: \"none\" }}\n >\n {message.isUser && (\n <div class=\"flex flex-col items-end\">\n <div\n data-testid=\"message\"\n class=\"break-words text-body3 @md:text-body2 box-border @md:pr-4 flex-1 rounded-lg py-2 px-4 user-msg\"\n innerHTML={message.text}\n >\n {message?.images?.map(img => {\n return <img src={img} class=\"thumbnail\" alt=\"thumbnail\" />\n })}\n </div>\n\n <div class=\"text-gray-30 text-body4 pt-2 text-right\">Sent {message.timestamp}</div>\n </div>\n )}\n {!message.isUser && (\n <div class=\"avatar-column\">\n <div role=\"img\" aria-label=\"Agentforce said: \" class=\"rounded-full h-6 w-6 p-2 grid place-content-center bg-blue\">\n {this.botSettings.botAvatar && <img src={this.botSettings.botAvatar} class=\"w-8 h-8 rounded-full\"></img>}\n {!this.botSettings.botAvatar && (\n // <i class=\"_wes-icon_9ngz3_1 block text-body1\" style={{ color: \"rgb(2, 80, 217)\" }}>\n // <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20}>\n // <path d=\"M19.3786 16.9969H19.3909C18.8863 17.04 18.437 17.1262 18.0493 17.2492C18.0493 17.2492 17.4832 17.4277 16.6155 17.5508C16.4124 17.5816 16.154 17.5816 16.0124 17.5816H15.9078C15.7663 17.5816 15.5017 17.5692 15.3047 17.5385C14.437 17.3969 13.877 17.2 13.877 17.2C13.4893 17.0769 13.0401 16.9846 12.5355 16.9292C9.77243 16.6462 8.57858 17.6985 8.51089 17.8954C8.4432 18.0923 8.74473 20.6523 8.96627 21.0585C9.18166 21.4585 9.51396 21.6923 9.8155 21.8216C10.1232 21.9508 12.6524 22.2031 13.4955 22.0862C14.3386 21.9692 14.4678 21.6862 14.6955 21.2554C14.8555 20.9477 15.2678 19.5569 15.4955 18.7385C15.5509 18.5785 15.557 18.2585 15.9447 18.2339C16.3324 18.2646 16.3386 18.5908 16.3878 18.7508C16.6093 19.5692 16.997 20.9723 17.1509 21.28C17.3663 21.7169 17.4955 22 18.3386 22.1354C19.1755 22.2646 21.7109 22.0616 22.0186 21.9385C22.3263 21.8154 22.6586 21.5877 22.8801 21.1877C23.1017 20.7877 23.4463 18.2339 23.3847 18.0369C23.3232 17.8339 22.1478 16.7631 19.3786 16.9969Z\"></path>\n // <path d=\"M28.0124 8.95386H28.0186C27.2494 7.9754 26.3386 7.10771 25.3294 6.36309C26.3755 6.17848 27.1694 5.26771 27.1694 4.17232C27.1694 2.94155 26.1724 1.93848 24.9355 1.93848C23.6986 1.93848 22.7017 2.9354 22.7017 4.17232C22.7017 4.41848 22.7509 4.65232 22.8247 4.87386C21.237 4.12309 19.5017 3.63078 17.6863 3.44002C14.6463 3.12002 11.7109 3.66155 9.18166 4.8554C9.24935 4.64001 9.29858 4.41232 9.29858 4.17232C9.29858 2.94155 8.30166 1.93848 7.06473 1.93848C5.82781 1.93848 4.83089 2.9354 4.83089 4.17232C4.83089 5.26771 5.61858 6.17232 6.65243 6.36309C3.78473 8.48001 1.78473 11.5631 1.32935 15.1385C0.904735 18.4431 1.84627 21.7539 3.98781 24.4616C6.41243 27.5262 10.1786 29.5385 14.314 29.9754C14.8924 30.0369 15.4647 30.0677 16.0309 30.0677C23.4094 30.0677 29.797 25.0585 30.6709 18.2769C31.0955 14.9723 30.154 11.6616 28.0124 8.95386ZM16.0124 26.2523H16.0063C10.4555 26.2462 5.93858 22.5416 5.93858 17.9877C5.93858 16.6154 6.35704 15.2985 7.11397 14.1292C7.18166 14.5477 7.30473 14.9108 7.44012 15.1816C7.62473 15.5508 7.99397 15.7662 8.38166 15.7662C8.5355 15.7662 8.6955 15.7354 8.8432 15.6616C9.36627 15.4092 9.58166 14.7816 9.34166 14.2585C9.21243 13.9816 8.88012 13.0646 9.68627 12.3631C10.4678 13.0708 11.5878 13.9016 12.8493 14.3077C15.2001 15.0523 16.9786 14.6154 17.0524 14.5969C17.4093 14.5046 17.6863 14.24 17.797 13.8892C17.9078 13.5385 17.8278 13.1569 17.5878 12.8862C16.4001 11.52 15.834 10.5231 15.5878 9.92002C20.4001 10.5723 21.3232 14.4062 21.3601 14.5785C21.4647 15.0708 21.9017 15.4092 22.3878 15.4092C22.4617 15.4092 22.5294 15.4031 22.6032 15.3846C23.1755 15.2677 23.5386 14.7077 23.4217 14.1354C23.274 13.4216 22.8863 12.4554 22.197 11.4892C24.554 13.0031 26.0801 15.3539 26.0801 17.9939C26.0801 22.5477 21.5632 26.2523 16.0124 26.2523Z\"></path>\n // </svg>\n // </i>\n <i class=\"_wes-icon_9ngz3_1 block text-body1 default-botAvatar\">\n <svg stroke=\"currentColor\" fill=\"currentColor\" stroke-width=\"0\" viewBox=\"0 0 16 16\" height={20} width={20} xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5\"></path>\n </svg>\n </i>\n )}\n </div>\n </div>\n )}\n {!message.isUser && (\n <div class=\"flex flex-col\" style={{ width: \"100%\" }}>\n <div\n data-testid=\"message\"\n class=\"prose max-w-full break-words text-body3 @md:text-body2 box-border @md:pr-4 flex-1 rounded-lg text-gray-30 pr-2\"\n innerHTML={message.text}\n id={message.id}\n >\n {message.text === \"\" && (\n <div class=\"w-full rounded-md\" id=\"spinner\">\n <div class=\"flex animate-pulse space-x-4\">\n {/* <div class=\"size-10 rounded-full bg-gray-200\"></div> */}\n <div class=\"flex-1 space-y-3 py-1\">\n <div class=\"h-4 rounded bg-gray-200\"></div>\n <div class=\"space-y-3\">\n <div class=\"grid grid-cols-3 gap-4\">\n <div class=\"col-span-2 h-4 rounded bg-gray-200\"></div>\n <div class=\"col-span-1 h-4 rounded bg-gray-200\"></div>\n </div>\n <div class=\"h-4 rounded bg-gray-200\"></div>\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n <div class=\"text-gray-30 text-body4 pt-2\">\n {this.botSettings.botName} • {message.timestamp}\n </div>\n </div>\n )}\n </div>\n )\n })}\n {this.showHistory && <chatbot-history chatList={this.conversationHistory} botName={this.botSettings?.botName}></chatbot-history>}\n <div class=\"h-px pt-2px\" style={{ overflowAnchor: \"auto\" }}></div>\n </div>\n\n <div aria-live=\"polite\" class=\"absolute w-[1px] h-[1px] p-0 m-[-1px] overflow-hidden whitespace-nowrap border-0\"></div>\n </div>\n </div>\n </div>\n {/* )} */}\n {/* {!this.isMinimized && ( */}\n <form\n data-testid=\"user-input\"\n class={`user-input relative pointer-events-auto searchform ${this.isOpened ? \"p-2.5\" : \"\"}`}\n role=\"region\"\n aria-label=\"Message Area\"\n aria-hidden=\"false\"\n style={{ opacity: !this.isMinimized ? \"1\" : \"0\", transform: \"translateX(0)\", pointerEvents: !this.isMinimized ? \"auto\" : \"none\" }}\n >\n {!this.isOpened && (\n <div class={`minimize-input absolute right-4 md:right-0 border-2 border-white border-solid rounded-full ${this.isContent ? \"\" : \"top-0\"}`}>\n <button\n class=\"rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-gray-500 bg-opacity-60 hover:bg-opacity-80 h-5 w-5\"\n tabindex=\"0\"\n onClick={e => {\n e.preventDefault()\n this.isMinimized = !this.isMinimized\n }}\n >\n <i class=\"ai-minimize-icon block ai-text-caption\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"52\" width=\"52\" viewBox=\"0 0 520 520\" fill=\"#fff\">\n <path d=\"M500 275c0 8-7 15-15 15H35c-8 0-15-7-15-15v-30c0-8 7-15 15-15h450c8 0 15 7 15 15z\"></path>\n </svg>\n </i>\n </button>\n </div>\n )}\n <fieldset class={`flex flex-col @md:mx-0 @md:rounded-t-xl ${this.isMinimized && !this.isExpanded ? \"\" : \"p-4 user-input-fieldset\"} transition-colors`}>\n {/* <div class={`text-white wes-text-display7 pb-3 help-text ${this.isOpen ? \"hide-title\" : \"\"}`} aria-hidden=\"true\">\n Need help? Ask AI.\n </div> */}\n {!this.isExpanded && this.isOpened && this.messages.length === 0 && <privacy-modal show={this.showPrivacy} message={this.botSettings.privacyTemplate}></privacy-modal>}\n <div class=\"flex-1 align-bottom\">\n <div class=\"grow-wrap show-grid after:whitespace-pre-wrap after:invisible relative\" data-replicated-value=\"\" aria-disabled=\"false\">\n {this.botSettings.imageUpload && (\n <div\n aria-disabled=\"true\"\n class={`agent-input-icon wes-transition-opacity absolute flex items-center left-0 bottom-0 h-full pl-4 pr-2 ${this.hideAllButtons ? \"hidden\" : \"\"} ${this.isContent ? \"hidden\" : \"\"}`}\n >\n <button\n class=\"plus-icon\"\n onClick={e => {\n e.stopPropagation()\n e.preventDefault()\n this.showMenu = !this.showMenu\n }}\n >\n <i class=\"plus-icon wes-block wes-text-body1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z\"></path>\n </svg>\n </i>\n </button>\n {/* Option Box */}\n <div\n class={`absolute bottom-6 left-0 w-44 bg-white rounded-lg shadow-lg transition-all duration-300 ease-in-out z-10\n ${this.showMenu ? \"opacity-100 scale-100 pointer-events-auto\" : \"opacity-0 scale-90 pointer-events-none\"}`}\n >\n <ul class=\"space-y-2\" ref={el => (this.plusIconRef = el)}>\n <li\n class=\"px-4 py-2 hover:bg-gray-100 cursor-pointer flex\"\n onClick={() => {\n this.uploadElem.click()\n this.isOpen = false\n this.showMenu = false\n }}\n >\n <input\n type=\"file\"\n multiple\n name=\"files[]\"\n id=\"fileInput\"\n accept=\"image/*\"\n class=\"image-upload__input\"\n onChange={($event: any) => {\n // this.isImage = true\n this.onInputChange($event.target.files)\n }}\n ref={el => (this.uploadElem = el as HTMLInputElement)}\n />\n <div class=\"mr-1\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-5 w-5 shrink-0\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M18.0322 5.02393C17.7488 5.00078 17.3766 5 16.8 5H11.5002C11.3 6 11.0989 6.91141 10.8903 7.85409C10.7588 8.44955 10.6432 8.97304 10.3675 9.41399C10.1262 9.80009 9.80009 10.1262 9.41399 10.3675C8.97304 10.6432 8.44955 10.7588 7.85409 10.8903C7.81276 10.8994 7.77108 10.9086 7.72906 10.9179L5.21693 11.4762C5.1442 11.4924 5.07155 11.5001 5 11.5002V16.8C5 17.3766 5.00078 17.7488 5.02393 18.0322C5.04612 18.3038 5.0838 18.4045 5.109 18.454C5.20487 18.6422 5.35785 18.7951 5.54601 18.891C5.59546 18.9162 5.69617 18.9539 5.96784 18.9761C6.25118 18.9992 6.62345 19 7.2 19H10C10.5523 19 11 19.4477 11 20C11 20.5523 10.5523 21 10 21H7.16144C6.6343 21 6.17954 21 5.80497 20.9694C5.40963 20.9371 5.01641 20.8658 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3.13419 18.9836 3.06287 18.5904 3.03057 18.195C2.99997 17.8205 2.99998 17.3657 3 16.8385L3 11C3 8.92477 4.02755 6.93324 5.4804 5.4804C6.93324 4.02755 8.92477 3 11 3L16.8385 3C17.3657 2.99998 17.8205 2.99997 18.195 3.03057C18.5904 3.06287 18.9836 3.13419 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C20.8658 5.01641 20.9371 5.40963 20.9694 5.80497C21 6.17954 21 6.6343 21 7.16144V10C21 10.5523 20.5523 11 20 11C19.4477 11 19 10.5523 19 10V7.2C19 6.62345 18.9992 6.25118 18.9761 5.96784C18.9539 5.69617 18.9162 5.59546 18.891 5.54601C18.7951 5.35785 18.6422 5.20487 18.454 5.109C18.4045 5.0838 18.3038 5.04612 18.0322 5.02393ZM5.28014 9.41336L7.2952 8.96556C8.08861 8.78925 8.24308 8.74089 8.35381 8.67166C8.48251 8.59121 8.59121 8.48251 8.67166 8.35381C8.74089 8.24308 8.78925 8.08861 8.96556 7.2952L9.41336 5.28014C8.51014 5.59289 7.63524 6.15398 6.89461 6.89461C6.15398 7.63524 5.59289 8.51014 5.28014 9.41336ZM17 15C17 14.4477 17.4477 14 18 14C18.5523 14 19 14.4477 19 15V17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H19V21C19 21.5523 18.5523 22 18 22C17.4477 22 17 21.5523 17 21V19H15C14.4477 19 14 18.5523 14 18C14 17.4477 14.4477 17 15 17H17V15Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n <div>Upload Images</div>\n </li>\n\n {/* <li\n class=\"px-4 pb-2 hover:bg-gray-100 cursor-pointer flex\"\n onClick={() => {\n // this.captureScreen()\n // this.toggleBox()\n this.showMenu = !this.showMenu\n }}\n >\n <div class=\"mr-1 mt-px\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M12 9a3.75 3.75 0 1 0 0 7.5A3.75 3.75 0 0 0 12 9Z\"></path>\n <path\n fill-rule=\"evenodd\"\n d=\"M9.344 3.071a49.52 49.52 0 0 1 5.312 0c.967.052 1.83.585 2.332 1.39l.821 1.317c.24.383.645.643 1.11.71.386.054.77.113 1.152.177 1.432.239 2.429 1.493 2.429 2.909V18a3 3 0 0 1-3 3h-15a3 3 0 0 1-3-3V9.574c0-1.416.997-2.67 2.429-2.909.382-.064.766-.123 1.151-.178a1.56 1.56 0 0 0 1.11-.71l.822-1.315a2.942 2.942 0 0 1 2.332-1.39ZM6.75 12.75a5.25 5.25 0 1 1 10.5 0 5.25 5.25 0 0 1-10.5 0Zm12-1.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </div>\n <div>Capture</div>\n </li> */}\n </ul>\n </div>\n </div>\n )}\n <div class={`textarea ${this.isContent ? \"hidden\" : \"\"}`}>\n <div id=\"previewContainer\"></div>\n {this.showTextarea && (\n <textarea\n class={`resize-none overflow-hidden text-ellipsis focus:outline-none w-full ${this.hideAllButtons ? \"hidden\" : \"\"}`}\n data-testid=\"user-input-textarea\"\n rows={this.rowCount}\n name=\"userMessage\"\n placeholder={this.botSettings?.botPlaceholderText ?? \"Ask me anything\"}\n // aria-labelledby=\"message-submit\"\n ref={el => (this.inputEl = el as HTMLTextAreaElement)}\n onKeyUp={_e => {\n this.adjustHeight()\n }}\n onKeyDown={e => {\n this.handleKeyDown(e)\n if (e.key === \"Enter\" && !e.shiftKey) {\n this.isOpened = true\n }\n }}\n ></textarea>\n )}\n </div>\n {this.botSettings.enableMic && (\n <label class={`absolute bottom-0 ${this.isContent ? \"hidden\" : \"\"} ${this.hideAllButtons ? \"w-full\" : \"right-8\"}`}>\n <audio-recorder\n component-type=\"bot\"\n onStartRecord={_ev => {\n // console.log(\"test\", ev)\n this.hideAllButtons = true\n }}\n onStopRecord={_ev => {\n this.hideAllButtons = false\n }}\n onSendTranscript={ev => {\n // console.log(\"ev\", ev)\n\n setTimeout(() => {\n // console.log(\"input\", this.inputEl)\n if (this.inputEl) {\n this.inputEl.value = ev.detail\n this.adjustHeight()\n this.showSubmit = true\n }\n }, 1000)\n }}\n style={{ width: this.hideAllButtons ? \"100%\" : \"10%\" }}\n ></audio-recorder>\n </label>\n )}\n <label class={`absolute right-0 bottom-0 ${this.isContent ? \"hidden\" : \"\"} ${this.hideAllButtons ? \"hidden\" : \"\"}`}>\n <button\n class=\"btn-bg-color text-white transition rounded-full p-1.5 self-center\"\n // class=\"rounded-full flex items-center justify-center disabled:cursor-not-allowed bg-transparent hover:bg-blue-95 disabled:bg-transparent disabled:hover:bg-transparent h-8 w-8\"\n tabindex=\"-1\"\n id=\"message-submit\"\n // type=\"submit\"\n onClick={e => {\n e.preventDefault()\n if (!this.inputEl || this.inputEl.value.trim() === \"\") {\n return\n }\n this.isOpened = true\n // this.handleMessageSubmit(e)\n this.handleSend(this.inputEl?.value)\n }}\n >\n <i class=\"ai-icon block text-body1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" class=\"size-6\">\n <path\n fill-rule=\"evenodd\"\n d=\"M8 14a.75.75 0 0 1-.75-.75V4.56L4.03 7.78a.75.75 0 0 1-1.06-1.06l4.5-4.5a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1-1.06 1.06L8.75 4.56v8.69A.75.75 0 0 1 8 14Z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </i>\n </button>\n </label>\n\n <button\n class={`${this.isContent && !this.isMinimized ? \"block\" : \"hidden\"} rounded-full isContent`}\n aria-label=\"Return to AI\"\n onClick={ev => {\n ev.preventDefault()\n this.isContent = false\n this.isOpened = true\n this.isExpanded = true\n }}\n >\n <div class=\"font-bold text-body2 text-white hidden md:flex pl-3 items-center\">\n Return to AI\n <i class=\"inline-block pl-3 ai-minimize-icon block wes-icon--loading text-body1\" style={{ color: \" rgb(255, 255, 255)\" }}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 16\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.30775 9.15362H14.077C14.4231 9.15362 14.577 9.5767 14.3462 9.80747L10.6539 13.4998C10.4231 13.7305 10.4231 14.0767 10.6539 14.3075L11.5001 15.1536C11.7308 15.3844 12.077 15.3844 12.3077 15.1536L19.0385 8.38439C19.2693 8.15362 19.2693 7.80747 19.0385 7.5767L12.3077 0.845928C12.077 0.615159 11.7308 0.615159 11.5001 0.845928L10.6924 1.65362C10.4616 1.88439 10.4616 2.23054 10.6924 2.46131L14.3847 6.15362C14.6154 6.42285 14.4616 6.84593 14.1154 6.84593H1.34621C1.03852 6.84593 0.769287 7.0767 0.769287 7.38439V8.53824C0.769287 8.84593 1.00006 9.15362 1.30775 9.15362Z\"\n fill=\"white\"\n ></path>\n </svg>\n </i>\n </div>\n </button>\n </div>\n\n {this.isExpanded && !this.isOpened && <privacy-modal show={this.showPrivacy} message={this.botSettings.privacyTemplate}></privacy-modal>}\n </div>\n </fieldset>\n </form>\n {/* )} */}\n\n <div\n slot=\"bot\"\n class=\"fab pointer-events-auto fixed right-7 whitespace-nowrap transition-transform duration-300 ease-in-out\"\n style={{\n opacity: this.isMinimized ? \"1\" : \"0\",\n transform: this.isMinimized ? \"translateX(0)\" : \"translateX(-100%)\",\n pointerEvents: this.isMinimized ? \"auto\" : \"none\",\n transformOrigin: \"50% 50% 0px\",\n }}\n >\n <button\n class=\"rounded-full flex cursor-pointer items-center pr-[14px] md:gap-x-3 focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-blue-focused\"\n tabindex=\"0\"\n onClick={() => {\n this.isOpened = true\n this.isExpanded = false\n this.isMinimized = false\n this.isContent = false\n this.toggleTextarea()\n }}\n >\n {/* <div class=\"fixed bottom-4 left-4 flex items-center space-x-2 bg-gradient-to-r from-green-400 to-teal-500 text-white px-4 py-2 rounded-full shadow-lg\"> */}\n <div class=\"w-10 h-10 flex items-center justify-center bg-white rounded-full border relative\">\n {/* <div class=\"absolute bottom-[-2px] left-[3px] w-2 h-2 border-r-2 border-b-2 border-white rotate-45\"></div> */}\n {/* <svg class=\"w-5 h-5 text-gray-600\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 12l2 2 4-4\"></path>\n </svg> */}\n {this.botSettings.botLaunchIcon && <img src={this.botSettings.botLaunchIcon} alt=\"bot icon\" class=\"w-8 h-8 rounded-lg\" />}\n\n {!this.botSettings.botLaunchIcon && (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#2095ae\">\n <g stroke-width=\"0\"></g>\n <g stroke-linecap=\"round\" stroke-linejoin=\"round\"></g>\n <g>\n {\" \"}\n <path\n d=\"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\"\n stroke=\"#2095ae\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n ></path>{\" \"}\n </g>\n </svg>\n )}\n </div>\n <span class=\"font-medium text-white\">Ask {this.botSettings?.botName}</span>\n </button>\n </div>\n </div>\n )\n }\n}\n",":host {\n --bg-smoke-light: rgba(0, 0, 0, 0.5);\n margin-left: 20px;\n font-family: var(--ai12z-search-font-family) var(--ai12z-font-family) !important;\n font-size: var(--ai12z-search-font-size, var(--ai12z-font-size)) !important;\n}\n\nai12z-category {\n font-family: var(--ai12z-font-family) !important;\n font-size: var(--ai12z-search-font-size, var(--ai12z-font-size)) !important;\n}\n\n.bg-smoke-light {\n /* background-color: var(--bg-smoke-light); */\n transition: opacity 300ms ease-in-out;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 200;\n display: flex;\n height: 100vh;\n width: 100vw;\n cursor: auto;\n flex-direction: column;\n background-color: #0003;\n --tw-backdrop-blur: blur(4px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate)\n var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.modal-content {\n transition:\n transform 300ms ease-in-out,\n opacity 300ms ease-in-out;\n transform: scale(0.9);\n opacity: 0;\n}\n\n.modal-position {\n position: relative;\n padding: 2rem 1rem 0.5rem 1rem;\n flex-direction: column;\n}\n\n.modal-close {\n color: rgb(0 0 0);\n}\n\n.modal-close:hover {\n color: rgb(31 41 55);\n}\n\n.model-heading {\n color: var(--ai12z-heading-color);\n font-size: var(--ai12z-heading-font-size);\n}\n\n:host(.show-modal) .bg-smoke-light {\n opacity: 1;\n}\n\n:host(.show-modal) .modal-content {\n transform: scale(1);\n opacity: 1;\n}\n\n.modal-content-wrapper {\n /* padding: 2rem; */ /* 32 px */\n background-color: rgb(255 255 255);\n width: 100%;\n max-width: 48rem; /* 768px */\n /* margin: auto; */\n /* flex-direction: column; */\n border-radius: 0.5rem; /* 8px */\n margin: var(--ai12z-dialog-margin); /* 48px */\n}\n.custom-title {\n font-size: var(--ai12z-category-font-size);\n color: var(--ai12z-category-font-color);\n}\n.model-wrapper {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 200;\n display: flex;\n height: 100vh;\n width: 100vw;\n cursor: auto;\n flex-direction: column;\n background-color: #0003;\n padding: 1rem;\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate)\n var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate)\n var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.custom-model {\n overflow: auto;\n /* flex: none; */\n inset: 0px;\n position: fixed;\n min-height: 100vh;\n /* justify-content: center; */\n place-items: center;\n display: flex;\n}\n\n.modal-position .btn-position {\n position: absolute;\n right: 0px;\n top: 0px;\n padding: 0.25rem;\n}\n\n@media (max-width: 768px) {\n /* Styles for tablets and mobile phones */\n .modal-content-wrapper {\n width: 100%;\n height: 100dvh;\n margin: 0;\n border-radius: 0;\n padding: 1rem;\n }\n .custom-privacy {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n padding: 10px;\n }\n .modal-position .btn-position {\n padding: 0rem;\n }\n}\n\n.custom-privacy {\n color: var(--ai12z-knowledge-box-privacy-color);\n text-align: center;\n /* margin-top: 10px; */\n margin-top: auto; /* Pushes the footer to the bottom */\n}\n\n.custom-button {\n align-items: center;\n text-align: left;\n /* margin-left: 0.75rem; */ /* 12px */\n background-color: rgb(255 255 255);\n /* box-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); */\n /* --tw-ring-color: rgb(15 23 42); */\n color: rgb(148 163 184);\n border-radius: 0.5rem; /* 8px */\n width: 18rem; /* 288px */\n min-height: 3rem; /* 48px */\n padding-left: 1rem; /* 16px */\n padding-right: 1rem; /* 16px */\n}\n\n.custom-msg {\n text-align: center;\n color: var(--ai12z-font-mute);\n justify-content: center;\n padding: 2.5rem; /* 40px */\n max-width: 100ch !important;\n}\n\n/*Added the searchResult.tsx css*/\n\n.cta-search-results {\n border-top-width: 1px;\n border-bottom-width: 0px;\n border-color: rgb(243 244 246);\n}\n\n.cta-search-results-list {\n position: relative;\n padding-bottom: 1.25rem;\n padding-top: 1.25rem;\n}\n\n.cta-search-results-list:hover {\n background-color: var(--ai12z-hover-bg-color);\n}\n\n.cta-search-container {\n margin-left: auto;\n margin-right: auto;\n display: flex;\n max-width: 56rem;\n justify-content: space-between;\n column-gap: 1.5rem;\n}\n\n.cta-search-container-two {\n display: flex;\n min-width: 0px;\n column-gap: 1rem;\n}\n\n.cta-search-container-three {\n min-width: 0px;\n flex: 1 1 auto;\n}\n\n.cta-search-text {\n font-weight: 600;\n line-height: 1.5rem;\n font-size: var(--ai12z-search-result-title-font-size);\n color: var(--ai12z-search-result-title-color);\n}\n\n.cta-search-text-position {\n position: absolute;\n left: 0px;\n right: 0px;\n top: -1px;\n bottom: 0px;\n}\n\n.cta-search-description {\n margin-top: 0.25rem;\n display: flex;\n font-size: var(--ai12z-search-result-description-font-size);\n /* font-size: 0.75rem; 12px */\n line-height: 1rem; /* 16px */\n line-height: 1.25rem;\n color: var(--ai12z-search-result-description-color);\n}\n\n.cta-search-list-arrow {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n column-gap: 1rem;\n}\n\n.custom-icon-width {\n width: 4rem;\n}\n.results-icon svg {\n width: 1.5rem;\n height: 1.5rem;\n}\n","/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-bold);font-weight:600}.prose :where(astrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotestrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthstrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose]*)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose]*)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:\"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\"}.prose :where(blockquotep:first-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:open-quote}.prose :where(blockquotep:last-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose]*)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose]*)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:\"`\"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:\"`\"}.prose :where(acode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h1code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h2code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.875em}.prose :where(h3code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.9em}.prose :where(h4code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotecode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthcode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:none}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose]*)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(theadth):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbodytr):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbodytr:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-width:0}.prose :where(tbodytd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose]*)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(.prose>ul>lip):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(ulul,ulol,olul,olol):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(theadth:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(theadth:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(tbodytd,tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbodytd:first-child,tfoottd:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(tbodytd:last-child,tfoottd:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-12{bottom:3rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-\\[-2px\\]{bottom:-2px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:1rem}.left-5{left:1.25rem}.left-\\[3px\\]{left:3px}.right-0{right:0}.right-4{right:1rem}.right-7{right:1.75rem}.right-8{right:2rem}.top-0{top:0}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.m-\\[-1px\\]{margin:-1px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-0\\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.ms-2{margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-6{height:1.5rem;width:1.5rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:20rem}.min-h-\\[calc\\(100\\%-1px\\)\\]{min-height:calc(100% - 1px)}.min-h-fit{min-height:fit-content}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-11\\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\\[1px\\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.min-w-\\[200px\\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\\[1_1_0\\]{flex:1 1 0}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-y-\\[0\\.5px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[0\\.5px\\]{--tw-translate-y:0.5px}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-2{column-gap:.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\\[10px\\]{padding:10px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-\\[14px\\]{padding-right:14px}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#001E5B\\]{--tw-text-opacity:1;color:rgb(0 30 91/var(--tw-text-opacity))}.text-\\[\\#0344D1\\]{--tw-text-opacity:1;color:rgb(3 68 209/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-slate-900\\/10{--tw-ring-color:rgba(15,23,42,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[ko_memo\\:\\\"\\+n\\+\\\"\\]{ko_memo:\"+n+\"}.after\\:invisible:after{content:var(--tw-content);visibility:hidden}.after\\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-gradient-to-t:hover{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline:focus{outline-style:solid}.focus\\:outline-2:focus{outline-width:2px}.focus\\:outline-offset-2:focus{outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity))}.focus\\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-transparent:disabled,.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.peer:checked~.peer-checked\\:block{display:block}:is(.dark.dark\\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark.dark\\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}:is(.dark.dark\\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark.dark\\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:is(.dark.dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark.dark\\:hover\\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}:is(.dark.dark\\:focus\\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (min-width:640px){.sm\\:h-3{height:.75rem}.sm\\:w-3{width:.75rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\\:right-0{right:0}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:ml-2{margin-left:.5rem}.md\\:mt-6{margin-top:1.5rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:grid{display:grid}.md\\:h-4{height:1rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-4{width:1rem}.md\\:max-w-xl{max-width:36rem}.md\\:flex-none{flex:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:gap-4{gap:1rem}.md\\:gap-x-3{column-gap:.75rem}.md\\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\\:p-2{padding:.5rem}.md\\:p-2\\.5{padding:.625rem}.md\\:p-4{padding:1rem}.md\\:pl-0{padding-left:0}.md\\:pl-3{padding-left:.75rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}.rtl\\:rotate-180:where([dir=rtl],[dir=rtl]*){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\\:space-x-reverse:where([dir=rtl],[dir=rtl]*)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}\n/*# sourceMappingURL=data:application/json;base64,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Q0FBQyxrQkFBa0IsNkJBQTZCLENBQUMsOEJBQThCLENBQUMsU0FBUyxhQUFhLENBQUMsWUFBWSxlQUFlLENBQUMsU0FBUyxZQUFZLENBQUMsVUFBVSxjQUFjLENBQUMsVUFBVSxtQkFBbUIsQ0FBQyxjQUFjLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGFBQWEsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQywwQkFBMEIsVUFBVSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDZDQUE2QyxrQkFBa0IsQ0FBQyw2TEFBNkwsQ0FBQyxnRkFBZ0Ysc0JBQXNCIiwiZmlsZSI6InRhaWx3aW5kLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgdGFpbHdpbmRjc3MgdjMuNC4xIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSovKiw6YWZ0ZXIsOmJlZm9yZXtib3JkZXI6MCBzb2xpZCAjZTVlN2ViO2JveC1zaXppbmc6Ym9yZGVyLWJveH06YWZ0ZXIsOmJlZm9yZXstLXR3LWNvbnRlbnQ6XCJcIn06aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Y29sb3I6aW5oZXJpdDtoZWlnaHQ6MH1hYmJyOndoZXJlKFt0aXRsZV0pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXNpemU6MWVtO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOm5vcm1hbH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1jb2xvcjppbmhlcml0O3RleHQtaW5kZW50OjB9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1bdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowfWZpZWxkc2V0LGxlZ2VuZHtwYWRkaW5nOjB9bWVudSxvbCx1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfWRpYWxvZ3twYWRkaW5nOjB9dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6IzljYTNhZjtvcGFjaXR5OjF9W3JvbGU9YnV0dG9uXSxidXR0b257Y3Vyc29yOnBvaW50ZXJ9OmRpc2FibGVke2N1cnNvcjpkZWZhdWx0fWF1ZGlvLGNhbnZhcyxlbWJlZCxpZnJhbWUsaW1nLG9iamVjdCxzdmcsdmlkZW97ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9aW1nLHZpZGVve2hlaWdodDphdXRvO21heC13aWR0aDoxMDAlfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX0qLDphZnRlciw6YmVmb3Jley0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH06OmJhY2tkcm9wey0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjY0MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NzY4cHh9fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6MTAyNHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjEyODBweH19QG1lZGlhIChtaW4td2lkdGg6MTUzNnB4KXsuY29udGFpbmVye21heC13aWR0aDoxNTM2cHh9fS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbX0ucHJvc2UgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOjEuMmVtO21hcmdpbi10b3A6MS4yZW19LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9sZCk7Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoYXN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShibG9ja3F1b3Rlc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHRoZWFkdGhzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbDttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPUlzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ucHJvc2UgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmRpc2M7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWJ1bGxldHMpfS5wcm9zZSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi1ib3R0b206M2VtO21hcmdpbi10b3A6M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDouMjVyZW07Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7bWFyZ2luLWJvdHRvbToxLjZlbTttYXJnaW4tdG9wOjEuNmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbTtxdW90ZXM6XCJcXDIwMUNcIlwiXFwyMDFEXCJcIlxcMjAxOFwiXCJcXDIwMTlcIn0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGVwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpvcGVuLXF1b3RlfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZXA6bGFzdC1vZi10eXBlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToyLjI1ZW07Zm9udC13ZWlnaHQ6ODAwO2xpbmUtaGVpZ2h0OjEuMTExMTExMTttYXJnaW4tYm90dG9tOi44ODg4ODg5ZW07bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDFzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjVlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO21hcmdpbi1ib3R0b206MWVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoaDJzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjgwMH0ucHJvc2UgOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOi42ZW07bWFyZ2luLXRvcDoxLjZlbX0ucHJvc2UgOndoZXJlKGgzc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS41O21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOjEuNWVtfS5wcm9zZSA6d2hlcmUoaDRzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMH0ucHJvc2UgOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW19LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSksMCAzcHggMCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSk7Y29sb3I6dmFyKC0tdHctcHJvc2Uta2JkKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpcImBcIn0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDFjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UgOndoZXJlKGgzY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUodGhlYWR0aGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO2JvcmRlci1yYWRpdXM6LjM3NXJlbTtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyODU3O21hcmdpbi1ib3R0b206MS43MTQyODU3ZW07bWFyZ2luLXRvcDoxLjcxNDI4NTdlbTtvdmVyZmxvdy14OmF1dG87cGFkZGluZy1pbmxpbmUtZW5kOjEuMTQyODU3MWVtO3BhZGRpbmctYm90dG9tOi44NTcxNDI5ZW07cGFkZGluZy10b3A6Ljg1NzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg1NzFlbX0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MDtib3JkZXItd2lkdGg6MDtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpub25lfS5wcm9zZSA6d2hlcmUocHJlY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI4NTc7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW07dGFibGUtbGF5b3V0OmF1dG87dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGhlYWR0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0Mjg2ZW07cGFkZGluZy1ib3R0b206LjU3MTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNTcxNDI4NmVtO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ucHJvc2UgOndoZXJlKHRib2R5dHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGJvZHl0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wcm9zZSA6d2hlcmUodGJvZHl0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItdG9wLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGZvb3R0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKGZpZ3VyZT4qKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jYXB0aW9ucyk7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjQyODU3MTQ7bWFyZ2luLXRvcDouODU3MTQyOWVtfS5wcm9zZXstLXR3LXByb3NlLWJvZHk6IzM3NDE1MTstLXR3LXByb3NlLWhlYWRpbmdzOiMxMTE4Mjc7LS10dy1wcm9zZS1sZWFkOiM0YjU1NjM7LS10dy1wcm9zZS1saW5rczojMTExODI3Oy0tdHctcHJvc2UtYm9sZDojMTExODI3Oy0tdHctcHJvc2UtY291bnRlcnM6IzZiNzI4MDstLXR3LXByb3NlLWJ1bGxldHM6I2QxZDVkYjstLXR3LXByb3NlLWhyOiNlNWU3ZWI7LS10dy1wcm9zZS1xdW90ZXM6IzExMTgyNzstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6I2U1ZTdlYjstLXR3LXByb3NlLWNhcHRpb25zOiM2YjcyODA7LS10dy1wcm9zZS1rYmQ6IzExMTgyNzstLXR3LXByb3NlLWtiZC1zaGFkb3dzOjE3IDI0IDM5Oy0tdHctcHJvc2UtY29kZTojMTExODI3Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWYyOTM3Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRiOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYjstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6IzljYTNhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRiNTU2MzstLXR3LXByb3NlLWludmVydC1ocjojMzc0MTUxOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM3NDE1MTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOjI1NSAyNTUgMjU1Oy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRiOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzpyZ2JhKDAsMCwwLC41KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOiM0YjU1NjM7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczojMzc0MTUxO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM3NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+dWw+bGk+cDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWx1bCx1bG9sLG9sdWwsb2xvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6LjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZSA6d2hlcmUodGhlYWR0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkLHRmb290dGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1lbmQ6LjU3MTQyODZlbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI4NmVtO3BhZGRpbmctdG9wOi41NzE0Mjg2ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyODZlbX0ucHJvc2UgOndoZXJlKHRib2R5dGQ6Zmlyc3QtY2hpbGQsdGZvb3R0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkOmxhc3QtY2hpbGQsdGZvb3R0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjJlbTttYXJnaW4tdG9wOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2U+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjB9LnNyLW9ubHl7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyLXdpZHRoOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30udmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uZml4ZWR7cG9zaXRpb246Zml4ZWR9LmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDowfS5ib3R0b20tMHtib3R0b206MH0uYm90dG9tLTEye2JvdHRvbTozcmVtfS5ib3R0b20tNHtib3R0b206MXJlbX0uYm90dG9tLTV7Ym90dG9tOjEuMjVyZW19LmJvdHRvbS02e2JvdHRvbToxLjVyZW19LmJvdHRvbS1cXFstMnB4XFxde2JvdHRvbTotMnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTR7bGVmdDoxcmVtfS5sZWZ0LTV7bGVmdDoxLjI1cmVtfS5sZWZ0LVxcWzNweFxcXXtsZWZ0OjNweH0ucmlnaHQtMHtyaWdodDowfS5yaWdodC00e3JpZ2h0OjFyZW19LnJpZ2h0LTd7cmlnaHQ6MS43NXJlbX0ucmlnaHQtOHtyaWdodDoycmVtfS50b3AtMHt0b3A6MH0uei0xMHt6LWluZGV4OjEwfS56LTMwe3otaW5kZXg6MzB9LnotNTB7ei1pbmRleDo1MH0uY29sLXNwYW4tMXtncmlkLWNvbHVtbjpzcGFuIDEvc3BhbiAxfS5jb2wtc3Bhbi0ye2dyaWQtY29sdW1uOnNwYW4gMi9zcGFuIDJ9Lm0tXFxbLTFweFxcXXttYXJnaW46LTFweH0ubXgtMXttYXJnaW4tbGVmdDouMjVyZW07bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5teS00e21hcmdpbi1ib3R0b206MXJlbTttYXJnaW4tdG9wOjFyZW19Li1tbC0xe21hcmdpbi1sZWZ0Oi0uMjVyZW19Lm1iLTF7bWFyZ2luLWJvdHRvbTouMjVyZW19Lm1iLTFcXC41e21hcmdpbi1ib3R0b206LjM3NXJlbX0ubWItMnttYXJnaW4tYm90dG9tOi41cmVtfS5tYi0ze21hcmdpbi1ib3R0b206Ljc1cmVtfS5tYi00e21hcmdpbi1ib3R0b206MXJlbX0ubWwtMXttYXJnaW4tbGVmdDouMjVyZW19Lm1sLTJ7bWFyZ2luLWxlZnQ6LjVyZW19Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubXItMHttYXJnaW4tcmlnaHQ6MH0ubXItMFxcLjV7bWFyZ2luLXJpZ2h0Oi4xMjVyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItM3ttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5tcy0ye21hcmdpbi1pbmxpbmUtc3RhcnQ6LjVyZW19Lm10LTB7bWFyZ2luLXRvcDowfS5tdC0wXFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTF7bWFyZ2luLXRvcDouMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtMlxcLjV7bWFyZ2luLXRvcDouNjI1cmVtfS5tdC00e21hcmdpbi10b3A6MXJlbX0ubXQtcHh7bWFyZ2luLXRvcDoxcHh9LmJveC1ib3JkZXJ7Ym94LXNpemluZzpib3JkZXItYm94fS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZXtkaXNwbGF5OmlubGluZX0uZmxleHtkaXNwbGF5OmZsZXh9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LmdyaWR7ZGlzcGxheTpncmlkfS5jb250ZW50c3tkaXNwbGF5OmNvbnRlbnRzfS5oaWRkZW57ZGlzcGxheTpub25lfS5zaXplLTEwe2hlaWdodDoyLjVyZW07d2lkdGg6Mi41cmVtfS5zaXplLTZ7aGVpZ2h0OjEuNXJlbTt3aWR0aDoxLjVyZW19LmgtMTB7aGVpZ2h0OjIuNXJlbX0uaC0xMntoZWlnaHQ6M3JlbX0uaC0xNHtoZWlnaHQ6My41cmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcXC41e2hlaWdodDouNjI1cmVtfS5oLTN7aGVpZ2h0Oi43NXJlbX0uaC0zXFwuNXtoZWlnaHQ6Ljg3NXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTV7aGVpZ2h0OjEuMjVyZW19LmgtNTZ7aGVpZ2h0OjE0cmVtfS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02NHtoZWlnaHQ6MTZyZW19LmgtOHtoZWlnaHQ6MnJlbX0uaC05NntoZWlnaHQ6MjRyZW19LmgtXFxbMXB4XFxde2hlaWdodDoxcHh9LmgtYXV0b3toZWlnaHQ6YXV0b30uaC1maXR7aGVpZ2h0OmZpdC1jb250ZW50fS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtODB7bWF4LWhlaWdodDoyMHJlbX0ubWluLWgtXFxbY2FsY1xcKDEwMFxcJS0xcHhcXClcXF17bWluLWhlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5taW4taC1maXR7bWluLWhlaWdodDpmaXQtY29udGVudH0udy0xXFwvMnt3aWR0aDo1MCV9LnctMTB7d2lkdGg6Mi41cmVtfS53LTExXFwvMTJ7d2lkdGg6OTEuNjY2NjY3JX0udy0xMnt3aWR0aDozcmVtfS53LTE0e3dpZHRoOjMuNXJlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcXC41e3dpZHRoOi42MjVyZW19LnctM3t3aWR0aDouNzVyZW19LnctM1xcLjV7d2lkdGg6Ljg3NXJlbX0udy00e3dpZHRoOjFyZW19LnctNDB7d2lkdGg6MTByZW19LnctNDR7d2lkdGg6MTFyZW19LnctNDh7d2lkdGg6MTJyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTh7d2lkdGg6MnJlbX0udy1cXFsxcHhcXF17d2lkdGg6MXB4fS53LWF1dG97d2lkdGg6YXV0b30udy1mdWxse3dpZHRoOjEwMCV9Lm1pbi13LVxcWzIwMHB4XFxde21pbi13aWR0aDoyMDBweH0ubWluLXctZnVsbHttaW4td2lkdGg6MTAwJX0ubWF4LXctMnhse21heC13aWR0aDo0MnJlbX0ubWF4LXctM3hse21heC13aWR0aDo0OHJlbX0ubWF4LXctZnVsbHttYXgtd2lkdGg6MTAwJX0ubWF4LXctbGd7bWF4LXdpZHRoOjMycmVtfS5tYXgtdy1zbXttYXgtd2lkdGg6MjRyZW19LmZsZXgtMXtmbGV4OjEgMSAwJX0uZmxleC1cXFsxXzFfMFxcXXtmbGV4OjEgMSAwfS5mbGV4LWF1dG97ZmxleDoxIDEgYXV0b30uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93e2ZsZXgtZ3JvdzoxfS4tdHJhbnNsYXRlLXgtMVxcLzJ7LS10dy10cmFuc2xhdGUteDotNTAlfS4tdHJhbnNsYXRlLXgtMVxcLzIsLnRyYW5zbGF0ZS15LVxcWzBcXC41cHhcXF17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS1cXFswXFwuNXB4XFxdey0tdHctdHJhbnNsYXRlLXk6MC41cHh9LnJvdGF0ZS00NXstLXR3LXJvdGF0ZTo0NWRlZ30ucm90YXRlLTQ1LC5zY2FsZS0xMDB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS0xMDB7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjF9LnNjYWxlLTExMHstLXR3LXNjYWxlLXg6MS4xOy0tdHctc2NhbGUteToxLjF9LnNjYWxlLTExMCwuc2NhbGUtOTB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS05MHstLXR3LXNjYWxlLXg6Ljk7LS10dy1zY2FsZS15Oi45fS50cmFuc2Zvcm17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgcGluZ3s3NSUsdG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19LmFuaW1hdGUtcGluZ3thbmltYXRpb246cGluZyAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIGluZmluaXRlfUBrZXlmcmFtZXMgcHVsc2V7NTAle29wYWNpdHk6LjV9fS5hbmltYXRlLXB1bHNle2FuaW1hdGlvbjpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0ucmVzaXplLW5vbmV7cmVzaXplOm5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0uZ3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS5wbGFjZS1jb250ZW50LWNlbnRlcntwbGFjZS1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5nYXAtMXtnYXA6LjI1cmVtfS5nYXAtMVxcLjV7Z2FwOi4zNzVyZW19LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTR7Z2FwOjFyZW19LmdhcC14LTJ7Y29sdW1uLWdhcDouNXJlbX0uZ2FwLXktMXtyb3ctZ2FwOi4yNXJlbX0uZ2FwLXktM3tyb3ctZ2FwOi43NXJlbX0uc3BhY2UteC0xPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO21hcmdpbi1yaWdodDpjYWxjKC41cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC43NXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNzVyZW0qdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSl9LnNwYWNlLXgtND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTowO21hcmdpbi1sZWZ0OmNhbGMoMXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYygxcmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjVyZW0qdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLXRvcDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfS5zcGFjZS15LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjc1cmVtKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi10b3A6Y2FsYyguNzVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LnNlbGYtZW5ke2FsaWduLXNlbGY6ZmxleC1lbmR9LnNlbGYtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyfS5vdmVyZmxvdy1hdXRve292ZXJmbG93OmF1dG99Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LXgtYXV0b3tvdmVyZmxvdy14OmF1dG99Lm92ZXJmbG93LXktc2Nyb2xse292ZXJmbG93LXk6c2Nyb2xsfS5vdmVyc2Nyb2xsLWNvbnRhaW57b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS50cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWVsbGlwc2lzLC50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LmJyZWFrLXdvcmRze292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC0yeGx7Ym9yZGVyLXJhZGl1czoxcmVtfS5yb3VuZGVkLTN4bHtib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6OTk5OXB4fS5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czouMzc1cmVtfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Ljc1cmVtfS5yb3VuZGVkLWItMnhse2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxcmVtfS5ib3JkZXJ7Ym9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLTB7Ym9yZGVyLXdpZHRoOjB9LmJvcmRlci0ye2JvcmRlci13aWR0aDoycHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItYi0ye2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItbHtib3JkZXItbGVmdC13aWR0aDoxcHh9LmJvcmRlci1yLTJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWR9LmJvcmRlci1ibHVlLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTIwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItZ3JheS0zMDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjA5IDIxMyAyMTkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXJlZC01MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci13aGl0ZXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5iZy1ibHVlLTUwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS02MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS03MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjkgNzggMjE2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS0yMDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmF5LTMwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLWdyYXktNTAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS04MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1pbmhlcml0e2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYmctd2hpdGV7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1vcGFjaXR5LTUwey0tdHctYmctb3BhY2l0eTowLjV9LmJnLW9wYWNpdHktNjB7LS10dy1iZy1vcGFjaXR5OjAuNn0uYmctZ3JhZGllbnQtdG8tcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpfS5mcm9tLWdyZWVuLTQwMHstLXR3LWdyYWRpZW50LWZyb206IzRhZGU4MCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOnJnYmEoNzQsMjIyLDEyOCwwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC1mcm9tKSx2YXIoLS10dy1ncmFkaWVudC10byl9LnRvLXRlYWwtNTAwey0tdHctZ3JhZGllbnQtdG86IzE0YjhhNiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzowfS5wLTF7cGFkZGluZzouMjVyZW19LnAtMVxcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0yXFwuNXtwYWRkaW5nOi42MjVyZW19LnAtM3twYWRkaW5nOi43NXJlbX0ucC00e3BhZGRpbmc6MXJlbX0ucC01e3BhZGRpbmc6MS4yNXJlbX0ucC02e3BhZGRpbmc6MS41cmVtfS5wLVxcWzEwcHhcXF17cGFkZGluZzoxMHB4fS5weC0xe3BhZGRpbmctbGVmdDouMjVyZW07cGFkZGluZy1yaWdodDouMjVyZW19LnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0ucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTV7cGFkZGluZy1sZWZ0OjEuMjVyZW07cGFkZGluZy1yaWdodDoxLjI1cmVtfS5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbTtwYWRkaW5nLXRvcDouMjVyZW19LnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy10b3A6LjVyZW19LnB5LTJcXC41e3BhZGRpbmctYm90dG9tOi42MjVyZW07cGFkZGluZy10b3A6LjYyNXJlbX0ucGItMXtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnBiLTJ7cGFkZGluZy1ib3R0b206LjVyZW19LnBiLTN7cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wbC0we3BhZGRpbmctbGVmdDowfS5wbC0xe3BhZGRpbmctbGVmdDouMjVyZW19LnBsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtfS5wbC0ze3BhZGRpbmctbGVmdDouNzVyZW19LnBsLTR7cGFkZGluZy1sZWZ0OjFyZW19LnByLTJ7cGFkZGluZy1yaWdodDouNXJlbX0ucHItXFxbMTRweFxcXXtwYWRkaW5nLXJpZ2h0OjE0cHh9LnB0LTJ7cGFkZGluZy10b3A6LjVyZW19LnB0LTV7cGFkZGluZy10b3A6MS4yNXJlbX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0uZm9udC1zYW5ze2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vaml9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1zbXtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjI1cmVtfS5mb250LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5mb250LWxpZ2h0e2ZvbnQtd2VpZ2h0OjMwMH0uZm9udC1tZWRpdW17Zm9udC13ZWlnaHQ6NTAwfS5mb250LW5vcm1hbHtmb250LXdlaWdodDo0MDB9LmZvbnQtc2VtaWJvbGR7Zm9udC13ZWlnaHQ6NjAwfS51cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5sZWFkaW5nLW5vcm1hbHtsaW5lLWhlaWdodDoxLjV9LnRyYWNraW5nLXRpZ2h0e2xldHRlci1zcGFjaW5nOi0uMDI1ZW19LnRleHQtXFxbXFwjMDAxRTVCXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDAgMzAgOTEvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtXFxbXFwjMDM0NEQxXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMgNjggMjA5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWJsdWUtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU5IDEzMCAyNDYvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtYmx1ZS02MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNjAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDc1IDg1IDk5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNzAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU1IDY1IDgxL3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktODAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktOTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE3IDI0IDM5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXJlZC01MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXNsYXRlLTMwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMDMgMjEzIDIyNS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC1zbGF0ZS00MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtd2hpdGV7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTEwMHtvcGFjaXR5OjF9Lm9wYWNpdHktMjV7b3BhY2l0eTouMjV9Lm9wYWNpdHktNzV7b3BhY2l0eTouNzV9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAycHggLTFweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LC5zaGFkb3ctbGd7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHJnYmEoMCwwLDAsLjEpLDAgNHB4IDZweCAtNHB4IHJnYmEoMCwwLDAsLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcil9LnNoYWRvdy1tZHstLXR3LXNoYWRvdzowIDRweCA2cHggLTFweCByZ2JhKDAsMCwwLC4xKSwwIDJweCA0cHggLTJweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LW1kLC5zaGFkb3ctc217Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpfS5zaGFkb3cteGx7LS10dy1zaGFkb3c6MCAyMHB4IDI1cHggLTVweCByZ2JhKDAsMCwwLC4xKSwwIDhweCAxMHB4IC02cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA4cHggMTBweCAtNnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9Lm91dGxpbmUtbm9uZXtvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHh9Lm91dGxpbmV7b3V0bGluZS1zdHlsZTpzb2xpZH0ucmluZ3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5yaW5nLC5yaW5nLTF7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0ucmluZy0xey0tdHctcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDFweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcil9LnJpbmctc2xhdGUtOTAwXFwvMTB7LS10dy1yaW5nLWNvbG9yOnJnYmEoMTUsMjMsNDIsLjEpfS5ibHVyey0tdHctYmx1cjpibHVyKDhweCl9LmJsdXIsLmZpbHRlcntmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi10cmFuc2Zvcm17dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTcwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi43c30uZWFzZS1pbi1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LmVhc2Utb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9LlxcW2tvX21lbW9cXDpcXFwiXFwrblxcK1xcXCJcXF17a29fbWVtbzpcIituK1wifS5hZnRlclxcOmludmlzaWJsZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Zpc2liaWxpdHk6aGlkZGVufS5hZnRlclxcOndoaXRlc3BhY2UtcHJlLXdyYXA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uaG92ZXJcXDpiZy1ibHVlLTcwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyOSA3OCAyMTYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWJsdWUtODAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDMwIDY0IDE3NS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmhvdmVyXFw6YmctZ3JheS0xMDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQzIDI0NCAyNDYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWdyYXktNDAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1pbmRpZ28tMzAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE2NSAxODAgMjUyL3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1vcGFjaXR5LTgwOmhvdmVyey0tdHctYmctb3BhY2l0eTowLjh9LmhvdmVyXFw6YmctZ3JhZGllbnQtdG8tdDpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AsdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uaG92ZXJcXDp0ZXh0LWJsdWUtNzAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaG92ZXJcXDp0ZXh0LXdoaXRlOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5ob3ZlclxcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXFw6c2hhZG93LWxnOmhvdmVyey0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwuMSksMCA0cHggNnB4IC00cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpyaW5nLXNsYXRlLTMwMDpob3ZlcnstLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmZvY3VzXFw6b3V0bGluZS1ub25lOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXNcXDpvdXRsaW5lOmZvY3Vze291dGxpbmUtc3R5bGU6c29saWR9LmZvY3VzXFw6b3V0bGluZS0yOmZvY3Vze291dGxpbmUtd2lkdGg6MnB4fS5mb2N1c1xcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1c1xcOnJpbmctMDpmb2N1c3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYyh2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5mb2N1c1xcOnJpbmctMDpmb2N1cywuZm9jdXNcXDpyaW5nLTI6Zm9jdXN7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0uZm9jdXNcXDpyaW5nLTI6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKX0uZm9jdXNcXDpyaW5nLTQ6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoNHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywwIDAgIzAwMDApfS5mb2N1c1xcOnJpbmctYmx1ZS0zMDA6Zm9jdXN7LS10dy1yaW5nLW9wYWNpdHk6MTstLXR3LXJpbmctY29sb3I6cmdiKDE0NyAxOTcgMjUzL3ZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5mb2N1c1xcOnJpbmctc2t5LTUwMDpmb2N1c3stLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMTQgMTY1IDIzMy92YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFxcOmJnLXRyYW5zcGFyZW50OmRpc2FibGVkLC5kaXNhYmxlZFxcOmhvdmVyXFw6YmctdHJhbnNwYXJlbnQ6aG92ZXI6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGVlcjpjaGVja2Vkfi5wZWVyLWNoZWNrZWRcXDpibG9ja3tkaXNwbGF5OmJsb2NrfTppcyguZGFyay5kYXJrXFw6Ym9yZGVyLWdyYXktNzAwKXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1NSA2NSA4MS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6YmctYmx1ZS02MDApey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM3IDk5IDIzNS92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LWdyYXktMTAwKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNDMgMjQ0IDI0Ni92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOnRleHQtZ3JheS00MDApey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6dGV4dC1ncmF5LTgwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXNsYXRlLTQwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXdoaXRlKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOmhvdmVyXFw6YmctYmx1ZS03MDA6aG92ZXIpey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDpmb2N1c1xcOnJpbmctYmx1ZS04MDA6Zm9jdXMpey0tdHctcmluZy1vcGFjaXR5OjE7LS10dy1yaW5nLWNvbG9yOnJnYigzMCA2NCAxNzUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVxcOmgtM3toZWlnaHQ6Ljc1cmVtfS5zbVxcOnctM3t3aWR0aDouNzVyZW19LnNtXFw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1kXFw6cmlnaHQtMHtyaWdodDowfS5tZFxcOmNvbC1zcGFuLTJ7Z3JpZC1jb2x1bW46c3BhbiAyL3NwYW4gMn0ubWRcXDptbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tZFxcOm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpncmlke2Rpc3BsYXk6Z3JpZH0ubWRcXDpoLTR7aGVpZ2h0OjFyZW19Lm1kXFw6aC05NntoZWlnaHQ6MjRyZW19Lm1kXFw6aC1hdXRve2hlaWdodDphdXRvfS5tZFxcOnctMVxcLzJ7d2lkdGg6NTAlfS5tZFxcOnctMVxcLzN7d2lkdGg6MzMuMzMzMzMzJX0ubWRcXDp3LTJcXC8ze3dpZHRoOjY2LjY2NjY2NyV9Lm1kXFw6dy00e3dpZHRoOjFyZW19Lm1kXFw6bWF4LXcteGx7bWF4LXdpZHRoOjM2cmVtfS5tZFxcOmZsZXgtbm9uZXtmbGV4Om5vbmV9Lm1kXFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubWRcXDpnYXAtNHtnYXA6MXJlbX0ubWRcXDpnYXAteC0ze2NvbHVtbi1nYXA6Ljc1cmVtfS5tZFxcOnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi43NXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouNzVyZW19Lm1kXFw6cC0ye3BhZGRpbmc6LjVyZW19Lm1kXFw6cC0yXFwuNXtwYWRkaW5nOi42MjVyZW19Lm1kXFw6cC00e3BhZGRpbmc6MXJlbX0ubWRcXDpwbC0we3BhZGRpbmctbGVmdDowfS5tZFxcOnBsLTN7cGFkZGluZy1sZWZ0Oi43NXJlbX0ubWRcXDp0ZXh0LTN4bHtmb250LXNpemU6MS44NzVyZW07bGluZS1oZWlnaHQ6Mi4yNXJlbX0ubWRcXDp0ZXh0LXhse2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmxnXFw6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fS5ydGxcXDpyb3RhdGUtMTgwOndoZXJlKFtkaXI9cnRsXSxbZGlyPXJ0bF0qKXstLXR3LXJvdGF0ZToxODBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ydGxcXDpzcGFjZS14LXJldmVyc2U6d2hlcmUoW2Rpcj1ydGxdLFtkaXI9cnRsXSopPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjF9Il19 */","import { Component, h, Method, State, Listen, Element, Prop, Host, Event, EventEmitter } from \"@stencil/core\"\nimport { search, sendFeedback, checkStatus, getConfig } from \"../../utils/utils\"\n// import InputForm from \"./components/Form\"\nimport SearchResult from \"./components/SearchResult\"\n\nimport { SocketService } from \"../../utils/socket-service\"\nimport { setCtaElement } from \"../../utils/global-store\"\n\n@Component({\n tag: \"ai12z-cta\",\n styleUrls: [\"./ai12z-cta.css\", \"../../global/tailwind.min.css\"],\n shadow: true,\n // scoped: true\n})\nexport class Ai12zCta {\n private dirty: boolean = false\n private isSubmitted = false\n private pButtonText: string = \"Ask AI\"\n private pPlaceholder: string = \"AI search...\"\n private pHelpText: string = \"Enter text to get started\"\n private pNoResultsText: string = \"No results found\"\n private errorMsg: string = \"Error please try again!\"\n private pheading: string = \"\"\n // private socket: any\n @State() socketService: SocketService\n\n @Prop({ mutable: true }) isCta: boolean = false\n @Prop({ reflect: true }) dataKey: string\n @Prop({ reflect: true }) dataMode: string\n @Prop({ reflect: true }) configId: string\n @Prop() dataAttributes: string\n @Prop() excludeTags: Array<string> = []\n @Prop() includeTags: Array<string> = []\n\n @State() ctaSettings: any = {}\n\n @Element() el!: HTMLElement\n @State() showModal: boolean = false\n @State() timer: any\n @State() questionCounter: number = 0\n @State() formData: { search: string; displayText: string } = { search: \"\", displayText: \"\" }\n @State() searchResults = []\n @State() error = null\n @State() conversationId = null\n @State() canRender = true\n @State() chatHistory = []\n @State() isChat = false\n @State() aiMessageId = null\n @State() thumbsId: string\n @State() imgFiles: any\n\n //#region Public onEvents\n @Event() errored: EventEmitter\n @Event() buttonClicked: EventEmitter\n @Event() messageSent: EventEmitter\n @Event() messageReceived: EventEmitter\n @Event() open: EventEmitter\n @Event() close: EventEmitter\n //#endregion\n\n @Event() stateChanged: EventEmitter\n @Event() clearResults: EventEmitter\n @Event() clearInput: EventEmitter\n @Event() stopStream: EventEmitter\n @Event() startStream: EventEmitter<{ search: string; maxQuestion?: boolean; chatData?: any; attributes?: any; imgFiles?: any }> // Add attributes to the type\n @Event() survey: EventEmitter\n @Event({\n eventName: \"formSubmitted\",\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n formSubmitted: EventEmitter<any>\n @Event({ composed: true, cancelable: true, bubbles: true }) streamResponse: EventEmitter<any>\n @Event({ composed: true, cancelable: true, bubbles: true }) endResponse: EventEmitter<any>\n\n private cdnPath: string = \"https://cdn.ai12z.net/assets/bot\"\n\n // @Watch(\"placeholder\")\n // watchPlaceHolder(newValue: string, oldValue: string) {\n // if (newValue === oldValue) {\n // return\n // }\n // this.pPlaceholder = newValue\n // }\n\n @Method()\n async openModal() {\n this.showModal = true\n this.dirty = false\n // this.invokeSocket()\n if (this.ctaSettings?.clearMemory) {\n this.clearSearchHistory()\n }\n requestAnimationFrame(() => {\n const searchInput = this.el.shadowRoot.querySelector(\"ai12z-input-form\").shadowRoot.querySelector(\"textarea\")\n searchInput.focus()\n this.el.shadowRoot.querySelector(\".modal-wrapper\").classList.add(\"show-modal\")\n if (document.querySelector(\"ai12z-bot\")) {\n const botEle = document.querySelector(\"ai12z-bot\")\n botEle.shadowRoot.querySelector(\".floating-icon\")?.classList.add(\"hide-chatbot\")\n botEle.shadowRoot.querySelector(\"bot-popover\")?.classList.add(\"hide-chatbot\")\n }\n })\n\n this.open.emit()\n this.setLocalData()\n this.socketService = SocketService.createInstance(this.dataMode)\n }\n\n setLocalData() {\n const ctaData = { qCounter: this.questionCounter }\n localStorage.setItem(`ai12z-cta-data`, JSON.stringify(ctaData))\n }\n\n @Method()\n async sendMessage(message: string, displayText?: string) {\n this.formData.search = message\n this.formData.displayText = displayText ?? message\n this.handleSubmit(null, this.formData.search, \"ask-ai\", false, null)\n this.messageSent.emit(message)\n }\n\n @Method()\n async sendJSON(jsonData, displayText: string) {\n this.formData.search = JSON.stringify(jsonData)\n this.formData.displayText = displayText\n this.handleSubmit(null, this.formData.search, \"ask-ai\", false, null)\n this.messageSent.emit(jsonData)\n }\n\n @Method()\n async closeModal() {\n this.el.shadowRoot.querySelector(\".modal-wrapper\").classList.remove(\"show-modal\")\n if (document.querySelector(\"ai12z-bot\")) {\n const botEle = document.querySelector(\"ai12z-bot\")\n botEle.shadowRoot.querySelector(\".floating-icon\")?.classList.remove(\"hide-chatbot\")\n botEle.shadowRoot.querySelector(\"bot-popover\")?.classList.remove(\"hide-chatbot\")\n }\n setTimeout(() => {\n this.showModal = false\n this.stopStream.emit({ socketId: this.socketService.getSocketId() })\n this.close.emit()\n clearInterval(this.timer)\n }, 300) // Assuming 300ms is your transition duration\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.metaKey && ev.key === \"k\") {\n this.openModal()\n }\n if (ev.key === \"Escape\") {\n this.ctaSettings?.allowClose ? this.closeModal() : \"\"\n }\n }\n\n @Listen(\"survey\", { target: \"document\" })\n surveyHandler(_state) {\n //this.handleSubmit(null, _state.detail.results, _state.detail.type, false, null)\n if (_state.detail.type === \"button\") {\n this.formData.displayText = \"\"\n this.handleSubmit(null, _state.detail.results, _state.detail.type, false, null)\n this.buttonClicked.emit(_state.detail.results)\n } else if (_state.detail.type === \"carousel\") {\n this.chatHistory = [...this.chatHistory, _state.detail.results]\n } else if (_state.detail.type === \"update\") {\n const idx = this.chatHistory.findIndex(item => item.id === _state.detail.results.id)\n this.chatHistory = [...this.chatHistory.slice(0, idx), _state.detail.results, ...this.chatHistory.slice(idx + 1)]\n } else if (_state.detail.type === \"sendMessage\") {\n console.log(\"sendMessage\", _state.detail.results)\n if (_state.detail.results.length > 1) {\n this.sendMessage(_state.detail.results[0], _state.detail.results[1])\n } else {\n this.sendMessage(_state.detail.results[0])\n }\n } else if (_state.detail.type === \"sendJSON\") {\n this.sendJSON(_state.detail.results[0], _state.detail.results[1])\n } else {\n const surveyData = _state.detail\n const jsonData = `This JSON is from a form submission [${surveyData.keyName}]: ${JSON.stringify(surveyData.results, null, 2)}. There is no need to show the form [${surveyData.keyName}] again.`\n this.formData.search = jsonData\n this.formData.displayText = surveyData.completeText\n console.log(\"surveyData\", this.formData)\n this.handleSubmit(null, this.formData.search, \"ask-ai\", false, null)\n // this.sendSurveyData(_state.detail)\n }\n }\n\n @Listen(\"formComplete\")\n formSubmittedHandler(event: CustomEvent) {\n event.stopPropagation()\n // console.log(\"Form submitted\", event.detail)\n this.formSubmitted.emit(event.detail.data)\n }\n\n sendSurveyData = async surveyData => {\n // const query = \"Here is the data you requested:\" + surveyData.results\n // surveyData.domId = surveyData.domId.replace(\"surveyContainer-\", \"\")\n // this.thumbsId = this.generateUUID()\n // this.aiMessageId = `ai-message-${this.generateUUID()}`\n const jsonData = \"This JSON is from a form submission\" + surveyData.results\n this.sendJSON(jsonData, surveyData.completeText)\n // const res = null\n // const res = await askAI(this.dataKey, this.dataMode, query, surveyData.conversationId, true, this.dataAttributes)\n // const idx = this.chatHistory.findIndex(item => item.id === surveyData.domId)\n\n // const lastMessage = {\n // message: res?.answer,\n // type: \"ai\",\n // status: \"success\",\n // insightId: res?.insight_id,\n // formModel: res?.formModel,\n // thumbsId: this.thumbsId,\n // id: this.aiMessageId,\n // }\n\n // if (idx === -1) {\n // // this.handleSubmit(null, query, \"survey-res\", false, null)\n // this.chatHistory.splice(this.chatHistory.length - 1, 1)\n // this.chatHistory = [...this.chatHistory, lastMessage]\n // } else {\n // this.chatHistory = [...this.chatHistory.slice(0, idx), lastMessage, ...this.chatHistory.slice(idx + 1)]\n // }\n // this.startStream.emit({ search: query })\n }\n\n componentWillLoad() {\n // console.log(\"componentWillLoad ai12z-cta.tsx\")\n // this.socket = this.socketService.getSocket()\n // this.socketService = SocketService.createInstance(this.dataMode)\n const slot = this.el[\"children\"]\n let slotHasContent = slot && slot.length > 0\n this.detectTextByLang()\n if (slotHasContent) {\n for (var i = 0; i < slot.length; i++) {\n // console.log(slot[i].tagName.toLowerCase())\n if (slot[i].tagName.toLowerCase() === \"cta\" || slot[i].getAttribute(\"slot\") === \"cta\") {\n this.isCta = true\n }\n }\n }\n }\n\n detectTextByLang = () => {\n let language =\n (navigator.languages && navigator.languages[0]) || // Chrome / Firefox\n navigator.language // All browsers\n\n let shortLang = language\n if (shortLang.indexOf(\"-\") !== -1) shortLang = shortLang.split(\"-\")[0]\n\n if (shortLang.indexOf(\"_\") !== -1) shortLang = shortLang.split(\"_\")[0]\n\n this.loadLanguageFile(shortLang)\n .then(data => {\n // console.log(\"data\", data)\n // this.langData = data\n this.pButtonText = data.button_text\n this.pPlaceholder = data.placeholder_text\n\n this.pHelpText = data.help_text\n this.pNoResultsText = data.results_text\n this.errorMsg = data.error_message\n })\n .catch(error => {\n console.error(\"Error loading language file:\", error)\n })\n }\n\n loadLanguageFile(langCode: string) {\n return import(/* @vite-ignore */ this.cdnPath + `/v1/lang/${langCode}.js`)\n .then(module => module.default)\n .catch(() => {\n return {} // Return an empty object or a fallback language data in case of an error\n })\n }\n\n clearSearchHistory() {\n if (this.searchResults && this.searchResults.length > 0) {\n this.searchResults.splice(0, this.searchResults.length)\n this.searchResults = [...this.searchResults]\n }\n this.chatHistory = []\n this.isChat = false\n this.clearInput.emit(false)\n this.clearResults.emit(false)\n }\n\n handleOutsideClick(ev: MouseEvent) {\n const outsideContent = (ev.target as any).classList.contains(\"modal-wrapper\")\n if (outsideContent) {\n this.ctaSettings?.allowClose ? this.closeModal() : \"\"\n }\n }\n\n generateUUID() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n }\n\n startTimer() {\n this.timer = setInterval(() => {\n this.questionCounter = 0\n // const endTime = Date.now()\n // console.log(`Timer executed after ${endTime} milliseconds`)\n localStorage.setItem(`ai12z-cta-data`, JSON.stringify({ qCounter: this.questionCounter }))\n }, this.ctaSettings?.autoResetTimer)\n }\n\n handleSubmit = async (event, value, type, followUp, imgFiles) => {\n if (type === \"ask-ai\") {\n this.questionCounter++\n localStorage.setItem(`ai12z-cta-data`, JSON.stringify({ qCounter: this.questionCounter }))\n }\n\n this.dirty = true\n this.isSubmitted = true\n event?.preventDefault()\n this.formData = { ...this.formData, search: value }\n\n if (this.chatHistory.length === 0 && this.ctaSettings?.autoResetTimer > 0 && type === \"ask-ai\") {\n this.startTimer()\n }\n\n if (!followUp && type === \"follow-up\") {\n this.chatHistory = []\n this.isChat = false\n }\n\n if (type === \"survey\") {\n this.chatHistory.splice(this.chatHistory.length - 1, 1)\n }\n\n if (!this.formData.search && this.formData.search?.length < 3 && imgFiles && imgFiles.length < 1) {\n this.isSubmitted = false\n this.stateChanged.emit(false)\n return\n }\n\n try {\n let response = { answer: \"\", formModel: null, insight_id: null }\n if (type === \"ask-ai\" || this.isChat) {\n this.isChat = true\n this.chatHistory.push({\n message: this.formData.displayText !== \"\" ? this.formData.displayText : this.formData.search,\n images: imgFiles,\n status: \"success\",\n type: \"user\",\n })\n this.aiMessageId = `ai-message-${this.generateUUID()}`\n this.thumbsId = this.generateUUID()\n this.chatHistory.push({\n message: `<div class=\"animate-ping\">...</div>`,\n type: \"ai\",\n status: \"pending\",\n id: this.aiMessageId,\n })\n\n if (imgFiles && imgFiles.length > 0) {\n this.imgFiles = imgFiles\n //response = await askImgAI(this.dataKey, this.dataMode, imgFiles, this.formData.search)\n } else {\n this.imgFiles = [...[]]\n // response = await askAI(this.dataKey, this.dataMode, this.formData.search, this.conversationId, followUp,this.dataAttributes)\n }\n\n //this.conversationId = response.conversation_id\n this.chatHistory.pop()\n response.answer = this.ctaSettings?.maxQuestion > 0 && this.questionCounter > this.ctaSettings?.maxQuestion ? this.ctaSettings.msgLimit : response?.answer\n //response.answer = response.answer.replace(RegExp(/\\[[^>]*]/gm),'<div id=\"surveyContainer\"></div>');\n const lastMessage = {\n message: response?.answer,\n type: \"ai\",\n status: \"success\",\n insightId: response?.insight_id,\n id: this.aiMessageId,\n thumbsId: this.thumbsId,\n formModel: response?.formModel,\n }\n\n this.chatHistory = [...this.chatHistory, lastMessage]\n // console.log(\"chatHistory\")\n if (this.ctaSettings?.maxQuestion > 0 && this.questionCounter > this.ctaSettings?.maxQuestion) {\n console.log(\"Max question limit reached on cta\")\n this.startStream.emit({ search: this.formData.search, maxQuestion: true, chatData: this.chatHistory[this.chatHistory.length - 1] })\n } else {\n console.log(\"type\", typeof this.formData.search)\n this.startStream.emit({ search: this.formData.search, imgFiles: this.imgFiles })\n }\n } else {\n if (this.ctaSettings?.autoSearch) {\n response = await search(this.dataKey, this.dataMode, this.formData.search)\n this.displaySearchResults(response)\n }\n }\n } catch (error) {\n console.error(error)\n this.error = error\n } finally {\n this.isSubmitted = false\n this.stateChanged.emit(false)\n // this.formData.search = \"\"\n this.formData.displayText = \"\"\n }\n }\n\n displaySearchResults = results => {\n this.searchResults = results.docs\n this.isSubmitted = false\n }\n\n connectedCallback() {\n //this.parseMyObjectProp(this.myObject);\n checkStatus(this.dataKey, this.dataMode).then(enable => {\n this.canRender = enable\n // if (!enable) {\n // console.log(\"ai12z canRender\", this.canRender)\n // }\n })\n this.configCtaSettings()\n }\n\n configCtaSettings() {\n const payload = {\n apiKey: this.dataKey,\n configId: this.configId,\n configType: \"search\",\n }\n getConfig(payload, this.dataMode)\n .then(data => {\n // console.log(\"data\", data)\n if (data) {\n // console.log(\"Web Settings\", data)\n this.ctaSettings = data\n if (this.ctaSettings?.autoSearch === undefined) {\n this.ctaSettings.autoSearch = true\n }\n if (this.ctaSettings?.allowClose === undefined) {\n this.ctaSettings.allowClose = true\n }\n if (this.ctaSettings?.clearMemory === undefined) {\n this.ctaSettings.clearMemory = true\n }\n if (this.ctaSettings?.enableMobileView === undefined) {\n this.ctaSettings.enableMobileView = true\n }\n if (this.ctaSettings?.categorize === undefined) {\n this.ctaSettings.categorize = true\n }\n }\n })\n .catch(error => {\n console.log(\"error\", error)\n })\n }\n\n componentDidLoad() {\n setCtaElement(this.el)\n console.log(\"Component has been rendered\")\n }\n\n // componentWillUpdate() {\n // console.log(\"Component will update and re-render\")\n // }\n\n defaultTemplate() {\n const isMac = /(Mac|iPhone|iPod|iPad)/i.test(navigator.userAgent)\n return (\n <button type=\"button\" class=\"flex custom-button ring-1 ring-slate-900/10 hover:ring-slate-300 focus:outline-none focus:ring-2 focus:ring-sky-500 shadow-sm\">\n <svg\n width=\"24\"\n height=\"24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"flex-none text-slate-300 dark:text-slate-400\"\n aria-hidden=\"true\"\n >\n <path d=\"m19 19-3.5-3.5\"></path>\n <circle cx=\"11\" cy=\"11\" r=\"6\"></circle>\n </svg>\n <span class=\"flex-auto\">{this.pPlaceholder}</span>\n <kbd class=\"font-sans font-semibold text-slate-400\">\n <abbr title=\"Command\" class=\"no-underline text-slate-400\">\n {isMac && <span>⌘</span>}\n {!isMac && (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" class=\"inline w-4 h-4 mb-1\">\n <path d=\"M3.5 2A1.5 1.5 0 0 0 2 3.5v2A1.5 1.5 0 0 0 3.5 7h2A1.5 1.5 0 0 0 7 5.5v-2A1.5 1.5 0 0 0 5.5 2h-2ZM3.5 9A1.5 1.5 0 0 0 2 10.5v2A1.5 1.5 0 0 0 3.5 14h2A1.5 1.5 0 0 0 7 12.5v-2A1.5 1.5 0 0 0 5.5 9h-2ZM9 3.5A1.5 1.5 0 0 1 10.5 2h2A1.5 1.5 0 0 1 14 3.5v2A1.5 1.5 0 0 1 12.5 7h-2A1.5 1.5 0 0 1 9 5.5v-2ZM10.5 9A1.5 1.5 0 0 0 9 10.5v2a1.5 1.5 0 0 0 1.5 1.5h2a1.5 1.5 0 0 0 1.5-1.5v-2A1.5 1.5 0 0 0 12.5 9h-2Z\" />\n </svg>\n )}\n </abbr>\n K\n </kbd>\n </button>\n )\n }\n\n displayMessage() {\n let message = null\n // let messageText = null\n if (this.error) {\n message = <p class=\"text-red-500\">{this.errorMsg}</p>\n } else {\n if (this.isSubmitted) {\n message = (\n <svg class=\"animate-spin -ml-1 mr-3 h-5 w-5 text-gray-400\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n )\n } else {\n if (this.dirty) {\n message = this.ctaSettings?.noResultsText ?? this.pNoResultsText\n }\n message = this.ctaSettings?.helpText ?? this.pHelpText\n }\n }\n if (this.searchResults?.length > 0 || this.chatHistory?.length > 0) {\n return null\n } else {\n if (typeof message === \"string\") {\n return <div class=\"flex prose custom-msg\" innerHTML={message}></div>\n } else {\n return <p class=\"custom-msg flex\">{message}</p>\n }\n }\n }\n\n render() {\n const style = {\n \"width\": this.ctaSettings?.enableMobileView ? \"100%\" : this.ctaSettings?.dialogWidth,\n \"max-width\": this.ctaSettings?.dialogMaxWidth,\n }\n if (!this.canRender) {\n return (\n <Host>\n <span style={{ display: \"none\" }}>Failed to load ai12z control due to insufficient fund</span>\n </Host>\n )\n }\n\n return (\n <Host>\n <div class=\"custom-container\" onClick={() => this.openModal()}>\n {!this.isCta && this.defaultTemplate()}\n {this.isCta && <slot name=\"cta\" />}\n </div>\n <div class={{ \"modal-wrapper\": true, \"hidden\": !this.showModal, \"bg-smoke-light\": true, \"custom-model\": true }} onClick={ev => this.handleOutsideClick(ev)}>\n <div class=\"modal-content-wrapper model-content modal-position overscroll-contain\" style={style}>\n <span class=\"btn-position\">\n {this.ctaSettings?.allowClose && (\n <button onClick={() => this.closeModal()} class=\"modal-close\">\n &times;\n </button>\n )}\n </span>\n <h1 class=\"model-heading\">{this.ctaSettings?.heading ?? this.pheading}</h1>\n <ai12z-input-form\n onAction={async event => {\n const { value, type, followUp, imgFiles } = event.detail\n await this.handleSubmit(event, value, type, followUp, imgFiles)\n }}\n isChat={this.isChat}\n placeholder={this.ctaSettings?.placeholder ?? this.pPlaceholder}\n buttonText={\n this.ctaSettings?.buttonText\n ? this.ctaSettings?.buttonText\n : this.ctaSettings?.buttonText == \"\" || !this.ctaSettings?.buttonText || (this.ctaSettings?.buttonText == \"\" && this.ctaSettings?.iconSrc == \"\")\n ? !this.ctaSettings?.buttonText && this.ctaSettings?.iconSrc\n ? \"\"\n : this.pButtonText\n : this.ctaSettings?.buttonText\n }\n iconSrc={this.ctaSettings?.iconSrc ?? \"\"}\n followUpLabel={this.ctaSettings?.followUpLabel ?? \"Do you have a follow up question?\"}\n isImageUpload={this.ctaSettings?.imageUpload ?? true} // Add the missing property here\n isEnableMic={this.ctaSettings?.enableMic ?? true} // Add the missing property here\n />\n {/* <InputForm isChat={this.isChat} placeholder={this.pPlaceholder} formData={this.formData} buttonText={this.pButtonText} onsubmit={this.handleSubmit} /> */}\n {this.displayMessage()}\n <div class=\"custom-results\">\n {!this.isChat && !this.ctaSettings?.categorize && <SearchResult results={this.searchResults} />}\n {!this.isChat && this.ctaSettings?.categorize && <ai12z-category categoryList={this.searchResults} linkTarget={this.ctaSettings?.linkTarget}></ai12z-category>}\n </div>\n {this.isChat && (\n <ai12z-chat\n // socket={this.socket}\n chats={this.chatHistory}\n env={this.dataMode}\n query={this.formData.search}\n apiKey={this.dataKey}\n aiMessageId={this.aiMessageId}\n imgFiles={this.imgFiles}\n target={this.ctaSettings?.linkTarget === \"\" ? \"_blank\" : this.ctaSettings?.linkTarget}\n voiceType={this.ctaSettings?.audioType || \"default\"}\n voice={this.ctaSettings?.voice || \"Google US English\"}\n onFeedback={async event => {\n const { feedback, insightId } = event.detail\n sendFeedback(this.dataKey, this.dataMode, insightId, feedback)\n }}\n componentType=\"search\"\n socketIn={this.socketService}\n dataAttributes={this.dataAttributes}\n chatExcludeTags={this.excludeTags}\n chatIncludeTags={this.includeTags}\n />\n )}\n {!this.isChat && (\n <div class=\"custom-privacy\">\n <slot name=\"custom-privacy\" />\n </div>\n )}\n </div>\n </div>\n </Host>\n )\n }\n}\n",":host {\n display: block;\n width: 100%;\n font-family: var(--ai12z-font-family);\n font-size: var(--ai12z-font-size);\n}\n\n.input-focus-color {\n border: 1px solid var(--ai12z-search-panel-focus-color);\n}\n\n.search-btn-bg-color {\n background-color: var(--ai12z-search-panel-button-bgcolor);\n}\n\n.input-border {\n border-bottom: 1px solid var(--ai12z-search-panel-input-border-color);\n}\n\n.search-container {\n background-color: var(--ai12z-search-panel-bg);\n}\n\n.search-icon svg {\n width: 20px;\n height: 20px;\n color: var(--ai12z-search-panel-icon-color);\n /* margin-right: 8px; */\n}\n\n.search-input::placeholder {\n color: #999;\n}\n\n.search-results {\n width: 100%;\n text-align: left;\n}\n","/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-bold);font-weight:600}.prose :where(astrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotestrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthstrong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose]*)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose]*)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose]*)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:\"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\"}.prose :where(blockquotep:first-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:open-quote}.prose :where(blockquotep:last-of-type):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4strong):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose]*)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose]*)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:\"`\"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:\"`\"}.prose :where(acode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h1code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(h2code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.875em}.prose :where(h3code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit;font-size:.9em}.prose :where(h4code):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(blockquotecode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(theadthcode):not(:where([class~=not-prose],[class~=not-prose]*)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):before{content:none}.prose :where(precode):not(:where([class~=not-prose],[class~=not-prose]*)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose]*)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(theadth):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbodytr):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbodytr:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){border-bottom-width:0}.prose :where(tbodytd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose]*)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose]*)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:.375em}.prose :where(.prose>ul>lip):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em}.prose :where(ulul,ulol,olul,olol):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(theadth:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(theadth:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(tbodytd,tfoottd):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbodytd:first-child,tfoottd:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-start:0}.prose :where(tbodytd:last-child,tfoottd:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose]*)){margin-bottom:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-12{bottom:3rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-6{bottom:1.5rem}.bottom-\\[-2px\\]{bottom:-2px}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:1rem}.left-5{left:1.25rem}.left-\\[3px\\]{left:3px}.right-0{right:0}.right-4{right:1rem}.right-7{right:1.75rem}.right-8{right:2rem}.top-0{top:0}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.m-\\[-1px\\]{margin:-1px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-1\\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-0\\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.ms-2{margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\\.5{margin-top:.625rem}.mt-4{margin-top:1rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-10{height:2.5rem;width:2.5rem}.size-6{height:1.5rem;width:1.5rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\\.5{height:.625rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:20rem}.min-h-\\[calc\\(100\\%-1px\\)\\]{min-height:calc(100% - 1px)}.min-h-fit{min-height:fit-content}.w-1\\/2{width:50%}.w-10{width:2.5rem}.w-11\\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-2\\.5{width:.625rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\\[1px\\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.min-w-\\[200px\\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\\[1_1_0\\]{flex:1 1 0}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%}.-translate-x-1\\/2,.translate-y-\\[0\\.5px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\\[0\\.5px\\]{--tw-translate-y:0.5px}.rotate-45{--tw-rotate:45deg}.rotate-45,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-2{column-gap:.5rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\\[10px\\]{padding:10px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-\\[14px\\]{padding-right:14px}.pt-2{padding-top:.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-normal{line-height:1.5}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#001E5B\\]{--tw-text-opacity:1;color:rgb(0 30 91/var(--tw-text-opacity))}.text-\\[\\#0344D1\\]{--tw-text-opacity:1;color:rgb(3 68 209/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-slate-900\\/10{--tw-ring-color:rgba(15,23,42,.1)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[ko_memo\\:\\\"\\+n\\+\\\"\\]{ko_memo:\"+n+\"}.after\\:invisible:after{content:var(--tw-content);visibility:hidden}.after\\:whitespace-pre-wrap:after{content:var(--tw-content);white-space:pre-wrap}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.hover\\:bg-opacity-80:hover{--tw-bg-opacity:0.8}.hover\\:bg-gradient-to-t:hover{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:outline:focus{outline-style:solid}.focus\\:outline-2:focus{outline-width:2px}.focus\\:outline-offset-2:focus{outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-0:focus,.focus\\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity))}.focus\\:ring-sky-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-transparent:disabled,.disabled\\:hover\\:bg-transparent:hover:disabled{background-color:transparent}.peer:checked~.peer-checked\\:block{display:block}:is(.dark.dark\\:border-gray-700){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark.dark\\:bg-blue-600){--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}:is(.dark.dark\\:text-gray-100){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-400){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark.dark\\:text-gray-800){--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:is(.dark.dark\\:text-slate-400){--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:is(.dark.dark\\:text-white){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark.dark\\:hover\\:bg-blue-700:hover){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}:is(.dark.dark\\:focus\\:ring-blue-800:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (min-width:640px){.sm\\:h-3{height:.75rem}.sm\\:w-3{width:.75rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\\:right-0{right:0}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:ml-2{margin-left:.5rem}.md\\:mt-6{margin-top:1.5rem}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:grid{display:grid}.md\\:h-4{height:1rem}.md\\:h-96{height:24rem}.md\\:h-auto{height:auto}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.333333%}.md\\:w-2\\/3{width:66.666667%}.md\\:w-4{width:1rem}.md\\:max-w-xl{max-width:36rem}.md\\:flex-none{flex:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:gap-4{gap:1rem}.md\\:gap-x-3{column-gap:.75rem}.md\\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\\:p-2{padding:.5rem}.md\\:p-2\\.5{padding:.625rem}.md\\:p-4{padding:1rem}.md\\:pl-0{padding-left:0}.md\\:pl-3{padding-left:.75rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}.rtl\\:rotate-180:where([dir=rtl],[dir=rtl]*){--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rtl\\:space-x-reverse:where([dir=rtl],[dir=rtl]*)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}\n/*# sourceMappingURL=data:application/json;base64,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Q0FBQyxrQkFBa0IsNkJBQTZCLENBQUMsOEJBQThCLENBQUMsU0FBUyxhQUFhLENBQUMsWUFBWSxlQUFlLENBQUMsU0FBUyxZQUFZLENBQUMsVUFBVSxjQUFjLENBQUMsVUFBVSxtQkFBbUIsQ0FBQyxjQUFjLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGFBQWEsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQywwQkFBMEIsVUFBVSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLDZDQUE2QyxrQkFBa0IsQ0FBQyw2TEFBNkwsQ0FBQyxnRkFBZ0Ysc0JBQXNCIiwiZmlsZSI6InRhaWx3aW5kLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgdGFpbHdpbmRjc3MgdjMuNC4xIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSovKiw6YWZ0ZXIsOmJlZm9yZXtib3JkZXI6MCBzb2xpZCAjZTVlN2ViO2JveC1zaXppbmc6Ym9yZGVyLWJveH06YWZ0ZXIsOmJlZm9yZXstLXR3LWNvbnRlbnQ6XCJcIn06aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Y29sb3I6aW5oZXJpdDtoZWlnaHQ6MH1hYmJyOndoZXJlKFt0aXRsZV0pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXNpemU6MWVtO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOm5vcm1hbH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1jb2xvcjppbmhlcml0O3RleHQtaW5kZW50OjB9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1bdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowfWZpZWxkc2V0LGxlZ2VuZHtwYWRkaW5nOjB9bWVudSxvbCx1bHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfWRpYWxvZ3twYWRkaW5nOjB9dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6IzljYTNhZjtvcGFjaXR5OjF9W3JvbGU9YnV0dG9uXSxidXR0b257Y3Vyc29yOnBvaW50ZXJ9OmRpc2FibGVke2N1cnNvcjpkZWZhdWx0fWF1ZGlvLGNhbnZhcyxlbWJlZCxpZnJhbWUsaW1nLG9iamVjdCxzdmcsdmlkZW97ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9aW1nLHZpZGVve2hlaWdodDphdXRvO21heC13aWR0aDoxMDAlfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX0qLDphZnRlciw6YmVmb3Jley0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH06OmJhY2tkcm9wey0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLWNvbG9yOnJnYmEoNTksMTMwLDI0NiwuNSk7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMH0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjY0MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NzY4cHh9fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6MTAyNHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjEyODBweH19QG1lZGlhIChtaW4td2lkdGg6MTUzNnB4KXsuY29udGFpbmVye21heC13aWR0aDoxNTM2cHh9fS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbX0ucHJvc2UgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOjEuMmVtO21hcmdpbi10b3A6MS4yZW19LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9sZCk7Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoYXN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShibG9ja3F1b3Rlc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHRoZWFkdGhzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbDttYXJnaW4tYm90dG9tOjEuMjVlbTttYXJnaW4tdG9wOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPUlzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aXNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ucHJvc2UgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bGlzdC1zdHlsZS10eXBlOmRpc2M7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWJ1bGxldHMpfS5wcm9zZSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi1ib3R0b206M2VtO21hcmdpbi10b3A6M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7Ym9yZGVyLWlubGluZS1zdGFydC13aWR0aDouMjVyZW07Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7bWFyZ2luLWJvdHRvbToxLjZlbTttYXJnaW4tdG9wOjEuNmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbTtxdW90ZXM6XCJcXDIwMUNcIlwiXFwyMDFEXCJcIlxcMjAxOFwiXCJcXDIwMTlcIn0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGVwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpvcGVuLXF1b3RlfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZXA6bGFzdC1vZi10eXBlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToyLjI1ZW07Zm9udC13ZWlnaHQ6ODAwO2xpbmUtaGVpZ2h0OjEuMTExMTExMTttYXJnaW4tYm90dG9tOi44ODg4ODg5ZW07bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDFzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjVlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO21hcmdpbi1ib3R0b206MWVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoaDJzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjgwMH0ucHJvc2UgOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO2ZvbnQtc2l6ZToxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOi42ZW07bWFyZ2luLXRvcDoxLjZlbX0ucHJvc2UgOndoZXJlKGgzc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS41O21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOjEuNWVtfS5wcm9zZSA6d2hlcmUoaDRzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjcwMH0ucHJvc2UgOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW19LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MmVtO21hcmdpbi10b3A6MmVtfS5wcm9zZSA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSksMCAzcHggMCByZ2IodmFyKC0tdHctcHJvc2Uta2JkLXNoYWRvd3MpLzEwJSk7Y29sb3I6dmFyKC0tdHctcHJvc2Uta2JkKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpcImBcIn0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDFjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UgOndoZXJlKGgzY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUodGhlYWR0aGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO2JvcmRlci1yYWRpdXM6LjM3NXJlbTtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyODU3O21hcmdpbi1ib3R0b206MS43MTQyODU3ZW07bWFyZ2luLXRvcDoxLjcxNDI4NTdlbTtvdmVyZmxvdy14OmF1dG87cGFkZGluZy1pbmxpbmUtZW5kOjEuMTQyODU3MWVtO3BhZGRpbmctYm90dG9tOi44NTcxNDI5ZW07cGFkZGluZy10b3A6Ljg1NzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg1NzFlbX0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MDtib3JkZXItd2lkdGg6MDtjb2xvcjppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZWNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKTpiZWZvcmV7Y29udGVudDpub25lfS5wcm9zZSA6d2hlcmUocHJlY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI4NTc7bWFyZ2luLWJvdHRvbToyZW07bWFyZ2luLXRvcDoyZW07dGFibGUtbGF5b3V0OmF1dG87dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGhlYWR0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTtmb250LXdlaWdodDo2MDA7cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0Mjg2ZW07cGFkZGluZy1ib3R0b206LjU3MTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNTcxNDI4NmVtO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ucHJvc2UgOndoZXJlKHRib2R5dHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGJvZHl0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wcm9zZSA6d2hlcmUodGJvZHl0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtib3JkZXItdG9wLWNvbG9yOnZhcigtLXR3LXByb3NlLXRoLWJvcmRlcnMpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5wcm9zZSA6d2hlcmUodGZvb3R0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKGZpZ3VyZT4qKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jYXB0aW9ucyk7Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjQyODU3MTQ7bWFyZ2luLXRvcDouODU3MTQyOWVtfS5wcm9zZXstLXR3LXByb3NlLWJvZHk6IzM3NDE1MTstLXR3LXByb3NlLWhlYWRpbmdzOiMxMTE4Mjc7LS10dy1wcm9zZS1sZWFkOiM0YjU1NjM7LS10dy1wcm9zZS1saW5rczojMTExODI3Oy0tdHctcHJvc2UtYm9sZDojMTExODI3Oy0tdHctcHJvc2UtY291bnRlcnM6IzZiNzI4MDstLXR3LXByb3NlLWJ1bGxldHM6I2QxZDVkYjstLXR3LXByb3NlLWhyOiNlNWU3ZWI7LS10dy1wcm9zZS1xdW90ZXM6IzExMTgyNzstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6I2U1ZTdlYjstLXR3LXByb3NlLWNhcHRpb25zOiM2YjcyODA7LS10dy1wcm9zZS1rYmQ6IzExMTgyNzstLXR3LXByb3NlLWtiZC1zaGFkb3dzOjE3IDI0IDM5Oy0tdHctcHJvc2UtY29kZTojMTExODI3Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWYyOTM3Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRiOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYjstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6IzljYTNhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRiNTU2MzstLXR3LXByb3NlLWludmVydC1ocjojMzc0MTUxOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM3NDE1MTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOWNhM2FmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOjI1NSAyNTUgMjU1Oy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRiOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzpyZ2JhKDAsMCwwLC41KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOiM0YjU1NjM7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczojMzc0MTUxO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MDttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206LjVlbTttYXJnaW4tdG9wOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM3NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+dWw+bGk+cDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2U+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWx1bCx1bG9sLG9sdWwsb2xvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi1ib3R0b206Ljc1ZW07bWFyZ2luLXRvcDouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLWJvdHRvbToxLjI1ZW07bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6LjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtfS5wcm9zZSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZSA6d2hlcmUodGhlYWR0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkLHRmb290dGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXtwYWRkaW5nLWlubGluZS1lbmQ6LjU3MTQyODZlbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI4NmVtO3BhZGRpbmctdG9wOi41NzE0Mjg2ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyODZlbX0ucHJvc2UgOndoZXJlKHRib2R5dGQ6Zmlyc3QtY2hpbGQsdGZvb3R0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keXRkOmxhc3QtY2hpbGQsdGZvb3R0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0qKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjJlbTttYXJnaW4tdG9wOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2U+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSopKXttYXJnaW4tYm90dG9tOjB9LnNyLW9ubHl7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyLXdpZHRoOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30udmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbn0uY29sbGFwc2V7dmlzaWJpbGl0eTpjb2xsYXBzZX0uc3RhdGlje3Bvc2l0aW9uOnN0YXRpY30uZml4ZWR7cG9zaXRpb246Zml4ZWR9LmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uc3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0uaW5zZXQtMHtpbnNldDowfS5ib3R0b20tMHtib3R0b206MH0uYm90dG9tLTEye2JvdHRvbTozcmVtfS5ib3R0b20tNHtib3R0b206MXJlbX0uYm90dG9tLTV7Ym90dG9tOjEuMjVyZW19LmJvdHRvbS02e2JvdHRvbToxLjVyZW19LmJvdHRvbS1cXFstMnB4XFxde2JvdHRvbTotMnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTR7bGVmdDoxcmVtfS5sZWZ0LTV7bGVmdDoxLjI1cmVtfS5sZWZ0LVxcWzNweFxcXXtsZWZ0OjNweH0ucmlnaHQtMHtyaWdodDowfS5yaWdodC00e3JpZ2h0OjFyZW19LnJpZ2h0LTd7cmlnaHQ6MS43NXJlbX0ucmlnaHQtOHtyaWdodDoycmVtfS50b3AtMHt0b3A6MH0uei0xMHt6LWluZGV4OjEwfS56LTMwe3otaW5kZXg6MzB9LnotNTB7ei1pbmRleDo1MH0uY29sLXNwYW4tMXtncmlkLWNvbHVtbjpzcGFuIDEvc3BhbiAxfS5jb2wtc3Bhbi0ye2dyaWQtY29sdW1uOnNwYW4gMi9zcGFuIDJ9Lm0tXFxbLTFweFxcXXttYXJnaW46LTFweH0ubXgtMXttYXJnaW4tbGVmdDouMjVyZW07bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5teS00e21hcmdpbi1ib3R0b206MXJlbTttYXJnaW4tdG9wOjFyZW19Li1tbC0xe21hcmdpbi1sZWZ0Oi0uMjVyZW19Lm1iLTF7bWFyZ2luLWJvdHRvbTouMjVyZW19Lm1iLTFcXC41e21hcmdpbi1ib3R0b206LjM3NXJlbX0ubWItMnttYXJnaW4tYm90dG9tOi41cmVtfS5tYi0ze21hcmdpbi1ib3R0b206Ljc1cmVtfS5tYi00e21hcmdpbi1ib3R0b206MXJlbX0ubWwtMXttYXJnaW4tbGVmdDouMjVyZW19Lm1sLTJ7bWFyZ2luLWxlZnQ6LjVyZW19Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubXItMHttYXJnaW4tcmlnaHQ6MH0ubXItMFxcLjV7bWFyZ2luLXJpZ2h0Oi4xMjVyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItM3ttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5tcy0ye21hcmdpbi1pbmxpbmUtc3RhcnQ6LjVyZW19Lm10LTB7bWFyZ2luLXRvcDowfS5tdC0wXFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTF7bWFyZ2luLXRvcDouMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtMlxcLjV7bWFyZ2luLXRvcDouNjI1cmVtfS5tdC00e21hcmdpbi10b3A6MXJlbX0ubXQtcHh7bWFyZ2luLXRvcDoxcHh9LmJveC1ib3JkZXJ7Ym94LXNpemluZzpib3JkZXItYm94fS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmlubGluZXtkaXNwbGF5OmlubGluZX0uZmxleHtkaXNwbGF5OmZsZXh9LmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRhYmxle2Rpc3BsYXk6dGFibGV9LmdyaWR7ZGlzcGxheTpncmlkfS5jb250ZW50c3tkaXNwbGF5OmNvbnRlbnRzfS5oaWRkZW57ZGlzcGxheTpub25lfS5zaXplLTEwe2hlaWdodDoyLjVyZW07d2lkdGg6Mi41cmVtfS5zaXplLTZ7aGVpZ2h0OjEuNXJlbTt3aWR0aDoxLjVyZW19LmgtMTB7aGVpZ2h0OjIuNXJlbX0uaC0xMntoZWlnaHQ6M3JlbX0uaC0xNHtoZWlnaHQ6My41cmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcXC41e2hlaWdodDouNjI1cmVtfS5oLTN7aGVpZ2h0Oi43NXJlbX0uaC0zXFwuNXtoZWlnaHQ6Ljg3NXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTV7aGVpZ2h0OjEuMjVyZW19LmgtNTZ7aGVpZ2h0OjE0cmVtfS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02NHtoZWlnaHQ6MTZyZW19LmgtOHtoZWlnaHQ6MnJlbX0uaC05NntoZWlnaHQ6MjRyZW19LmgtXFxbMXB4XFxde2hlaWdodDoxcHh9LmgtYXV0b3toZWlnaHQ6YXV0b30uaC1maXR7aGVpZ2h0OmZpdC1jb250ZW50fS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtODB7bWF4LWhlaWdodDoyMHJlbX0ubWluLWgtXFxbY2FsY1xcKDEwMFxcJS0xcHhcXClcXF17bWluLWhlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5taW4taC1maXR7bWluLWhlaWdodDpmaXQtY29udGVudH0udy0xXFwvMnt3aWR0aDo1MCV9LnctMTB7d2lkdGg6Mi41cmVtfS53LTExXFwvMTJ7d2lkdGg6OTEuNjY2NjY3JX0udy0xMnt3aWR0aDozcmVtfS53LTE0e3dpZHRoOjMuNXJlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcXC41e3dpZHRoOi42MjVyZW19LnctM3t3aWR0aDouNzVyZW19LnctM1xcLjV7d2lkdGg6Ljg3NXJlbX0udy00e3dpZHRoOjFyZW19LnctNDB7d2lkdGg6MTByZW19LnctNDR7d2lkdGg6MTFyZW19LnctNDh7d2lkdGg6MTJyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTh7d2lkdGg6MnJlbX0udy1cXFsxcHhcXF17d2lkdGg6MXB4fS53LWF1dG97d2lkdGg6YXV0b30udy1mdWxse3dpZHRoOjEwMCV9Lm1pbi13LVxcWzIwMHB4XFxde21pbi13aWR0aDoyMDBweH0ubWluLXctZnVsbHttaW4td2lkdGg6MTAwJX0ubWF4LXctMnhse21heC13aWR0aDo0MnJlbX0ubWF4LXctM3hse21heC13aWR0aDo0OHJlbX0ubWF4LXctZnVsbHttYXgtd2lkdGg6MTAwJX0ubWF4LXctbGd7bWF4LXdpZHRoOjMycmVtfS5tYXgtdy1zbXttYXgtd2lkdGg6MjRyZW19LmZsZXgtMXtmbGV4OjEgMSAwJX0uZmxleC1cXFsxXzFfMFxcXXtmbGV4OjEgMSAwfS5mbGV4LWF1dG97ZmxleDoxIDEgYXV0b30uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93e2ZsZXgtZ3JvdzoxfS4tdHJhbnNsYXRlLXgtMVxcLzJ7LS10dy10cmFuc2xhdGUteDotNTAlfS4tdHJhbnNsYXRlLXgtMVxcLzIsLnRyYW5zbGF0ZS15LVxcWzBcXC41cHhcXF17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS1cXFswXFwuNXB4XFxdey0tdHctdHJhbnNsYXRlLXk6MC41cHh9LnJvdGF0ZS00NXstLXR3LXJvdGF0ZTo0NWRlZ30ucm90YXRlLTQ1LC5zY2FsZS0xMDB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS0xMDB7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjF9LnNjYWxlLTExMHstLXR3LXNjYWxlLXg6MS4xOy0tdHctc2NhbGUteToxLjF9LnNjYWxlLTExMCwuc2NhbGUtOTB7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5zY2FsZS05MHstLXR3LXNjYWxlLXg6Ljk7LS10dy1zY2FsZS15Oi45fS50cmFuc2Zvcm17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfUBrZXlmcmFtZXMgcGluZ3s3NSUsdG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19LmFuaW1hdGUtcGluZ3thbmltYXRpb246cGluZyAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIGluZmluaXRlfUBrZXlmcmFtZXMgcHVsc2V7NTAle29wYWNpdHk6LjV9fS5hbmltYXRlLXB1bHNle2FuaW1hdGlvbjpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKSBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0ucmVzaXplLW5vbmV7cmVzaXplOm5vbmV9LnJlc2l6ZXtyZXNpemU6Ym90aH0uZ3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS5wbGFjZS1jb250ZW50LWNlbnRlcntwbGFjZS1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5nYXAtMXtnYXA6LjI1cmVtfS5nYXAtMVxcLjV7Z2FwOi4zNzVyZW19LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTR7Z2FwOjFyZW19LmdhcC14LTJ7Y29sdW1uLWdhcDouNXJlbX0uZ2FwLXktMXtyb3ctZ2FwOi4yNXJlbX0uZ2FwLXktM3tyb3ctZ2FwOi43NXJlbX0uc3BhY2UteC0xPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguMjVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoLjI1cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO21hcmdpbi1yaWdodDpjYWxjKC41cmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKC43NXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNzVyZW0qdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSl9LnNwYWNlLXgtND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXgtcmV2ZXJzZTowO21hcmdpbi1sZWZ0OmNhbGMoMXJlbSooMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYygxcmVtKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjVyZW0qdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLXRvcDpjYWxjKC41cmVtKigxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfS5zcGFjZS15LTM+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYm90dG9tOmNhbGMoLjc1cmVtKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi10b3A6Y2FsYyguNzVyZW0qKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LnNlbGYtZW5ke2FsaWduLXNlbGY6ZmxleC1lbmR9LnNlbGYtY2VudGVye2FsaWduLXNlbGY6Y2VudGVyfS5vdmVyZmxvdy1hdXRve292ZXJmbG93OmF1dG99Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LXgtYXV0b3tvdmVyZmxvdy14OmF1dG99Lm92ZXJmbG93LXktc2Nyb2xse292ZXJmbG93LXk6c2Nyb2xsfS5vdmVyc2Nyb2xsLWNvbnRhaW57b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS50cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWVsbGlwc2lzLC50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LmJyZWFrLXdvcmRze292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbX0ucm91bmRlZC0yeGx7Ym9yZGVyLXJhZGl1czoxcmVtfS5yb3VuZGVkLTN4bHtib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6OTk5OXB4fS5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czouMzc1cmVtfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Ljc1cmVtfS5yb3VuZGVkLWItMnhse2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxcmVtfS5ib3JkZXJ7Ym9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLTB7Ym9yZGVyLXdpZHRoOjB9LmJvcmRlci0ye2JvcmRlci13aWR0aDoycHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItYi0ye2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItbHtib3JkZXItbGVmdC13aWR0aDoxcHh9LmJvcmRlci1yLTJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWR9LmJvcmRlci1ibHVlLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTIwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItZ3JheS0zMDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjA5IDIxMyAyMTkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXJlZC01MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci13aGl0ZXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfS5iZy1ibHVlLTUwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS02MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctYmx1ZS03MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjkgNzggMjE2L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS0yMDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1ncmF5LTMwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmJnLWdyYXktNTAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uYmctZ3JheS04MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1pbmhlcml0e2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYmctd2hpdGV7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5iZy1vcGFjaXR5LTUwey0tdHctYmctb3BhY2l0eTowLjV9LmJnLW9wYWNpdHktNjB7LS10dy1iZy1vcGFjaXR5OjAuNn0uYmctZ3JhZGllbnQtdG8tcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpfS5mcm9tLWdyZWVuLTQwMHstLXR3LWdyYWRpZW50LWZyb206IzRhZGU4MCB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOnJnYmEoNzQsMjIyLDEyOCwwKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC1mcm9tKSx2YXIoLS10dy1ncmFkaWVudC10byl9LnRvLXRlYWwtNTAwey0tdHctZ3JhZGllbnQtdG86IzE0YjhhNiB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzowfS5wLTF7cGFkZGluZzouMjVyZW19LnAtMVxcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0yXFwuNXtwYWRkaW5nOi42MjVyZW19LnAtM3twYWRkaW5nOi43NXJlbX0ucC00e3BhZGRpbmc6MXJlbX0ucC01e3BhZGRpbmc6MS4yNXJlbX0ucC02e3BhZGRpbmc6MS41cmVtfS5wLVxcWzEwcHhcXF17cGFkZGluZzoxMHB4fS5weC0xe3BhZGRpbmctbGVmdDouMjVyZW07cGFkZGluZy1yaWdodDouMjVyZW19LnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0ucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTV7cGFkZGluZy1sZWZ0OjEuMjVyZW07cGFkZGluZy1yaWdodDoxLjI1cmVtfS5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbTtwYWRkaW5nLXRvcDouMjVyZW19LnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW07cGFkZGluZy10b3A6LjVyZW19LnB5LTJcXC41e3BhZGRpbmctYm90dG9tOi42MjVyZW07cGFkZGluZy10b3A6LjYyNXJlbX0ucGItMXtwYWRkaW5nLWJvdHRvbTouMjVyZW19LnBiLTJ7cGFkZGluZy1ib3R0b206LjVyZW19LnBiLTN7cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wbC0we3BhZGRpbmctbGVmdDowfS5wbC0xe3BhZGRpbmctbGVmdDouMjVyZW19LnBsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtfS5wbC0ze3BhZGRpbmctbGVmdDouNzVyZW19LnBsLTR7cGFkZGluZy1sZWZ0OjFyZW19LnByLTJ7cGFkZGluZy1yaWdodDouNXJlbX0ucHItXFxbMTRweFxcXXtwYWRkaW5nLXJpZ2h0OjE0cHh9LnB0LTJ7cGFkZGluZy10b3A6LjVyZW19LnB0LTV7cGFkZGluZy10b3A6MS4yNXJlbX0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0uZm9udC1zYW5ze2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vaml9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1zbXtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjI1cmVtfS5mb250LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5mb250LWxpZ2h0e2ZvbnQtd2VpZ2h0OjMwMH0uZm9udC1tZWRpdW17Zm9udC13ZWlnaHQ6NTAwfS5mb250LW5vcm1hbHtmb250LXdlaWdodDo0MDB9LmZvbnQtc2VtaWJvbGR7Zm9udC13ZWlnaHQ6NjAwfS51cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5sZWFkaW5nLW5vcm1hbHtsaW5lLWhlaWdodDoxLjV9LnRyYWNraW5nLXRpZ2h0e2xldHRlci1zcGFjaW5nOi0uMDI1ZW19LnRleHQtXFxbXFwjMDAxRTVCXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDAgMzAgOTEvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtXFxbXFwjMDM0NEQxXFxdey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMgNjggMjA5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWJsdWUtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU5IDEzMCAyNDYvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtYmx1ZS02MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzcgOTkgMjM1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDEwNyAxMTQgMTI4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNjAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDc1IDg1IDk5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNzAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDU1IDY1IDgxL3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktODAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktOTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE3IDI0IDM5L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXJlZC01MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS50ZXh0LXNsYXRlLTMwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMDMgMjEzIDIyNS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0udGV4dC1zbGF0ZS00MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnRleHQtd2hpdGV7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTpub25lfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTEwMHtvcGFjaXR5OjF9Lm9wYWNpdHktMjV7b3BhY2l0eTouMjV9Lm9wYWNpdHktNzV7b3BhY2l0eTouNzV9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAycHggLTFweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LC5zaGFkb3ctbGd7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHJnYmEoMCwwLDAsLjEpLDAgNHB4IDZweCAtNHB4IHJnYmEoMCwwLDAsLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcil9LnNoYWRvdy1tZHstLXR3LXNoYWRvdzowIDRweCA2cHggLTFweCByZ2JhKDAsMCwwLC4xKSwwIDJweCA0cHggLTJweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yKX0uc2hhZG93LW1kLC5zaGFkb3ctc217Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IpfS5zaGFkb3cteGx7LS10dy1zaGFkb3c6MCAyMHB4IDI1cHggLTVweCByZ2JhKDAsMCwwLC4xKSwwIDhweCAxMHB4IC02cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDIwcHggMjVweCAtNXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA4cHggMTBweCAtNnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSx2YXIoLS10dy1yaW5nLXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXNoYWRvdyl9Lm91dGxpbmUtbm9uZXtvdXRsaW5lOjJweCBzb2xpZCB0cmFuc3BhcmVudDtvdXRsaW5lLW9mZnNldDoycHh9Lm91dGxpbmV7b3V0bGluZS1zdHlsZTpzb2xpZH0ucmluZ3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5yaW5nLC5yaW5nLTF7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0ucmluZy0xey0tdHctcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS10dy1yaW5nLW9mZnNldC1jb2xvcik7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKDFweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcil9LnJpbmctc2xhdGUtOTAwXFwvMTB7LS10dy1yaW5nLWNvbG9yOnJnYmEoMTUsMjMsNDIsLjEpfS5ibHVyey0tdHctYmx1cjpibHVyKDhweCl9LmJsdXIsLmZpbHRlcntmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi10cmFuc2Zvcm17dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTcwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi43c30uZWFzZS1pbi1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LmVhc2Utb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9LlxcW2tvX21lbW9cXDpcXFwiXFwrblxcK1xcXCJcXF17a29fbWVtbzpcIituK1wifS5hZnRlclxcOmludmlzaWJsZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Zpc2liaWxpdHk6aGlkZGVufS5hZnRlclxcOndoaXRlc3BhY2UtcHJlLXdyYXA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uaG92ZXJcXDpiZy1ibHVlLTcwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyOSA3OCAyMTYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWJsdWUtODAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDMwIDY0IDE3NS92YXIoLS10dy1iZy1vcGFjaXR5KSl9LmhvdmVyXFw6YmctZ3JheS0xMDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQzIDI0NCAyNDYvdmFyKC0tdHctYmctb3BhY2l0eSkpfS5ob3ZlclxcOmJnLWdyYXktNDAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1pbmRpZ28tMzAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE2NSAxODAgMjUyL3ZhcigtLXR3LWJnLW9wYWNpdHkpKX0uaG92ZXJcXDpiZy1vcGFjaXR5LTgwOmhvdmVyey0tdHctYmctb3BhY2l0eTowLjh9LmhvdmVyXFw6YmctZ3JhZGllbnQtdG8tdDpob3ZlcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AsdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uaG92ZXJcXDp0ZXh0LWJsdWUtNzAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX0uaG92ZXJcXDp0ZXh0LXdoaXRlOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfS5ob3ZlclxcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXFw6c2hhZG93LWxnOmhvdmVyey0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLDAsMCwuMSksMCA0cHggNnB4IC00cHggcmdiYSgwLDAsMCwuMSk7LS10dy1zaGFkb3ctY29sb3JlZDowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpyaW5nLXNsYXRlLTMwMDpob3ZlcnstLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9LmZvY3VzXFw6b3V0bGluZS1ub25lOmZvY3Vze291dGxpbmU6MnB4IHNvbGlkIHRyYW5zcGFyZW50O291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXNcXDpvdXRsaW5lOmZvY3Vze291dGxpbmUtc3R5bGU6c29saWR9LmZvY3VzXFw6b3V0bGluZS0yOmZvY3Vze291dGxpbmUtd2lkdGg6MnB4fS5mb2N1c1xcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4fS5mb2N1c1xcOnJpbmctMDpmb2N1c3stLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYyh2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpfS5mb2N1c1xcOnJpbmctMDpmb2N1cywuZm9jdXNcXDpyaW5nLTI6Zm9jdXN7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0uZm9jdXNcXDpyaW5nLTI6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKX0uZm9jdXNcXDpyaW5nLTQ6Zm9jdXN7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoNHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdywwIDAgIzAwMDApfS5mb2N1c1xcOnJpbmctYmx1ZS0zMDA6Zm9jdXN7LS10dy1yaW5nLW9wYWNpdHk6MTstLXR3LXJpbmctY29sb3I6cmdiKDE0NyAxOTcgMjUzL3ZhcigtLXR3LXJpbmctb3BhY2l0eSkpfS5mb2N1c1xcOnJpbmctc2t5LTUwMDpmb2N1c3stLXR3LXJpbmctb3BhY2l0eToxOy0tdHctcmluZy1jb2xvcjpyZ2IoMTQgMTY1IDIzMy92YXIoLS10dy1yaW5nLW9wYWNpdHkpKX0uZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5kaXNhYmxlZFxcOmJnLXRyYW5zcGFyZW50OmRpc2FibGVkLC5kaXNhYmxlZFxcOmhvdmVyXFw6YmctdHJhbnNwYXJlbnQ6aG92ZXI6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGVlcjpjaGVja2Vkfi5wZWVyLWNoZWNrZWRcXDpibG9ja3tkaXNwbGF5OmJsb2NrfTppcyguZGFyay5kYXJrXFw6Ym9yZGVyLWdyYXktNzAwKXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1NSA2NSA4MS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6YmctYmx1ZS02MDApey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM3IDk5IDIzNS92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LWdyYXktMTAwKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNDMgMjQ0IDI0Ni92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOnRleHQtZ3JheS00MDApey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSkpfTppcyguZGFyay5kYXJrXFw6dGV4dC1ncmF5LTgwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXNsYXRlLTQwMCl7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTQ4IDE2MyAxODQvdmFyKC0tdHctdGV4dC1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDp0ZXh0LXdoaXRlKXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy10ZXh0LW9wYWNpdHkpKX06aXMoLmRhcmsuZGFya1xcOmhvdmVyXFw6YmctYmx1ZS03MDA6aG92ZXIpey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI5IDc4IDIxNi92YXIoLS10dy1iZy1vcGFjaXR5KSl9OmlzKC5kYXJrLmRhcmtcXDpmb2N1c1xcOnJpbmctYmx1ZS04MDA6Zm9jdXMpey0tdHctcmluZy1vcGFjaXR5OjE7LS10dy1yaW5nLWNvbG9yOnJnYigzMCA2NCAxNzUvdmFyKC0tdHctcmluZy1vcGFjaXR5KSl9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVxcOmgtM3toZWlnaHQ6Ljc1cmVtfS5zbVxcOnctM3t3aWR0aDouNzVyZW19LnNtXFw6cHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1kXFw6cmlnaHQtMHtyaWdodDowfS5tZFxcOmNvbC1zcGFuLTJ7Z3JpZC1jb2x1bW46c3BhbiAyL3NwYW4gMn0ubWRcXDptbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tZFxcOm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpncmlke2Rpc3BsYXk6Z3JpZH0ubWRcXDpoLTR7aGVpZ2h0OjFyZW19Lm1kXFw6aC05NntoZWlnaHQ6MjRyZW19Lm1kXFw6aC1hdXRve2hlaWdodDphdXRvfS5tZFxcOnctMVxcLzJ7d2lkdGg6NTAlfS5tZFxcOnctMVxcLzN7d2lkdGg6MzMuMzMzMzMzJX0ubWRcXDp3LTJcXC8ze3dpZHRoOjY2LjY2NjY2NyV9Lm1kXFw6dy00e3dpZHRoOjFyZW19Lm1kXFw6bWF4LXcteGx7bWF4LXdpZHRoOjM2cmVtfS5tZFxcOmZsZXgtbm9uZXtmbGV4Om5vbmV9Lm1kXFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubWRcXDpnYXAtNHtnYXA6MXJlbX0ubWRcXDpnYXAteC0ze2NvbHVtbi1nYXA6Ljc1cmVtfS5tZFxcOnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi43NXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouNzVyZW19Lm1kXFw6cC0ye3BhZGRpbmc6LjVyZW19Lm1kXFw6cC0yXFwuNXtwYWRkaW5nOi42MjVyZW19Lm1kXFw6cC00e3BhZGRpbmc6MXJlbX0ubWRcXDpwbC0we3BhZGRpbmctbGVmdDowfS5tZFxcOnBsLTN7cGFkZGluZy1sZWZ0Oi43NXJlbX0ubWRcXDp0ZXh0LTN4bHtmb250LXNpemU6MS44NzVyZW07bGluZS1oZWlnaHQ6Mi4yNXJlbX0ubWRcXDp0ZXh0LXhse2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19fUBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7LmxnXFw6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fS5ydGxcXDpyb3RhdGUtMTgwOndoZXJlKFtkaXI9cnRsXSxbZGlyPXJ0bF0qKXstLXR3LXJvdGF0ZToxODBkZWc7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ydGxcXDpzcGFjZS14LXJldmVyc2U6d2hlcmUoW2Rpcj1ydGxdLFtkaXI9cnRsXSopPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctc3BhY2UteC1yZXZlcnNlOjF9Il19 */","import { Component, h, Prop, State, Element } from \"@stencil/core\"\nimport { search } from \"../../utils/utils\"\nimport SearchResult from \"../ai12z-cta/components/SearchResult\"\n\n@Component({\n tag: \"ai12z-search-panel\",\n styleUrls: [\"ai12z-search-panel.css\", \"../../global/tailwind.min.css\"],\n shadow: true,\n})\nexport class SearchPanel {\n @Element() el!: HTMLElement\n @Prop() dataKey: string\n @Prop() dataMode: string\n @Prop() categorize: boolean = true\n @Prop() placeholder: string = \"AI Search...\"\n @Prop() redirectUrl: string = \"/search\"\n\n @State() query: string = \"\"\n @State() searchResults: any = []\n @State() hideAllButtons: boolean = false\n\n private searchInputElem: HTMLInputElement\n\n async fetchSearchResults() {\n const response = await search(this.dataKey, this.dataMode, this.query)\n const newResults = response.docs ? [...response.docs] : []\n this.searchResults = [] // Reset to trigger reactivity\n setTimeout(() => {\n this.searchResults = newResults\n }, 0)\n }\n async handleInput(event: Event) {\n const target = event.target as HTMLInputElement\n this.query = target.value\n if (this.query.trim().length > 3) {\n this.fetchSearchResults()\n } else {\n this.searchResults = []\n return\n }\n }\n\n async handleFormSubmit(event: Event) {\n event.preventDefault()\n // const response = await search(this.dataKey, this.dataMode, this.query)\n // console.log(response)\n\n const queryParams = new URLSearchParams({\n searchText: this.query,\n page: \"1\",\n }).toString()\n\n // Redirect to the '/about' page with query parameters\n window.location.href = `${this.redirectUrl}?${queryParams}`\n }\n\n handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Enter\" && event.shiftKey) {\n console.log(\"Shift + Enter detected\")\n // Prevent default behavior if needed\n }\n if (event.key === \"Enter\" && !event.shiftKey) {\n event.preventDefault()\n this.handleFormSubmit(event)\n console.log(\"Enter detected\")\n // this.handleAskAI(event)\n }\n }\n\n render() {\n return (\n <div class=\"flex flex-col rounded-2xl relative\" id=\"searchPanel\">\n <form class=\"flex flex-col rounded-2xl p-2.5 search-container\" onSubmit={event => this.handleFormSubmit(event)} id=\"searchForm\">\n <div class=\"flex\">\n {!this.hideAllButtons && (\n <div class=\"search-input-container w-11/12 mt-1 max-w-2xl\">\n <input\n id=\"search-input\"\n class={`search-input bg-inherit w-full outline-none resize-none ${this.searchResults?.length > 0 ? \"input-border\" : \"\"}`}\n ref={el => {\n this.searchInputElem = el as HTMLInputElement\n el?.focus()\n }}\n placeholder={this.placeholder}\n value={this.query}\n onInput={event => this.handleInput(event)}\n onKeyDown={this.handleKeyDown}\n onFocus={() => {\n this.el.shadowRoot.querySelector(\"#searchPanel\").classList.add(\"input-focus-color\")\n }}\n onBlur={() => this.el.shadowRoot.querySelector(\"#searchPanel\").classList.remove(\"input-focus-color\")}\n ></input>\n </div>\n )}\n <div class={`icons flex items-center ${this.hideAllButtons ? \"w-full\" : \"w-auto\"}`}>\n <span class=\"mic-icon w-full\">\n <audio-recorder\n component-type=\"search\"\n onStartRecord={_ev => {\n // console.log(\"test\", ev)\n this.hideAllButtons = true\n }}\n onStopRecord={_ev => {\n this.hideAllButtons = false\n }}\n onSendTranscript={ev => {\n // console.log(\"ev\", ev)\n\n setTimeout(() => {\n // console.log(\"input\", this.searchInputElem)\n if (this.searchInputElem) {\n this.searchInputElem.value = ev.detail\n this.query = ev.detail\n const inputElement = this.el.shadowRoot.querySelector(\"#search-input\") as HTMLInputElement\n if (inputElement) {\n const event = new Event(\"input\", { bubbles: true })\n Object.defineProperty(event, \"target\", { writable: false, value: inputElement })\n inputElement.value = ev.detail\n this.handleInput(event) // Call manually\n inputElement.dispatchEvent(event)\n }\n }\n }, 500)\n }}\n style={{ width: \"100%\" }}\n ></audio-recorder>\n </span>\n\n <div class=\"search-icon\">\n <button id=\"send-message-button\" class=\"search-btn-bg-color text-white transition rounded-lg p-1.5 self-center\" onClick={event => this.handleFormSubmit(event)}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"w-6 h-6\" viewBox=\"0 0 24 24\">\n <path\n fill=\"currentColor\"\n d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 17 9.5 6.5 6.5 0 1 0 10.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-5 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 10.5 14z\"\n />\n </svg>\n </button>\n </div>\n </div>\n </div>\n {this.searchResults && this.searchResults.length > 0 && (\n <div class=\"search-results rounded-b-2xl overflow-hidden\">\n {this.categorize && <ai12z-category categoryList={this.searchResults} linkTarget={\"_blank\"}></ai12z-category>}\n {!this.categorize && <SearchResult results={this.searchResults} />}\n </div>\n )}\n </form>\n </div>\n )\n }\n}\n"],"mappings":"8kBAEAA,MAAOC,WAAc,K,aACJC,O,cACCC,Q,uBACSC,iB,cACTC,Q,kBACIC,Y,kBACAC,Y,wBACMC,kBAC5B,IAAIC,OAAS,CACX,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,UAGP,IAAIC,SAAW,aACXC,SAAW,YAEf,SAASC,WAAWC,GAClB,OAAOJ,OAAOI,EAChB,CAEA,SAASX,OAAOY,GACd,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAK,IAAIG,KAAOF,UAAUD,GAAI,CAC5B,GAAII,OAAOC,UAAUC,eAAeC,KAAKN,UAAUD,GAAIG,GAAM,CAC3DJ,EAAII,GAAOF,UAAUD,GAAGG,EAChC,CACA,CACA,CAEE,OAAOJ,CACT,CAEA,IAAIS,SAAWJ,OAAOC,UAAUG,S,eAEbA,SAInB,IAAIC,WAAa,SAASA,EAAWC,GACnC,cAAcA,IAAU,UAC1B,EAGA,GAAID,WAAW,KAAM,CACrBxB,MAAAwB,WAAuBA,WAAa,SAAUC,GAC1C,cAAcA,IAAU,YAAcF,SAASD,KAAKG,KAAW,mBACnE,CACA,C,iBACqBD,WAKrB,IAAIE,QAAUC,MAAMD,SAAW,SAAUD,GACvC,OAAOA,UAAgBA,IAAU,SAAWF,SAASD,KAAKG,KAAW,iBAAmB,KAC1F,E,cAEkBC,QAGlB,SAASvB,QAAQyB,EAAOH,GACtB,IAAK,IAAIV,EAAI,EAAGc,EAAMD,EAAMX,OAAQF,EAAIc,EAAKd,IAAK,CAChD,GAAIa,EAAMb,KAAOU,EAAO,CACtB,OAAOV,CACb,CACA,CACE,OAAQ,CACV,CAEA,SAASX,iBAAiB0B,GACxB,UAAWA,IAAW,SAAU,CAE9B,GAAIA,GAAUA,EAAOC,OAAQ,CAC3B,OAAOD,EAAOC,QACpB,MAAW,GAAID,GAAU,KAAM,CACzB,MAAO,EACb,MAAW,IAAKA,EAAQ,CAClB,OAAOA,EAAS,EACtB,CAKIA,EAAS,GAAKA,CAClB,CAEE,IAAKnB,SAASqB,KAAKF,GAAS,CAC1B,OAAOA,CACX,CACE,OAAOA,EAAOG,QAAQvB,SAAUE,WAClC,CAEA,SAASP,QAAQoB,GACf,IAAKA,GAASA,IAAU,EAAG,CACzB,OAAO,IACX,MAAS,GAAIC,QAAQD,IAAUA,EAAMR,SAAW,EAAG,CAC/C,OAAO,IACX,KAAS,CACL,OAAO,KACX,CACA,CAEA,SAASX,YAAY4B,GACnB,IAAIC,EAAQjC,OAAO,GAAIgC,GACvBC,EAAMC,QAAUF,EAChB,OAAOC,CACT,CAEA,SAAS5B,YAAY8B,EAAQC,GAC3BD,EAAOE,KAAOD,EACd,OAAOD,CACT,CAEA,SAAS7B,kBAAkBgC,EAAaC,GACtC,OAAQD,EAAcA,EAAc,IAAM,IAAMC,CAClD,C,0CCxHAC,EAAAzC,WAAqB,KACrB,IAAI0C,EAAa,CAAC,cAAe,WAAY,aAAc,gBAAiB,UAAW,OAAQ,SAAU,SAEzG,SAASC,EAAUC,EAASC,GAC1B,IAAIC,EAAMD,GAAQA,EAAKC,IACnBC,EAAOC,UACPC,EAAgBD,UAChBE,EAASF,UACTG,EAAYH,UAEhB,GAAIF,EAAK,CACPC,EAAOD,EAAIM,MAAML,KACjBE,EAAgBH,EAAIO,IAAIN,KACxBG,EAASJ,EAAIM,MAAMF,OACnBC,EAAYL,EAAIO,IAAIH,OAEpBN,GAAW,MAAQG,EAAO,IAAMG,CACpC,CAEE,IAAII,EAAMC,MAAMpC,UAAUqC,YAAYnC,KAAKoC,KAAMb,GAGjD,IAAK,IAAIc,EAAM,EAAGA,EAAMhB,EAAW1B,OAAQ0C,IAAO,CAChDD,KAAKf,EAAWgB,IAAQJ,EAAIZ,EAAWgB,GAC3C,CAGE,GAAIH,MAAMI,kBAAmB,CAC3BJ,MAAMI,kBAAkBF,KAAMd,EAClC,CAEE,IACE,GAAIG,EAAK,CACPW,KAAKG,WAAab,EAClBU,KAAKR,cAAgBA,EAIrB,GAAI/B,OAAO2C,eAAgB,CACzB3C,OAAO2C,eAAeJ,KAAM,SAAU,CACpCjC,MAAO0B,EACPY,WAAY,OAEd5C,OAAO2C,eAAeJ,KAAM,YAAa,CACvCjC,MAAO2B,EACPW,WAAY,MAEtB,KAAa,CACLL,KAAKP,OAASA,EACdO,KAAKN,UAAYA,CACzB,CACA,CACA,CAAI,MAAOY,GAEX,CACA,CAEApB,EAAUxB,UAAY,IAAIoC,MAE1Bd,EAAQ,WAAaE,EACrBqB,EAAAvB,QAAiBA,EAAQ,U,oGC5DzBA,EAAAzC,WAAqB,KAErB,IAAIiE,EAASC,MAEbzB,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,sBAAsB,SAAUC,EAASC,GAC/D,IAAIC,EAAUD,EAAQC,QAClBC,EAAKF,EAAQE,GAEjB,GAAIH,IAAY,KAAM,CACpB,OAAOG,EAAGf,KAChB,MAAW,GAAIY,IAAY,OAASA,GAAW,KAAM,CAC/C,OAAOE,EAAQd,KACrB,MAAW,GAAIQ,EAAOxC,QAAQ4C,GAAU,CAClC,GAAIA,EAAQrD,OAAS,EAAG,CACtB,GAAIsD,EAAQjC,IAAK,CACfiC,EAAQjC,IAAM,CAACiC,EAAQG,KACjC,CAEQ,OAAON,EAASO,QAAQC,KAAKN,EAASC,EAC9C,KAAa,CACL,OAAOC,EAAQd,KACvB,CACA,KAAW,CACL,GAAIa,EAAQM,MAAQN,EAAQjC,IAAK,CAC/B,IAAIuC,EAAOX,EAAO5D,YAAYiE,EAAQM,MACtCA,EAAKrC,YAAc0B,EAAO1D,kBAAkB+D,EAAQM,KAAKrC,YAAa+B,EAAQG,MAC9EH,EAAU,CAAEM,KAAMA,EAC1B,CAEM,OAAOJ,EAAGH,EAASC,EACzB,CACA,GACA,EAEAN,EAAAvB,QAAiBA,EAAQ,U,uFCnCzBA,EAAAzC,WAAqB,KAGrB,SAAS6E,EAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIoD,EAASC,MAEb,IAAIa,EAAaC,kBAEjB,IAAIC,EAAcJ,EAAuBE,GAEzCtC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,QAAQ,SAAUC,EAASC,GACjD,IAAKA,EAAS,CACZ,MAAM,IAAIW,EAAY,WAAW,8BACvC,CAEI,IAAIT,EAAKF,EAAQE,GACbD,EAAUD,EAAQC,QAClBzD,EAAI,EACJoE,EAAM,GACNN,EAAO5B,UACPT,EAAcS,UAElB,GAAIsB,EAAQM,MAAQN,EAAQjC,IAAK,CAC/BE,EAAc0B,EAAO1D,kBAAkB+D,EAAQM,KAAKrC,YAAa+B,EAAQjC,IAAI,IAAM,GACzF,CAEI,GAAI4B,EAAO1C,WAAW8C,GAAU,CAC9BA,EAAUA,EAAQhD,KAAKoC,KAC7B,CAEI,GAAIa,EAAQM,KAAM,CAChBA,EAAOX,EAAO5D,YAAYiE,EAAQM,KACxC,CAEI,SAASO,EAAcC,EAAOC,EAAOC,GACnC,GAAIV,EAAM,CACRA,EAAK3D,IAAMmE,EACXR,EAAKS,MAAQA,EACbT,EAAKW,MAAQF,IAAU,EACvBT,EAAKU,OAASA,EAEd,GAAI/C,EAAa,CACfqC,EAAKrC,YAAcA,EAAc6C,CAC3C,CACA,CAEMF,EAAMA,EAAMV,EAAGH,EAAQe,GAAQ,CAC7BR,KAAMA,EACNtE,YAAa2D,EAAO3D,YAAY,CAAC+D,EAAQe,GAAQA,GAAQ,CAAC7C,EAAc6C,EAAO,QAEvF,CAEI,GAAIf,UAAkBA,IAAY,SAAU,CAC1C,GAAIJ,EAAOxC,QAAQ4C,GAAU,CAC3B,IAAK,IAAImB,EAAInB,EAAQrD,OAAQF,EAAI0E,EAAG1E,IAAK,CACvC,GAAIA,KAAKuD,EAAS,CAChBc,EAAcrE,EAAGA,EAAGA,IAAMuD,EAAQrD,OAAS,EACvD,CACA,CACA,MAAa,UAAWyE,SAAW,YAAcpB,EAAQoB,OAAOC,UAAW,CACnE,IAAIC,EAAa,GACjB,IAAID,EAAWrB,EAAQoB,OAAOC,YAC9B,IAAK,IAAIE,EAAKF,EAASG,QAASD,EAAGE,KAAMF,EAAKF,EAASG,OAAQ,CAC7DF,EAAWI,KAAKH,EAAGpE,MAC7B,CACQ6C,EAAUsB,EACV,IAAK,IAAIH,EAAInB,EAAQrD,OAAQF,EAAI0E,EAAG1E,IAAK,CACvCqE,EAAcrE,EAAGA,EAAGA,IAAMuD,EAAQrD,OAAS,EACrD,CACA,KAAa,EACL,WACE,IAAIgF,EAAWhD,UAEf9B,OAAO+E,KAAK5B,GAAS6B,SAAQ,SAAUjF,GAIrC,GAAI+E,IAAahD,UAAW,CAC1BmC,EAAca,EAAUlF,EAAI,EAC1C,CACYkF,EAAW/E,EACXH,GACZ,IACU,GAAIkF,IAAahD,UAAW,CAC1BmC,EAAca,EAAUlF,EAAI,EAAG,KAC3C,CACS,EAhBD,EAiBR,CACA,CAEI,GAAIA,IAAM,EAAG,CACXoE,EAAMX,EAAQd,KACpB,CAEI,OAAOyB,CACX,GACA,EAEAlB,EAAAvB,QAAiBA,EAAQ,U,oECpGzBA,EAAAzC,WAAqB,KAGrB,SAAS6E,EAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIkE,EAAab,kBAEjB,IAAIe,EAAcJ,EAAuBE,GAEzCtC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,iBAAiB,WACvC,GAAIrD,UAAUC,SAAW,EAAG,CAE1B,OAAOgC,SACb,KAAW,CAEL,MAAM,IAAIiC,EAAY,WAAW,oBAAsBlE,UAAUA,UAAUC,OAAS,GAAGyD,KAAO,IACpG,CACA,GACA,EAEAT,EAAAvB,QAAiBA,EAAQ,U,4ECrBzBA,EAAAzC,WAAqB,KAGrB,SAAS6E,EAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIoD,EAASC,MAEb,IAAIa,EAAaC,kBAEjB,IAAIC,EAAcJ,EAAuBE,GAEzCtC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,MAAM,SAAU+B,EAAa7B,GACnD,GAAIvD,UAAUC,QAAU,EAAG,CACzB,MAAM,IAAIiE,EAAY,WAAW,oCACvC,CACI,GAAIhB,EAAO1C,WAAW4E,GAAc,CAClCA,EAAcA,EAAY9E,KAAKoC,KACrC,CAKI,IAAKa,EAAQ8B,KAAKC,cAAgBF,GAAelC,EAAO7D,QAAQ+F,GAAc,CAC5E,OAAO7B,EAAQC,QAAQd,KAC7B,KAAW,CACL,OAAOa,EAAQE,GAAGf,KACxB,CACA,IAEEU,EAASC,eAAe,UAAU,SAAU+B,EAAa7B,GACvD,GAAIvD,UAAUC,QAAU,EAAG,CACzB,MAAM,IAAIiE,EAAY,WAAW,wCACvC,CACI,OAAOd,EAASO,QAAQ,MAAMrD,KAAKoC,KAAM0C,EAAa,CACpD3B,GAAIF,EAAQC,QACZA,QAASD,EAAQE,GACjB4B,KAAM9B,EAAQ8B,MAEpB,GACA,EAEApC,EAAAvB,QAAiBA,EAAQ,U,0DC1CzBA,EAAAzC,WAAqB,KAErByC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,OAAO,WAC7B,IAAIkC,EAAO,CAACtD,WACRsB,EAAUvD,UAAUA,UAAUC,OAAS,GAC3C,IAAK,IAAIF,EAAI,EAAGA,EAAIC,UAAUC,OAAS,EAAGF,IAAK,CAC7CwF,EAAKP,KAAKhF,UAAUD,GAC1B,CAEI,IAAIyF,EAAQ,EACZ,GAAIjC,EAAQ8B,KAAKG,OAAS,KAAM,CAC9BA,EAAQjC,EAAQ8B,KAAKG,KAC3B,MAAW,GAAIjC,EAAQM,MAAQN,EAAQM,KAAK2B,OAAS,KAAM,CACrDA,EAAQjC,EAAQM,KAAK2B,KAC3B,CACID,EAAK,GAAKC,EAEVpC,EAASqC,IAAIC,MAAMtC,EAAUmC,EACjC,GACA,EAEAtC,EAAAvB,QAAiBA,EAAQ,U,+DCtBzBA,EAAAzC,WAAqB,KAErByC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,UAAU,SAAUvD,EAAKuE,EAAOd,GACtD,IAAKzD,EAAK,CAER,OAAOA,CACb,CACI,OAAOyD,EAAQoC,eAAe7F,EAAKuE,EACvC,GACA,EAEApB,EAAAvB,QAAiBA,EAAQ,U,gECZzBA,EAAAzC,WAAqB,KAGrB,SAAS6E,EAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIoD,EAASC,MAEb,IAAIa,EAAaC,kBAEjB,IAAIC,EAAcJ,EAAuBE,GAEzCtC,EAAQ,WAAa,SAAU0B,GAC7BA,EAASC,eAAe,QAAQ,SAAUC,EAASC,GACjD,GAAIvD,UAAUC,QAAU,EAAG,CACzB,MAAM,IAAIiE,EAAY,WAAW,sCACvC,CACI,GAAIhB,EAAO1C,WAAW8C,GAAU,CAC9BA,EAAUA,EAAQhD,KAAKoC,KAC7B,CAEI,IAAIe,EAAKF,EAAQE,GAEjB,IAAKP,EAAO7D,QAAQiE,GAAU,CAC5B,IAAIO,EAAON,EAAQM,KACnB,GAAIN,EAAQM,MAAQN,EAAQjC,IAAK,CAC/BuC,EAAOX,EAAO5D,YAAYiE,EAAQM,MAClCA,EAAKrC,YAAc0B,EAAO1D,kBAAkB+D,EAAQM,KAAKrC,YAAa+B,EAAQjC,IAAI,GAC1F,CAEM,OAAOmC,EAAGH,EAAS,CACjBO,KAAMA,EACNtE,YAAa2D,EAAO3D,YAAY,CAAC+D,GAAU,CAACO,GAAQA,EAAKrC,eAEjE,KAAW,CACL,OAAO+B,EAAQC,QAAQd,KAC7B,CACA,GACA,EAEAO,EAAAvB,QAAiBA,EAAQ,U,wBCvCzBiC,UAAO1E,WAAc,K,iCACY2G,uB,4BACLC,kBAG5B,SAAS/B,yBAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIgG,2BAA6B3C,2BAEjC,IAAI4C,4BAA8BjC,yBAAuBgC,4BAEzD,IAAIE,aAAe/B,aAEnB,IAAIgC,cAAgBnC,yBAAuBkC,cAE3C,IAAIE,sBAAwBC,sBAE5B,IAAIC,uBAAyBtC,yBAAuBoC,uBAEpD,IAAIG,WAAaC,YAEjB,IAAIC,YAAczC,yBAAuBuC,YAEzC,IAAIG,YAAcC,cAElB,IAAIC,aAAe5C,yBAAuB0C,aAE1C,IAAIG,eAAiBC,eAErB,IAAIC,gBAAkB/C,yBAAuB6C,gBAE7C,IAAIG,aAAeC,cAEnB,IAAIC,cAAgBlD,yBAAuBgD,cAE3C,SAASlB,uBAAuBxC,GAC9B2C,4BAA4B,WAAW3C,GACvC6C,cAAc,WAAW7C,GACzBgD,uBAAuB,WAAWhD,GAClCmD,YAAY,WAAWnD,GACvBsD,aAAa,WAAWtD,GACxByD,gBAAgB,WAAWzD,GAC3B4D,cAAc,WAAW5D,EAC3B,CAEA,SAASyC,kBAAkBzC,EAAU6D,EAAYC,GAC/C,GAAI9D,EAASO,QAAQsD,GAAa,CAChC7D,EAAS+D,MAAMF,GAAc7D,EAASO,QAAQsD,GAC9C,IAAKC,EAAY,QACR9D,EAASO,QAAQsD,EAC9B,CACA,CACA,C,yDCpDAvF,EAAAzC,WAAqB,KAErB,IAAIiE,EAASC,MAEbzB,EAAQ,WAAa,SAAU0B,GAC7BA,EAASgE,kBAAkB,UAAU,SAAU3D,EAAI4D,EAAOC,EAAW/D,GACnE,IAAIY,EAAMV,EACV,IAAK4D,EAAME,SAAU,CACnBF,EAAME,SAAW,GACjBpD,EAAM,SAAUb,EAASC,GAEvB,IAAIiE,EAAWF,EAAUC,SACzBD,EAAUC,SAAWrE,EAAOhE,OAAO,GAAIsI,EAAUH,EAAME,UACvD,IAAIpD,EAAMV,EAAGH,EAASC,GACtB+D,EAAUC,SAAWC,EACrB,OAAOrD,CACf,CACA,CAEIkD,EAAME,SAAShE,EAAQgC,KAAK,IAAMhC,EAAQE,GAE1C,OAAOU,CACX,GACA,EAEAlB,EAAAvB,QAAiBA,EAAQ,U,0BCzBzB+F,WAAOxI,WAAc,K,qCACeyI,0BAGpC,SAAS5D,yBAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAI6H,kBAAoBxE,eAExB,IAAIyE,mBAAqB9D,yBAAuB6D,mBAEhD,SAASD,0BAA0BtE,GACjCwE,mBAAmB,WAAWxE,EAChC,C,uCCZA1B,EAAAzC,WAAqB,KAErB,IAAIiE,EAASC,MAEb,IAAI0E,EAAS,CACXC,UAAW,CAAC,QAAS,OAAQ,OAAQ,SACrCtC,MAAO,OAGPuC,YAAa,SAASA,EAAYvC,GAChC,UAAWA,IAAU,SAAU,CAC7B,IAAIwC,EAAW9E,EAAO/D,QAAQ0I,EAAOC,UAAWtC,EAAMyC,eACtD,GAAID,GAAY,EAAG,CACjBxC,EAAQwC,CAChB,KAAa,CACLxC,EAAQ0C,SAAS1C,EAAO,GAChC,CACA,CAEI,OAAOA,CACX,EAGEC,IAAK,SAASA,EAAID,GAChBA,EAAQqC,EAAOE,YAAYvC,GAE3B,UAAW2C,UAAY,aAAeN,EAAOE,YAAYF,EAAOrC,QAAUA,EAAO,CAC/E,IAAI4C,EAASP,EAAOC,UAAUtC,GAE9B,IAAK2C,QAAQC,GAAS,CACpBA,EAAS,KACjB,CAEM,IAAK,IAAIC,EAAOrI,UAAUC,OAAQ4B,EAAUlB,MAAM0H,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAAQ,CACzGzG,EAAQyG,EAAO,GAAKtI,UAAUsI,EACtC,CAEMH,QAAQC,GAAQ1C,MAAMyC,QAAStG,EACrC,CACA,GAGAH,EAAQ,WAAamG,EACrB5E,EAAAvB,QAAiBA,EAAQ,U,4EC3CzB6G,wBAAOtJ,WAAc,K,8CACWuJ,sBAEhC,IAAItF,SAASC,MASb,SAASqF,wBACP,IAAK,IAAIH,EAAOrI,UAAUC,OAAQwI,EAAU9H,MAAM0H,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAAQ,CACtFG,EAAQH,GAAQtI,UAAUsI,EAC9B,CAEE,OAAOpF,SAAOhE,OAAOwG,MAAMzD,UAAW,CAAC9B,OAAOuI,OAAO,OAAOC,OAAOF,GACrE,CClBAG,YAAO3J,WAAc,K,qCACc4J,yB,4BACTC,gB,kCACMC,sBAGhC,SAASjF,yBAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIkJ,uBAAyB7F,wBAE7B,IAAI8F,UAAUhF,eAEd,IAAIiF,WAAWpF,yBAAuBmF,WAEtC,IAAIE,iBAAmBhJ,OAAOuI,OAAO,MAErC,SAASG,yBAAyBO,GAChC,IAAIC,EAAyBlJ,OAAOuI,OAAO,MAC3CW,EAAuB,eAAiB,MACxCA,EAAuB,oBAAsB,MAC7CA,EAAuB,oBAAsB,MAC7CA,EAAuB,oBAAsB,MAE7C,IAAIC,EAA2BnJ,OAAOuI,OAAO,MAE7CY,EAAyB,aAAe,MAExC,MAAO,CACLC,WAAY,CACVC,UAAWR,uBAAuBR,sBAAsBc,EAA0BF,EAAeK,wBACjGC,aAAcN,EAAeO,+BAE/BC,QAAS,CACPJ,UAAWR,uBAAuBR,sBAAsBa,EAAwBD,EAAeS,qBAC/FH,aAAcN,EAAeU,4BAGnC,CAEA,SAAShB,gBAAgBiB,EAAQC,EAAoBC,GACnD,UAAWF,IAAW,WAAY,CAChC,OAAOG,eAAeF,EAAmBJ,QAASK,EACtD,KAAS,CACL,OAAOC,eAAeF,EAAmBT,WAAYU,EACzD,CACA,CAEA,SAASC,eAAeC,EAA2BF,GACjD,GAAIE,EAA0BX,UAAUS,KAAkBhI,UAAW,CACnE,OAAOkI,EAA0BX,UAAUS,KAAkB,IACjE,CACE,GAAIE,EAA0BT,eAAiBzH,UAAW,CACxD,OAAOkI,EAA0BT,YACrC,CACEU,+BAA+BH,GAC/B,OAAO,KACT,CAEA,SAASG,+BAA+BH,GACtC,GAAId,iBAAiBc,KAAkB,KAAM,CAC3Cd,iBAAiBc,GAAgB,KACjCf,WAAS,WAAWzD,IAAI,QAAS,+DAAiEwE,EAAe,yDAA2D,uEAAyE,kHACzP,CACA,CAEA,SAASlB,wBACP5I,OAAO+E,KAAKiE,kBAAkBhE,SAAQ,SAAU8E,UACvCd,iBAAiBc,EAC5B,GACA,CCrEAI,OAAOpL,WAAc,K,6BACWqL,sBAGhC,SAASxG,yBAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAE/F,IAAIoD,SAASC,MAEb,IAAIa,aAAaC,kBAEjB,IAAIC,cAAcJ,yBAAuBE,cAEzC,IAAIuG,WAAWpE,UAEf,IAAIqE,YAAclE,WAElB,IAAI2C,QAAUxC,eAEd,IAAIyC,SAAWpF,yBAAuBmF,SAEtC,IAAIwB,uBAAuB7D,YAE3B,IAAI8D,QAAU,Q,eACIA,QAClB,IAAIC,kBAAoB,E,yBACIA,kBAC5B,IAAIC,kCAAoC,E,yCAEIA,kCAC5C,IAAIC,iBAAmB,CACrB,EAAG,cACH,EAAG,gBACH,EAAG,gBACH,EAAG,WACH,EAAG,mBACH,EAAG,kBACH,EAAG,kBACH,EAAG,Y,wBAGsBA,iBAC3B,IAAIC,WAAa,kBAEjB,SAASR,sBAAsB3G,EAAS4D,EAAUE,GAChD/E,KAAKiB,QAAUA,GAAW,GAC1BjB,KAAK6E,SAAWA,GAAY,GAC5B7E,KAAK+E,WAAaA,GAAc,GAEhC8C,WAAS3E,uBAAuBlD,MAChC8H,YAAY9C,0BAA0BhF,KACxC,CAEA4H,sBAAsBlK,UAAY,CAChCqC,YAAa6H,sBAEbzC,OAAQqB,SAAS,WACjBzD,IAAKyD,SAAS,WAAWzD,IAEzBpC,eAAgB,SAASA,EAAeK,EAAMD,GAC5C,GAAIP,SAAO3C,SAASD,KAAKoD,KAAUoH,WAAY,CAC7C,GAAIrH,EAAI,CACN,MAAM,IAAIS,cAAY,WAAW,0CACzC,CACMhB,SAAOhE,OAAOwD,KAAKiB,QAASD,EAClC,KAAW,CACLhB,KAAKiB,QAAQD,GAAQD,CAC3B,CACA,EACEsH,iBAAkB,SAASA,EAAiBrH,UACnChB,KAAKiB,QAAQD,EACxB,EAEEsH,gBAAiB,SAASA,EAAgBtH,EAAMuH,GAC9C,GAAI/H,SAAO3C,SAASD,KAAKoD,KAAUoH,WAAY,CAC7C5H,SAAOhE,OAAOwD,KAAK6E,SAAU7D,EACnC,KAAW,CACL,UAAWuH,IAAY,YAAa,CAClC,MAAM,IAAI/G,cAAY,WAAW,4CAA8CR,EAAO,iBAC9F,CACMhB,KAAK6E,SAAS7D,GAAQuH,CAC5B,CACA,EACEC,kBAAmB,SAASA,EAAkBxH,UACrChB,KAAK6E,SAAS7D,EACzB,EAEE0D,kBAAmB,SAASA,EAAkB1D,EAAMD,GAClD,GAAIP,SAAO3C,SAASD,KAAKoD,KAAUoH,WAAY,CAC7C,GAAIrH,EAAI,CACN,MAAM,IAAIS,cAAY,WAAW,6CACzC,CACMhB,SAAOhE,OAAOwD,KAAK+E,WAAY/D,EACrC,KAAW,CACLhB,KAAK+E,WAAW/D,GAAQD,CAC9B,CACA,EACE0H,oBAAqB,SAASA,EAAoBzH,UACzChB,KAAK+E,WAAW/D,EAC3B,EAKE0H,4BAA6B,SAASA,IACpCX,uBAAqB1B,uBACzB,GAGA,IAAItD,IAAMyD,SAAS,WAAWzD,I,WAEhBA,I,mBACQvC,SAAO5D,Y,cACZ4J,SAAS,W,2CC/G1BxH,EAAAzC,WAAqB,KACrB,SAASoM,EAAWvK,GAClB4B,KAAK5B,OAASA,CAChB,CAEAuK,EAAWjL,UAAUG,SAAW8K,EAAWjL,UAAUW,OAAS,WAC5D,MAAO,GAAK2B,KAAK5B,MACnB,EAEAY,EAAQ,WAAa2J,EACrBpI,EAAAvB,QAAiBA,EAAQ,U,qECXzB4J,aAAOrM,WAAc,K,wBACAsM,WAErB,SAASA,WAAWC,EAAQC,GAC1B,UAAWD,IAAW,WAAY,CAGhC,OAAOA,CACX,CACE,IAAIE,EAAU,SAASA,IACrB,IAAInI,EAAUvD,UAAUA,UAAUC,OAAS,GAC3CD,UAAUA,UAAUC,OAAS,GAAKwL,EAAmBlI,GACrD,OAAOiI,EAAO9F,MAAMhD,KAAM1C,UAC9B,EACE,OAAO0L,CACT,CCfAC,QAAO1M,WAAc,K,sBACG2M,c,iBACLC,S,oBACGC,Y,uBACGC,e,sBACDC,c,aACTC,KAGf,SAASnI,yBAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAI/F,SAASoM,0BAAwBpM,GAAO,GAAIA,GAAOA,EAAIb,WAAY,CAAE,OAAOa,CAAI,KAAQ,CAAE,IAAIqM,EAAS,GAAI,GAAIrM,GAAO,KAAM,CAAE,IAAK,IAAII,KAAOJ,EAAK,CAAE,GAAIK,OAAOC,UAAUC,eAAeC,KAAKR,EAAKI,GAAMiM,EAAOjM,GAAOJ,EAAII,EAAK,CAAE,CAAGiM,EAAO,WAAarM,EAAK,OAAOqM,CAAO,CAAE,CAE9Q,IAAIjJ,SAASC,MAEb,IAAIiJ,MAAQF,0BAAwBhJ,UAEpC,IAAIc,aAAaC,kBAEjB,IAAIC,cAAcJ,yBAAuBE,cAEzC,IAAIqI,MAAQlG,OAEZ,IAAIoE,WAAWjE,UAEf,IAAIgG,oBAAsB7F,aAE1B,IAAIgE,qBAAuB7D,YAE3B,SAASgF,cAAcW,GACrB,IAAIC,EAAmBD,GAAgBA,EAAa,IAAM,EACtDE,EAAkBJ,MAAM1B,kBAE5B,GAAI6B,GAAoBH,MAAMzB,mCAAqC4B,GAAoBH,MAAM1B,kBAAmB,CAC9G,MACJ,CAEE,GAAI6B,EAAmBH,MAAMzB,kCAAmC,CAC9D,IAAI8B,EAAkBL,MAAMxB,iBAAiB4B,GACzCE,EAAmBN,MAAMxB,iBAAiB2B,GAC9C,MAAM,IAAItI,cAAY,WAAW,0FAA4F,sDAAwDwI,EAAkB,oDAAsDC,EAAmB,KACpR,KAAS,CAEL,MAAM,IAAIzI,cAAY,WAAW,yFAA2F,kDAAoDqI,EAAa,GAAK,KACtM,CACA,CAEA,SAASV,SAASe,EAAcC,GAE9B,IAAKA,EAAK,CACR,MAAM,IAAI3I,cAAY,WAAW,oCACrC,CACE,IAAK0I,IAAiBA,EAAaE,KAAM,CACvC,MAAM,IAAI5I,cAAY,WAAW,mCAAqC0I,EAC1E,CAEEA,EAAaE,KAAKC,UAAYH,EAAaI,OAI3CH,EAAII,GAAGrB,cAAcgB,EAAaM,UAGlC,IAAIC,EAAuCP,EAAaM,UAAYN,EAAaM,SAAS,KAAO,EAEjG,SAASE,EAAqBnC,EAAS3H,EAASC,GAC9C,GAAIA,EAAQ8B,KAAM,CAChB/B,EAAU8I,MAAMlN,OAAO,GAAIoE,EAASC,EAAQ8B,MAC5C,GAAI9B,EAAQjC,IAAK,CACfiC,EAAQjC,IAAI,GAAK,IACzB,CACA,CACI2J,EAAU4B,EAAII,GAAGlB,eAAezL,KAAKoC,KAAMuI,EAAS3H,EAASC,GAE7D,IAAI8J,EAAkBjB,MAAMlN,OAAO,GAAIqE,EAAS,CAC9C4D,MAAOzE,KAAKyE,MACZ6C,mBAAoBtH,KAAKsH,qBAG3B,IAAID,EAAS8C,EAAII,GAAGjB,cAAc1L,KAAKoC,KAAMuI,EAAS3H,EAAS+J,GAE/D,GAAItD,GAAU,MAAQ8C,EAAIS,QAAS,CACjC/J,EAAQgE,SAAShE,EAAQG,MAAQmJ,EAAIS,QAAQrC,EAAS2B,EAAaW,gBAAiBV,GACpF9C,EAASxG,EAAQgE,SAAShE,EAAQG,MAAMJ,EAAS+J,EACvD,CACI,GAAItD,GAAU,KAAM,CAClB,GAAIxG,EAAQiK,OAAQ,CAClB,IAAIC,EAAQ1D,EAAO2D,MAAM,MACzB,IAAK,IAAI3N,EAAI,EAAG4N,EAAIF,EAAMxN,OAAQF,EAAI4N,EAAG5N,IAAK,CAC5C,IAAK0N,EAAM1N,IAAMA,EAAI,IAAM4N,EAAG,CAC5B,KACZ,CAEUF,EAAM1N,GAAKwD,EAAQiK,OAASC,EAAM1N,EAC5C,CACQgK,EAAS0D,EAAMG,KAAK,KAC5B,CACM,OAAO7D,CACb,KAAW,CACL,MAAM,IAAI7F,cAAY,WAAW,eAAiBX,EAAQG,KAAO,2DACvE,CACA,CAGE,IAAI4D,EAAY,CACduG,OAAQ,SAASA,EAAO/N,EAAK4D,EAAM3B,GACjC,IAAKjC,KAAS4D,KAAQ5D,GAAM,CAC1B,MAAM,IAAIoE,cAAY,WAAW,IAAMR,EAAO,oBAAsB5D,EAAK,CACvEiC,IAAKA,GAEf,CACM,OAAOuF,EAAU3B,eAAe7F,EAAK4D,EAC3C,EACIiC,eAAgB,SAASA,EAAemI,EAAQ7D,GAC9C,IAAIF,EAAS+D,EAAO7D,GACpB,GAAIF,GAAU,KAAM,CAClB,OAAOA,CACf,CACM,GAAI5J,OAAOC,UAAUC,eAAeC,KAAKwN,EAAQ7D,GAAe,CAC9D,OAAOF,CACf,CAEM,GAAIU,qBAAqB3B,gBAAgBiB,EAAQzC,EAAU0C,mBAAoBC,GAAe,CAC5F,OAAOF,CACf,CACM,OAAO9H,SACb,EACI8L,OAAQ,SAASA,EAAOC,EAAQtK,GAC9B,IAAI7C,EAAMmN,EAAO/N,OACjB,IAAK,IAAIF,EAAI,EAAGA,EAAIc,EAAKd,IAAK,CAC5B,IAAIgK,EAASiE,EAAOjO,IAAMuH,EAAU3B,eAAeqI,EAAOjO,GAAI2D,GAC9D,GAAIqG,GAAU,KAAM,CAClB,OAAOiE,EAAOjO,GAAG2D,EAC3B,CACA,CACA,EACIuK,OAAQ,SAASA,EAAOC,EAAS5K,GAC/B,cAAc4K,IAAY,WAAaA,EAAQ5N,KAAKgD,GAAW4K,CACrE,EAEI9O,iBAAkBgN,MAAMhN,iBACxB4M,cAAeoB,EAEf3J,GAAI,SAASA,EAAG1D,GACd,IAAIoE,EAAMyI,EAAa7M,GACvBoE,EAAI4I,UAAYH,EAAa7M,EAAI,MACjC,OAAOoE,CACb,EAEIgK,SAAU,GACVC,QAAS,SAASA,EAAQrO,EAAG8D,EAAMwK,EAAqB9O,EAAayO,GACnE,IAAIM,EAAiB5L,KAAKyL,SAASpO,GAC/B0D,EAAKf,KAAKe,GAAG1D,GACjB,GAAI8D,GAAQmK,GAAUzO,GAAe8O,EAAqB,CACxDC,EAAiBxC,YAAYpJ,KAAM3C,EAAG0D,EAAII,EAAMwK,EAAqB9O,EAAayO,EAC1F,MAAa,IAAKM,EAAgB,CAC1BA,EAAiB5L,KAAKyL,SAASpO,GAAK+L,YAAYpJ,KAAM3C,EAAG0D,EACjE,CACM,OAAO6K,CACb,EAEIzK,KAAM,SAASA,EAAKpD,EAAO8N,GACzB,MAAO9N,GAAS8N,IAAS,CACvB9N,EAAQA,EAAMW,OACtB,CACM,OAAOX,CACb,EACI+N,cAAe,SAASA,EAAcC,EAAOC,GAC3C,IAAI5O,EAAM2O,GAASC,EAEnB,GAAID,GAASC,GAAUD,IAAUC,EAAQ,CACvC5O,EAAMsM,MAAMlN,OAAO,GAAIwP,EAAQD,EACvC,CAEM,OAAO3O,CACb,EAEI6O,YAAaxO,OAAOyO,KAAK,IAEzB3C,KAAMY,EAAII,GAAGhB,KACbM,aAAcK,EAAaM,UAG7B,SAAS/I,EAAIb,GACX,IAAIC,EAAUvD,UAAUC,QAAU,GAAKD,UAAU,KAAOiC,UAAY,GAAKjC,UAAU,GAEnF,IAAI6D,EAAON,EAAQM,KAEnBM,EAAI0K,OAAOtL,GACX,IAAKA,EAAQ0H,SAAW2B,EAAakC,QAAS,CAC5CjL,EAAOkL,SAASzL,EAASO,EAC/B,CACI,IAAImK,EAAS/L,UACT1C,EAAcqN,EAAaoC,eAAiB,GAAK/M,UACrD,GAAI2K,EAAaqC,UAAW,CAC1B,GAAI1L,EAAQyK,OAAQ,CAClBA,EAAS1K,GAAWC,EAAQyK,OAAO,GAAK,CAAC1K,GAASqF,OAAOpF,EAAQyK,QAAUzK,EAAQyK,MAC3F,KAAa,CACLA,EAAS,CAAC1K,EAClB,CACA,CAEI,SAASwJ,EAAKxJ,GACZ,MAAO,GAAKsJ,EAAaE,KAAKxF,EAAWhE,EAASgE,EAAU3D,QAAS2D,EAAUC,SAAU1D,EAAMtE,EAAayO,EAClH,CAEIlB,EAAOoC,kBAAkBtC,EAAaE,KAAMA,EAAMxF,EAAW/D,EAAQyK,QAAU,GAAInK,EAAMtE,GACzF,OAAOuN,EAAKxJ,EAASC,EACzB,CAEEY,EAAIgL,MAAQ,KAEZhL,EAAI0K,OAAS,SAAUtL,GACrB,IAAKA,EAAQ0H,QAAS,CACpB,IAAImE,EAAgBhD,MAAMlN,OAAO,GAAI2N,EAAIlJ,QAASJ,EAAQI,SAC1D0L,gCAAgCD,EAAe9H,GAC/CA,EAAU3D,QAAUyL,EAEpB,GAAIxC,EAAa0C,WAAY,CAE3BhI,EAAUC,SAAWD,EAAUkH,cAAcjL,EAAQgE,SAAUsF,EAAItF,SAC3E,CACM,GAAIqF,EAAa0C,YAAc1C,EAAa2C,cAAe,CACzDjI,EAAUG,WAAa2E,MAAMlN,OAAO,GAAI2N,EAAIpF,WAAYlE,EAAQkE,WACxE,CAEMH,EAAUH,MAAQ,GAClBG,EAAU0C,mBAAqBS,qBAAqB5B,yBAAyBtF,GAE7E,IAAIiM,EAAsBjM,EAAQkM,2BAA6BtC,EAC/D5C,WAAS1E,kBAAkByB,EAAW,gBAAiBkI,GACvDjF,WAAS1E,kBAAkByB,EAAW,qBAAsBkI,EAClE,KAAW,CACLlI,EAAU0C,mBAAqBzG,EAAQyG,mBACvC1C,EAAU3D,QAAUJ,EAAQI,QAC5B2D,EAAUC,SAAWhE,EAAQgE,SAC7BD,EAAUG,WAAalE,EAAQkE,WAC/BH,EAAUH,MAAQ5D,EAAQ4D,KAChC,CACA,EAEEhD,EAAIuL,OAAS,SAAU3P,EAAG8D,EAAMtE,EAAayO,GAC3C,GAAIpB,EAAaoC,iBAAmBzP,EAAa,CAC/C,MAAM,IAAI2E,cAAY,WAAW,yBACvC,CACI,GAAI0I,EAAaqC,YAAcjB,EAAQ,CACrC,MAAM,IAAI9J,cAAY,WAAW,0BACvC,CAEI,OAAO4H,YAAYxE,EAAWvH,EAAG6M,EAAa7M,GAAI8D,EAAM,EAAGtE,EAAayO,EAC5E,EACE,OAAO7J,CACT,CAEA,SAAS2H,YAAYxE,EAAWvH,EAAG0D,EAAII,EAAMwK,EAAqB9O,EAAayO,GAC7E,SAAS2B,EAAKrM,GACZ,IAAIC,EAAUvD,UAAUC,QAAU,GAAKD,UAAU,KAAOiC,UAAY,GAAKjC,UAAU,GAEnF,IAAI4P,EAAgB5B,EACpB,GAAIA,GAAU1K,GAAW0K,EAAO,MAAQ1K,IAAYgE,EAAUqH,aAAeX,EAAO,KAAO,MAAO,CAChG4B,EAAgB,CAACtM,GAASqF,OAAOqF,EACvC,CAEI,OAAOvK,EAAG6D,EAAWhE,EAASgE,EAAU3D,QAAS2D,EAAUC,SAAUhE,EAAQM,MAAQA,EAAMtE,GAAe,CAACgE,EAAQhE,aAAaoJ,OAAOpJ,GAAcqQ,EACzJ,CAEED,EAAOT,kBAAkBzL,EAAIkM,EAAMrI,EAAW0G,EAAQnK,EAAMtE,GAE5DoQ,EAAKvB,QAAUrO,EACf4P,EAAKpB,MAAQP,EAASA,EAAO/N,OAAS,EACtC0P,EAAKpQ,YAAc8O,GAAuB,EAC1C,OAAOsB,CACT,CAMA,SAAS5D,eAAed,EAAS3H,EAASC,GACxC,IAAK0H,EAAS,CACZ,GAAI1H,EAAQG,OAAS,iBAAkB,CACrCuH,EAAU1H,EAAQM,KAAK,gBAC7B,KAAW,CACLoH,EAAU1H,EAAQgE,SAAShE,EAAQG,KACzC,CACA,MAAS,IAAKuH,EAAQ3K,OAASiD,EAAQG,KAAM,CAEzCH,EAAQG,KAAOuH,EACfA,EAAU1H,EAAQgE,SAAS0D,EAC/B,CACE,OAAOA,CACT,CAEA,SAASe,cAAcf,EAAS3H,EAASC,GAEvC,IAAIsM,EAAsBtM,EAAQM,MAAQN,EAAQM,KAAK,iBACvDN,EAAQ0H,QAAU,KAClB,GAAI1H,EAAQjC,IAAK,CACfiC,EAAQM,KAAKrC,YAAc+B,EAAQjC,IAAI,IAAMiC,EAAQM,KAAKrC,WAC9D,CAEE,IAAIsO,EAAe7N,UACnB,GAAIsB,EAAQE,IAAMF,EAAQE,KAAOwI,KAAM,EACrC,WACE1I,EAAQM,KAAOwI,MAAM/M,YAAYiE,EAAQM,MAEzC,IAAIJ,EAAKF,EAAQE,GACjBqM,EAAevM,EAAQM,KAAK,iBAAmB,SAASkM,EAAoBzM,GAC1E,IAAIC,EAAUvD,UAAUC,QAAU,GAAKD,UAAU,KAAOiC,UAAY,GAAKjC,UAAU,GAInFuD,EAAQM,KAAOwI,MAAM/M,YAAYiE,EAAQM,MACzCN,EAAQM,KAAK,iBAAmBgM,EAChC,OAAOpM,EAAGH,EAASC,EAC3B,EACM,GAAIE,EAAG8D,SAAU,CACfhE,EAAQgE,SAAW6E,MAAMlN,OAAO,GAAIqE,EAAQgE,SAAU9D,EAAG8D,SACjE,CACK,EAhBD,EAiBJ,CAEE,GAAI0D,IAAYhJ,WAAa6N,EAAc,CACzC7E,EAAU6E,CACd,CAEE,GAAI7E,IAAYhJ,UAAW,CACzB,MAAM,IAAIiC,cAAY,WAAW,eAAiBX,EAAQG,KAAO,sBACrE,MAAS,GAAIuH,aAAmB+E,SAAU,CACtC,OAAO/E,EAAQ3H,EAASC,EAC5B,CACA,CAEA,SAAS0I,OACP,MAAO,EACT,CAEA,SAAS8C,SAASzL,EAASO,GACzB,IAAKA,KAAU,SAAUA,GAAO,CAC9BA,EAAOA,EAAOwI,MAAM/M,YAAYuE,GAAQ,GACxCA,EAAKoM,KAAO3M,CAChB,CACE,OAAOO,CACT,CAEA,SAASqL,kBAAkBzL,EAAIkM,EAAMrI,EAAW0G,EAAQnK,EAAMtE,GAC5D,GAAIkE,EAAGsJ,UAAW,CAChB,IAAI1F,EAAQ,GACZsI,EAAOlM,EAAGsJ,UAAU4C,EAAMtI,EAAOC,EAAW0G,GAAUA,EAAO,GAAInK,EAAMtE,EAAayO,GACpF5B,MAAMlN,OAAOyQ,EAAMtI,EACvB,CACE,OAAOsI,CACT,CAEA,SAASN,gCAAgCD,EAAe9H,GACtDnH,OAAO+E,KAAKkK,GAAejK,SAAQ,SAAU8B,GAC3C,IAAIuE,EAAS4D,EAAcnI,GAC3BmI,EAAcnI,GAAciJ,yBAAyB1E,EAAQlE,EACjE,GACA,CAEA,SAAS4I,yBAAyB1E,EAAQlE,GACxC,IAAI3B,EAAiB2B,EAAU3B,eAC/B,OAAO2G,oBAAoBf,WAAWC,GAAQ,SAAUjI,GACtD,OAAO6I,MAAMlN,OAAO,CAAEyG,eAAgBA,GAAkBpC,EAC5D,GACA,C,2CC/WA7B,EAAAzC,WAAqB,KAErByC,EAAQ,WAAa,SAAUyO,IAG7B,WACE,UAAWC,aAAe,SAAU,OACpCjQ,OAAOC,UAAUiQ,iBAAiB,aAAa,WAC7C,OAAO3N,IACb,IACI4N,UAAUF,WAAaE,iBAChBnQ,OAAOC,UAAUkQ,SACzB,EAPD,GASA,IAAIC,EAAcH,WAAWD,WAG7BA,EAAWK,WAAa,WACtB,GAAIJ,WAAWD,aAAeA,EAAY,CACxCC,WAAWD,WAAaI,CAC9B,CACI,OAAOJ,CACX,CACA,EAEAlN,EAAAvB,QAAiBA,EAAQ,U,iDC1BzBA,EAAAzC,WAAqB,KAGrB,SAAS6E,EAAuBhE,GAAO,OAAOA,GAAOA,EAAIb,WAAaa,EAAM,CAAEiE,QAAWjE,EAAM,CAI/F,SAASoM,EAAwBpM,GAAO,GAAIA,GAAOA,EAAIb,WAAY,CAAE,OAAOa,CAAI,KAAQ,CAAE,IAAIqM,EAAS,GAAI,GAAIrM,GAAO,KAAM,CAAE,IAAK,IAAII,KAAOJ,EAAK,CAAE,GAAIK,OAAOC,UAAUC,eAAeC,KAAKR,EAAKI,GAAMiM,EAAOjM,GAAOJ,EAAII,EAAK,CAAE,CAAGiM,EAAO,WAAarM,EAAK,OAAOqM,CAAO,CAAE,CAE9Q,IAAIsE,EAAkBtN,OAEtB,IAAIkH,EAAO6B,EAAwBuE,GAKnC,IAAIC,EAAwBzM,mBAE5B,IAAI0M,EAAyB7M,EAAuB4M,GAEpD,IAAIE,EAAuBzK,kBAE3B,IAAI0K,EAAwB/M,EAAuB8M,GAEnD,IAAIE,EAAmBxK,MAEvB,IAAI8F,EAAQF,EAAwB4E,GAEpC,IAAIC,EAAqBtK,QAEzB,IAAIkF,EAAUO,EAAwB6E,GAEtC,IAAIC,EAAwBpK,mBAE5B,IAAIqK,EAAyBnN,EAAuBkN,GAGpD,SAAStI,IACP,IAAIwI,EAAK,IAAI7G,EAAKC,sBAElB8B,EAAMlN,OAAOgS,EAAI7G,GACjB6G,EAAG7F,WAAasF,EAAuB,WACvCO,EAAGtP,UAAYiP,EAAsB,WACrCK,EAAG9E,MAAQA,EACX8E,EAAG9R,iBAAmBgN,EAAMhN,iBAE5B8R,EAAGjE,GAAKtB,EACRuF,EAAGrF,SAAW,SAAUsF,GACtB,OAAOxF,EAAQE,SAASsF,EAAMD,EAClC,EAEE,OAAOA,CACT,CAEA,IAAIE,EAAO1I,IACX0I,EAAK1I,OAASA,EAEduI,EAAuB,WAAWG,GAElCA,EAAK,WAAaA,EAElB1P,EAAQ,WAAa0P,EACrBnO,EAAAvB,QAAiBA,EAAQ,U,sFC9DzBA,EAAAzC,WAAqB,KACrB,IAAIoS,EAAM,CAER1N,QAAS,CAIP2N,iBAAkB,SAASA,EAAiBxP,GAC1C,OAAOA,EAAKyP,OAAS,kBAAoBzP,EAAKyP,OAAS,qBAAuBzP,EAAKyP,OAAS,sBAAwBzP,EAAKT,QAAUS,EAAKT,OAAOpB,QAAU6B,EAAKuD,KACpK,EAEImM,SAAU,SAASA,EAASjQ,GAC1B,MAAQ,aAAaP,KAAKO,EAAKiG,SAErC,EAIIiK,SAAU,SAASA,EAASlQ,GAC1B,OAAOA,EAAKmQ,MAAMzR,SAAW,IAAMoR,EAAI1N,QAAQ6N,SAASjQ,KAAUA,EAAKgN,KAC7E,IAMA7M,EAAQ,WAAa2P,EACrBpO,EAAAvB,QAAiBA,EAAQ,U,uECzBzBA,EAAAzC,WAAqB,KACrB,IAAI0S,EAAa,WACb,IAAIC,EAAS,CAAEC,MAAO,SAASA,IAAQ,EACnCC,GAAI,GACJC,SAAU,CAAEC,MAAS,EAAG/B,KAAQ,EAAG7B,QAAW,EAAG6D,IAAO,EAAGC,oBAAuB,EAAGC,UAAa,EAAGC,SAAY,EAAGC,MAAS,EAAGC,SAAY,GAAIrH,QAAW,GAAI6E,aAAgB,GAAIyC,QAAW,GAAIC,QAAW,GAAIC,QAAW,GAAIC,aAAgB,GAAIC,qBAAwB,GAAIC,cAAiB,GAAIC,eAAkB,GAAI5L,WAAc,GAAI6L,yBAA4B,GAAIC,qBAAwB,GAAIC,gBAAmB,GAAIC,UAAa,GAAIC,cAAiB,GAAIC,WAAc,GAAIC,YAAe,GAAIC,cAAiB,GAAIC,WAAc,GAAIC,sBAAyB,GAAIC,kBAAqB,GAAIC,kBAAqB,GAAIC,MAAS,GAAIC,aAAgB,GAAIC,wBAA2B,GAAIC,oBAAuB,GAAIC,oBAAuB,GAAIC,iBAAoB,GAAIC,mBAAsB,GAAIC,6BAAgC,GAAIC,yBAA4B,GAAIC,yBAA4B,GAAIC,kBAAqB,GAAIC,QAAW,GAAIC,aAAgB,GAAIC,qBAAwB,GAAIC,cAAiB,GAAIC,KAAQ,GAAIC,qBAAwB,GAAIC,iBAAoB,GAAIC,eAAkB,GAAIC,qBAAwB,GAAIC,iBAAoB,GAAIC,gBAAmB,GAAIC,aAAgB,GAAIC,YAAe,GAAIC,oBAAuB,GAAIC,gBAAmB,GAAIC,iBAAoB,GAAIC,mBAAsB,GAAIC,6BAAgC,GAAIC,yBAA4B,GAAI9G,MAAS,GAAI+G,MAAS,GAAIC,WAAc,GAAIC,kBAAqB,GAAIC,cAAiB,GAAIC,YAAe,GAAIvQ,KAAQ,GAAIwQ,sBAAyB,GAAIC,YAAe,GAAIC,GAAM,GAAIC,OAAU,GAAIzW,YAAe,GAAI0W,kBAAqB,GAAIC,6BAAgC,GAAIC,mBAAsB,GAAI5U,KAAQ,GAAI6U,SAAY,GAAIC,OAAU,GAAIC,OAAU,GAAIC,QAAW,GAAIC,UAAa,GAAIC,KAAQ,GAAIC,KAAQ,GAAIC,aAAgB,GAAIC,IAAO,GAAIC,QAAW,EAAGC,KAAQ,GAC1xDC,WAAY,CAAE,EAAG,QAAS,EAAG,MAAO,GAAI,UAAW,GAAI,UAAW,GAAI,gBAAiB,GAAI,iBAAkB,GAAI,kBAAmB,GAAI,aAAc,GAAI,QAAS,GAAI,eAAgB,GAAI,qBAAsB,GAAI,UAAW,GAAI,gBAAiB,GAAI,OAAQ,GAAI,iBAAkB,GAAI,kBAAmB,GAAI,eAAgB,GAAI,qBAAsB,GAAI,aAAc,GAAI,cAAe,GAAI,KAAM,GAAI,SAAU,GAAI,oBAAqB,GAAI,qBAAsB,GAAI,SAAU,GAAI,SAAU,GAAI,UAAW,GAAI,YAAa,GAAI,OAAQ,GAAI,OAAQ,GAAI,OACpiBC,aAAc,CAAC,EAAG,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI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K,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,EAAG,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,CAAC,EAAG,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,EAAG,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,KAAM,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAM,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,IAAM,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,EAAG,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,KAAM,GAAI,KAAO,CAAE,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,CAAC,EAAG,MAAQ,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAAC,EAAG,IAAK,GAAI,CAAC,EAAG,KAAO,CAAE,GAAI,CAA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","ignoreList":[]}