{"version":3,"sources":["application.js"],"names":["polyfill","isMicrosoftBrowser","userAgent","RegExp","join","test","scrollElement","x","y","this","scrollLeft","scrollTop","ease","k","Math","cos","PI","shouldBailOut","firstArg","behavior","undefined","TypeError","hasScrollableSpace","el","axis","clientHeight","ROUNDING_TOLERANCE","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","w","getComputedStyle","isScrollable","isScrollableY","isScrollableX","findScrollableParent","d","body","parentNode","host","step","context","value","currentX","currentY","elapsed","now","startTime","SCROLL_TIME","startX","startY","method","call","scrollable","requestAnimationFrame","bind","smoothScroll","scrollX","pageXOffset","scrollY","pageYOffset","original","scroll","window","document","documentElement","style","__forceSmoothScrollPolyfill__","Element","HTMLElement","scrollTo","scrollBy","elementScroll","prototype","scrollIntoView","performance","Date","navigator","left","top","SyntaxError","scrollableParent","parentRects","getBoundingClientRect","clientRects","position","randomColour","floor","random","pow","toString","substr","blocklyPatchColors","Blockly","Colours","control","primary","secondary","tertiary","motion","sounds","pen","event","blocklyPatchTranslations","Block","_jsonInitOrig","jsonInit","json","id","type","message0","Msg","i","args0","width","height","blocklyAddCustomBlocks","Blocks","init","inputsInline","previousStatement","nextStatement","colour","colourSecondary","colourTertiary","name","check","src","alt","flip_rtl","output","category","Categories","sensing","outputShape","OUTPUT_SHAPE_HEXAGONAL","message1","message2","lastDummyAlign2","args1","args2","mainWorkspace","options","pathToMedia","initializeBlockly","blocklyOptions","readOnly","scrollbars","trashcan","media","zoom","controls","wheel","startScale","colours","workspace","flyout","insertionMarker","insertionMarkerOpacity","fieldShadow","dragShadowOpacity","studentBlocklyWs","inject","$","solutionBlocklyWs","on","append","showCorrespondingField","registrationType","show","hide","initializeRegistrationForm","length","registrationTypeRadioButtons","val","click","Rails","linkClickSelector","buttonClickSelector","selector","exclude","inputChangeSelector","formSubmitSelector","formInputClickSelector","formDisableSelector","formEnableSelector","fileInputSelector","linkDisableSelector","buttonDisableSelector","nonce","loadCSPNonce","ref","querySelector","content","cspNonce","expando","m","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","element","getData","key","setData","Array","slice","querySelectorAll","csrfParam","csrfToken","meta","CSRFProtection","xhr","token","setRequestHeader","refreshCSRFTokens","param","forEach","input","CustomEvent","fire","preventDefault","params","evt","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","result","defaultPrevented","Object","defineProperty","get","obj","data","dispatchEvent","stopEverything","e","target","stopPropagation","stopImmediatePropagation","delegate","eventType","handler","addEventListener","AcceptHeaders","createXHR","prepareOptions","processResponse","*","text","html","xml","script","ajax","response","responseText","getResponseHeader","status","success","statusText","error","complete","beforeSend","readyState","XMLHttpRequest","OPENED","send","url","location","href","toUpperCase","indexOf","dataType","accept","done","open","crossDomain","withCredentials","onreadystatechange","DONE","parser","match","JSON","parse","createElement","setAttribute","head","appendChild","removeChild","DOMParser","replace","parseFromString","isCrossDomain","originAnchor","urlAnchor","protocol","toArray","serializeElement","additionalParam","inputs","elements","disabled","option","selected","push","checked","map","encodeURIComponent","formElements","form","filter","allowAction","handleConfirm","confirm","message","answer","callback","getAttribute","disableFormElement","disableFormElements","disableLinkElement","enableFormElement","enableFormElements","enableLinkElement","isXhrRedirect","handleDisabledElement","enableElement","disableElement","replacement","innerHTML","originalText","removeEventListener","handleMethod","formContent","link","action","display","isRemote","handleRemote","button","enctype","FormData","args","arguments","formSubmitButtonClick","formNoValidate","preventInsignificantClick","insignificantMetaClick","metaKey","ctrlKey","jQuery","rails","Error","ajaxPrefilter","originalOptions","start","_rails_loaded","setTimeout","module","exports","define","amd","global","factory","ActiveStorage","createCommonjsModule","fn","getMetaValue","findElement","findElements","root","toArray$1","eventInit","initEvent","isArray","from","notify","object","methodName","_len","messages","_key","apply","started","didClick","didSubmitForm","didSubmitRemoteElement","tagName","submitButtonsByForm","set","handleFormSubmissionEvent","hasAttribute","processingAttribute","controller","DirectUploadsController","disable","removeAttribute","enable","submitForm","focus","delete","autostart","sparkMd5","md5cycle","a","b","c","md5blk","s","md5blks","charCodeAt","md5blk_array","md51","tail","tmp","lo","hi","n","state","substring","parseInt","md51_array","subarray","Uint8Array","rhex","j","hex_chr","hex","toUtf8","str","unescape","utf8Str2ArrayBuffer","returnUInt8Array","buff","ArrayBuffer","arr","arrayBuffer2Utf8Str","String","fromCharCode","concatenateArrayBuffers","first","second","byteLength","buffer","hexToBinaryString","bytes","SparkMD5","reset","clamp","max","min","to","num","targetArray","sourceArray","begin","end","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","destroy","hashBinary","classCallCheck","instance","Constructor","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","fileSlice","File","mozSlice","webkitSlice","FileChecksum","file","chunkSize","chunkCount","ceil","size","chunkIndex","create","_this","md5Buffer","fileReader","FileReader","fileReaderDidLoad","fileReaderDidError","readNextChunk","binaryDigest","base64digest","btoa","readAsArrayBuffer","BlobRecord","checksum","attributes","filename","content_type","byte_size","responseType","requestDidLoad","requestDidError","stringify","blob","direct_upload","directUploadData","toJSON","get$$1","_xhr","BlobUpload","_blob$directUploadDat","headers","DirectUpload","upload","DirectUploadController","directUpload","dispatch","hiddenInput","insertAdjacentElement","dispatchError","signed_id","uploadRequestDidProgress","progress","loaded","total","alert","directUploadWillCreateBlobWithXHR","directUploadWillStoreFileWithXHR","_this2","inputSelector","files","controllers","createDirectUploadControllers","startNextController","shift","WeakMap","t","Turbolinks","supported","history","pushState","visit","r","clearCache","setProgressBarDelay","o","copyObject","closest","nodeType","Node","ELEMENT_NODE","defer","throttle","u","uuid","Location","absoluteURL","requestURL","anchor","wrap","getOrigin","split","getPath","getPathComponents","getLastPathComponent","getExtension","isHTML","isPrefixedBy","isEqualTo","toCacheKey","valueOf","HttpRequest","requestCanceled","requestTimedOut","requestFailed","requestLoaded","requestProgressed","referrer","NETWORK_FAILURE","TIMEOUT_FAILURE","timeout","sent","notifyApplicationBeforeRequestStart","setProgress","requestStarted","cancel","abort","lengthComputable","endRequest","requestCompletedWithResponse","failed","requestFailedWithStatusCode","constructor","notifyApplicationAfterRequestEnd","onprogress","onload","onerror","ontimeout","onabort","requestFinished","ProgressBar","trickle","stylesheetElement","createStylesheetElement","progressElement","createProgressElement","defaultCSS","visible","installStylesheetElement","installProgressElement","startTrickling","hiding","fadeProgressElement","uninstallProgressElement","stopTrickling","setValue","refresh","insertBefore","firstChild","opacity","trickleInterval","setInterval","clearInterval","textContent","className","BrowserAdapter","showProgressBar","progressBar","visitProposedToLocationWithAction","startVisitToLocationWithAction","visitStarted","issueRequest","changeHistory","loadCachedSnapshot","visitRequestStarted","hasCachedSnapshot","showProgressBarAfterDelay","visitRequestProgressed","visitRequestCompleted","loadResponse","visitRequestFailedWithStatusCode","reload","visitRequestFinished","hideProgressBar","visitCompleted","followRedirect","pageInvalidated","progressBarTimeout","progressBarDelay","clearTimeout","History","onPageLoad","onPopState","stop","update","shouldHandlePopState","turbolinks","restorationIdentifier","historyPoppedToLocationWithRestorationIdentifier","pageLoaded","pageIsLoaded","HeadDetails","outerHTML","tracked","fromHeadElement","childNodes","hasElementWithKey","getTrackedElementSignature","getScriptElementsNotInDetails","getElementsMatchingTypeNotInDetails","getStylesheetElementsNotInDetails","getProvisionalElements","findMetaElementByName","toLowerCase","Snapshot","headDetails","bodyElement","fromHTMLString","fromHTMLElement","clone","cloneNode","getRootLocation","getSetting","getCacheControlValue","getElementForAnchor","getPermanentElements","getPermanentElementById","getPermanentElementsPresentInSnapshot","findFirstAutofocusableElement","hasAnchor","isPreviewable","isCacheable","isVisitable","Renderer","render","renderView","viewWillRender","newBody","viewRendered","invalidateView","viewInvalidated","createScriptElement","async","__super__","hasOwnProperty","SnapshotRenderer","currentSnapshot","newSnapshot","isPreview","currentHeadDetails","newHeadDetails","currentBody","shouldRender","mergeHead","replaceBody","focusFirstAutofocusableElement","copyNewHeadStylesheetElements","copyNewHeadScriptElements","removeCurrentHeadProvisionalElements","copyNewHeadProvisionalElements","relocateCurrentBodyPermanentElements","activateNewBodyScriptElements","assignNewBody","replacePlaceholderElementsWithClonedPermanentElements","trackedElementsAreIdentical","getNewHeadStylesheetElements","getNewHeadScriptElements","getCurrentHeadProvisionalElements","getNewHeadProvisionalElements","getCurrentBodyPermanentElements","permanentElement","getNewBodyScriptElements","replaceChild","ErrorRenderer","newHead","replaceHeadAndBody","activateBodyScriptElements","getScriptElements","View","htmlElement","getSnapshot","snapshot","markAsPreview","renderSnapshot","renderError","ScrollManager","onScroll","scrollToElement","scrollToPosition","updatePosition","scrollPositionChanged","SnapshotCache","keys","snapshots","has","read","touch","put","write","splice","unshift","trim","Visit","performScroll","identifier","adapter","timingMetrics","recordTimingMetric","request","cancelRender","fail","visitFailed","historyChanged","shouldIssueRequest","getCachedSnapshot","getCachedSnapshotForLocation","cacheSnapshot","visitRendered","redirectedToLocation","followedRedirect","replaceHistoryWithLocationAndRestorationIdentifier","scrolled","scrollToRestoredPosition","scrollToTop","scrollToAnchor","restorationData","scrollPosition","getTime","getTimingMetrics","snapshotCached","frame","cancelAnimationFrame","Controller","clickBubbled","clickCaptured","view","scrollManager","startHistory","enabled","stopHistory","cache","applicationAllowsVisitingLocation","locationIsVisitable","getRestorationDataForIdentifier","startVisit","pushHistoryWithLocationAndRestorationIdentifier","shouldCacheSnapshot","notifyApplicationBeforeCachingSnapshot","lastRenderedLocation","getCurrentRestorationData","notifyApplicationBeforeRender","currentVisit","notifyApplicationAfterRender","notifyApplicationAfterPageLoad","clickEventIsSignificant","getVisitableLinkForNode","getVisitableLocationForLink","applicationAllowsFollowingLinkToLocation","getActionForLink","notifyApplicationAfterClickingLinkToLocation","notifyApplicationBeforeVisitingLocation","notifyApplicationAfterVisitingLocation","timing","createVisit","isContentEditable","which","altKey","shiftKey","nodeIsVisitable","currentScript","console","warn","noGlobal","DOMEval","code","node","doc","preservedScriptAttributes","toType","class2type","isArrayLike","isFunction","isWindow","nodeName","elem","winnow","qualifier","not","grep","sibling","cur","dir","createOptions","each","rnothtmlwhite","_","flag","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","promise","then","completed","ready","fcamelCase","_all","letter","camelCase","string","rmsPrefix","rdashAlpha","Data","uid","rbrace","dataAttr","rmultiDash","dataUser","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","getDefaultDisplay","temp","ownerDocument","defaultDisplayMap","showHide","values","index","dataPriv","isHiddenWithinTree","getAll","tag","getElementsByTagName","merge","setGlobalEval","elems","refElements","l","buildFragment","scripts","selection","ignored","attached","fragment","createDocumentFragment","nodes","rhtml","rtagName","wrapMap","_default","htmlPrefilter","lastChild","createTextNode","inArray","isAttached","rscriptType","returnTrue","returnFalse","expectSync","safeActiveElement","activeElement","err","types","one","origFn","off","guid","add","leverageNative","namespace","notAsync","saved","isTrigger","special","delegateType","trigger","extend","manipulationTarget","children","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","events","hasData","remove","access","fixInput","rcheckableType","defaultValue","domManip","collection","flat","hasScripts","iNoClone","valueIsFunction","support","checkClone","rchecked","self","eq","contains","_evalUrl","noModule","rcleanScript","keepData","cleanData","curCSS","computed","minWidth","maxWidth","getStyles","getPropertyValue","pixelBoxStyles","rnumnonpx","rboxStyle","addGetHookIf","conditionFn","hookFn","vendorPropName","capName","cssPrefixes","emptyStyle","finalPropName","final","cssProps","vendorProps","setPositiveNumber","_elem","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","cssExpand","getWidthOrHeight","boxSizingReliable","valueIsBorderBox","offsetProp","reliableTrDimensions","parseFloat","getClientRects","Tween","easing","schedule","inProgress","hidden","fx","interval","tick","createFxNow","fxNow","genFx","includeWidth","attrs","createTween","animation","Animation","tweeners","concat","defaultPrefilter","opts","toggle","hooks","oldfire","propTween","restoreDisplay","isBox","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","always","rfxtypes","isEmptyObject","overflow","overflowX","overflowY","propFilter","specialEasing","cssHooks","expand","properties","stopped","prefilters","deferred","Deferred","currentTime","remaining","duration","percent","tweens","run","notifyWith","resolveWith","originalProperties","gotoEnd","rejectWith","timer","stripAndCollapse","getClass","classesToArray","buildParams","prefix","traditional","rbracket","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspect","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","deep","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","converters","ajaxConvert","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","throws","getProto","getPrototypeOf","array","hasOwn","fnToString","ObjectFunctionString","version","jquery","pushStack","prevObject","last","even","odd","len","sort","copy","copyIsArray","isPlainObject","isReady","msg","noop","proto","Ctor","globalEval","makeArray","results","invert","callbackExpect","arg","Symbol","iterator","_i","Sizzle","seed","nid","groups","newSelector","newContext","setDocument","documentIsHTML","rquickExpr","getElementById","getElementsByClassName","qsa","nonnativeSelectorCache","rbuggyQSA","rdescend","rcombinators","rsibling","testContext","scope","rcssescape","fcssescape","tokenize","toSelector","qsaError","select","rtrim","createCache","Expr","cacheLength","markFunction","assert","addHandle","attrHandle","siblingCheck","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","inDisabledFieldset","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","skip","next","checkNonElements","doneName","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","preferredDoc","classCache","tokenCache","compilerCache","sortOrder","pushNative","list","booleans","whitespace","pseudos","rwhitespace","rcomma","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escape","nonHex","high","ch","asCodePoint","unloadHandler","els","namespaceURI","hasCompare","subWindow","defaultView","attachEvent","createComment","getById","getElementsByName","attrId","getAttributeNode","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","sel","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo","\u003e"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","what","_argument","simple","forward","ofType","_context","nodeIndex","parent","useCache","pseudo","idx","matched","lang","elemLang","hasFocus","tabIndex","selectedIndex","header","_matchIndexes","lt","gt","radio","checkbox","password","image","submit","filters","parseOnly","soFar","preFilters","cached","compiled","_name","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","targets","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","lock","fireWith","tuples","catch","pipe","fns","newDefer","tuple","returned","onFulfilled","onRejected","onProgress","depth","that","mightThrow","maxDepth","process","exceptionHook","stackTrace","getStackHook","stateString","when","singleValue","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","readyException","readyList","readyWait","wait","doScroll","chainable","emptyGet","bulk","acceptData","owner","removeData","_data","_removeData","dequeue","startLength","setter","clearQueue","count","pnum","source","composed","getRootNode","div","noCloneChecked","thead","col","tr","td","tbody","tfoot","colgroup","caption","th","optgroup","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","originalEvent","load","noBubble","beforeunload","returnValue","isDefaultPrevented","relatedTarget","timeStamp","isSimulated","changedTouches","eventPhase","pageX","pageY","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","blur","mouseenter","mouseleave","pointerenter","pointerleave","related","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","prepend","before","after","replaceWith","appendTo","prependTo","insertAfter","replaceAll","insert","opener","swap","old","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","round","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","scrollboxSize","table","trChild","trStyle","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","origName","isCustomProp","setProperty","isFinite","scrollboxSizeBuggy","margin","padding","border","suffix","expanded","parts","propHooks","eased","pos","linear","p","swing","opt","rrun","tweener","prefilter","speed","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","rCRLF","rsubmitterTypes","rsubmittable","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","active","lastModified","etag","isLocal","processData","contentType","accepts","* text","text html","text json","text xml","ajaxSetup","settings","ajaxTransport","nativeStatusText","modified","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","uncached","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","overrideMimeType","finalText","hasContent","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","offsetHeight","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","username","xhrFields","binary","scriptAttrs","charset","scriptCharset","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","offsetParent","parentOffset","Height","Width","","defaultExtra","funcName","unbind","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","_jQuery","_$","noConflict","parseDateString","dateString","Number","escapedRegExp","sanitize","strftime","offsetObject","format","directives","directive","regexp","modifier","plural","DIRECTIVE_KEY_MAP","pluralize","singular","abs","instances","defaultOptions","precision","elapse","Y","D","H","M","S","Countdown","finalDate","$el","instanceNumber","setFinalDate","pause","resume","countdownInstance","newTotalSecsLeft","hasEventsAttached","totalSecsLeft","seconds","minutes","hours","days","daysToWeek","daysToMonth","totalDays","weeks","months","years","getFullYear","eventName","countdown","argumentsArray","Popper","referenceNode","re","pe","nextElementSibling","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","f","scrollingElement","bottom","h","ee","g","le","borderTopWidth","borderLeftWidth","marginTop","innerWidth","innerHeight","E","parentElement","O","area","L","marginBottom","marginRight","T","C","N","findIndex","P","offsets","popper","reference","isDestroyed","arrowStyles","flipped","positionFixed","placement","modifiers","flip","boundariesElement","originalPlacement","isCreated","onUpdate","onCreate","W","some","B","charAt","willChange","disableEventListeners","removeOnDestroy","A","passive","F","updateBound","scrollParents","eventsEnabled","I","scheduleUpdate","R","U","V","q","Z","K","z","G","he","X","search","reduce","J","Q","te","oe","ie","Promise","MSInputMethodContext","documentMode","se","de","ae","assign","fe","me","ce","FLIP","CLOCKWISE","COUNTERCLOCKWISE","ge","Defaults","onLoad","enableEventListeners","Utils","PopperUtils","placements","preventOverflow","boundaries","priority","escapeWithReference","keepTogether","arrow","arrowElement","flipVariations","flipVariationsByContent","inner","computeStyle","gpuAcceleration","devicePixelRatio","x-placement","applyStyle","require","globalThis","bootstrap","_interopDefaultLegacy","default","_defineProperties","_createClass","_extends","_inheritsLoose","subClass","superClass","__proto__","getSpecialTransitionEndEvent","TRANSITION_END","$__default","transitionEndEmulator","called","Util","triggerTransitionEnd","setTransitionEndSupport","emulateTransitionEnd","allowedAttribute","allowedAttributeList","attrName","uriAttrs","Boolean","SAFE_URL_PATTERN","DATA_URL_PATTERN","regExp","attrRegex","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","Popper__default","MAX_UID","MILLISECONDS_MULTIPLIER","getUID","getSelectorFromElement","hrefAttr","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","reflow","supportsTransitionEnd","isElement","typeCheckConfig","componentName","config","configTypes","property","expectedTypes","valueType","findShadowRoot","attachShadow","ShadowRoot","jQueryDetection","minMajor","ltMajor","minMinor","minPatch","maxMajor","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","SELECTOR_DISMISS","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","CLASS_NAME_ALERT","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","_element","_proto","close","rootElement","_getRootElement","_triggerCloseEvent","_removeElement","dispose","closeEvent","_destroyElement","_jQueryInterface","$element","_handleDismiss","alertInstance","NAME$1","VERSION$1","DATA_KEY$1","EVENT_KEY$1","DATA_API_KEY$1","JQUERY_NO_CONFLICT$1","CLASS_NAME_ACTIVE","CLASS_NAME_BUTTON","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLES","SELECTOR_DATA_TOGGLE","SELECTOR_DATA_TOGGLES_BUTTONS","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_CLICK_DATA_API$1","EVENT_FOCUS_BLUR_DATA_API","EVENT_LOAD_DATA_API","Button","shouldAvoidTriggerChange","triggerChangeEvent","addAriaPressed","classList","avoidTriggerChange","initialButton","inputBtn","_button","NAME$2","VERSION$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY$2","JQUERY_NO_CONFLICT$2","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","keyboard","slide","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API$1","EVENT_CLICK_DATA_API$2","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE$1","CLASS_NAME_SLIDE","CLASS_NAME_RIGHT","CLASS_NAME_LEFT","CLASS_NAME_NEXT","CLASS_NAME_PREV","CLASS_NAME_POINTER_EVENT","SELECTOR_ACTIVE$1","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM","SELECTOR_ITEM_IMG","SELECTOR_NEXT_PREV","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","_slide","nextWhenVisible","cycle","_updateInterval","visibilityState","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","_keydown","_addTouchEventListeners","_this3","move","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","slideEvent","_setActiveIndicatorElement","indicators","nextIndicator","elementInterval","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","NAME$3","VERSION$3","DATA_KEY$3","EVENT_KEY$3","DATA_API_KEY$3","JQUERY_NO_CONFLICT$3","Default$1","DefaultType$1","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API$3","CLASS_NAME_SHOW$1","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","DIMENSION_WIDTH","DIMENSION_HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE$1","Collapse","_isTransitioning","_triggerArray","toggleList","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","actives","activesData","startEvent","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","$trigger","$target","NAME$4","VERSION$4","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$4","JQUERY_NO_CONFLICT$4","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK","EVENT_CLICK_DATA_API$4","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_SHOW$2","CLASS_NAME_DROPUP","CLASS_NAME_DROPRIGHT","CLASS_NAME_DROPLEFT","CLASS_NAME_MENURIGHT","CLASS_NAME_POSITION_STATIC","SELECTOR_DATA_TOGGLE$2","SELECTOR_FORM_CHILD","SELECTOR_MENU","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default$2","boundary","popperConfig","DefaultType$2","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","referenceElement","_getPopperConfig","hideEvent","_getPlacement","$parentDropdown","_getOffset","toggles","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","NAME$5","VERSION$5","DATA_KEY$5","EVENT_KEY$5","DATA_API_KEY$5","JQUERY_NO_CONFLICT$5","ESCAPE_KEYCODE$1","Default$3","backdrop","DefaultType$3","EVENT_HIDE$2","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$2","EVENT_SHOW$2","EVENT_SHOWN$2","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API$5","CLASS_NAME_SCROLLABLE","CLASS_NAME_SCROLLBAR_MEASURER","CLASS_NAME_BACKDROP","CLASS_NAME_OPEN","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$3","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE$3","SELECTOR_DATA_DISMISS","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","modalTransitionDuration","modalBody","_enforceFocus","shownEvent","transitionComplete","_this5","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this9","backdropTransitionDuration","callbackRemove","_backdropTransitionDuration","paddingLeft","paddingRight","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","scrollDiv","scrollbarWidth","_this11","DefaultWhitelist","br","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","NAME$6","VERSION$6","DATA_KEY$6","EVENT_KEY$6","JQUERY_NO_CONFLICT$6","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType$4","template","title","fallbackPlacement","customClass","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$4","HOVER_STATE_SHOW","HOVER_STATE_OUT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE$2","CLASS_NAME_SHOW$4","SELECTOR_TOOLTIP_INNER","SELECTOR_ARROW","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","toggleEnabled","dataKey","_getDelegateConfig","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","$tip","tabClass","popperData","initConfigAnimation","NAME$7","VERSION$7","DATA_KEY$7","EVENT_KEY$7","JQUERY_NO_CONFLICT$7","CLASS_PREFIX$1","BSCLS_PREFIX_REGEX$1","Default$5","DefaultType$5","CLASS_NAME_FADE$3","CLASS_NAME_SHOW$5","SELECTOR_TITLE","SELECTOR_CONTENT","Event$1","Popover","_Tooltip","_getContent","NAME$8","VERSION$8","DATA_KEY$8","EVENT_KEY$8","DATA_API_KEY$6","JQUERY_NO_CONFLICT$8","Default$6","DefaultType$6","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API$2","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$2","SELECTOR_DATA_SPY","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_ITEMS","SELECTOR_DROPDOWN_TOGGLE","METHOD_OFFSET","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","scrollSpys","$spy","NAME$9","VERSION$9","DATA_KEY$9","EVENT_KEY$9","DATA_API_KEY$7","JQUERY_NO_CONFLICT$9","EVENT_HIDE$3","EVENT_HIDDEN$3","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_CLICK_DATA_API$6","CLASS_NAME_DROPDOWN_MENU","CLASS_NAME_ACTIVE$3","CLASS_NAME_DISABLED$1","CLASS_NAME_FADE$4","CLASS_NAME_SHOW$6","SELECTOR_DROPDOWN$1","SELECTOR_NAV_LIST_GROUP$1","SELECTOR_ACTIVE$2","SELECTOR_ACTIVE_UL","SELECTOR_DATA_TOGGLE$4","SELECTOR_DROPDOWN_TOGGLE$1","SELECTOR_DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","hiddenEvent","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","NAME$a","VERSION$a","DATA_KEY$a","EVENT_KEY$a","JQUERY_NO_CONFLICT$a","EVENT_CLICK_DISMISS$1","EVENT_HIDE$4","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","CLASS_NAME_FADE$5","CLASS_NAME_HIDE","CLASS_NAME_SHOW$7","CLASS_NAME_SHOWING","DefaultType$7","autohide","Default$7","SELECTOR_DATA_DISMISS$1","Toast","_clearTimeout","_close","Scrollspy","getDerivedMethod","baseMethod","prevBase","getMethod","$isFunction","_d","tagHandlersFromProps","tagCtx","rHasHandlers","retVal","dbgBreak","log","baseApply","JsViewsError","$extend","$viewsDelimiters","openChars","closeChars","$isArray","$views","$subSettings","delimiters","linkChar","delimOpenChar0","delimOpenChar1","delimCloseChar0","delimCloseChar1","rTag","$sub","rTmpl","$viewsSettings","getView","views","found","useKey","getNestedIndex","getIndex","getPathObject","ob","path","ltOb","prevOb","contextParameter","wrapped","deps","res","obsCtxPrm","tagElse","callView","newRes","storeView","isUpdate","isRenderCall","store","ctx","$helpers","it","linked","_cxp","isTop","_ocps","_ocp","_vw","ind","updateValue","observable","_ceo","cvtArgs","_ucp","getTemplate","tmpl","getRsc","$templates","convertVal","converter","onError","argsLen","bindTo","boundTag","bnds","linkCtx","_lr","_bd","_tg","bnd","unlinked","inline","convert","flow","tagCtxs","_is","extendCtx","_er","onRender","convertArgs","bound","boundArgs","bindFrom","argOrProp","convertBoundArgs","getResource","resourceType","itemName","renderTag","parentView","bindToOrBindFrom","bindArray","tagDef","tags","parentTag","itemRet","tagCtxCtx","ctxPrm","initVal","callInit","mapDef","thisMap","bdArgs","tagDataMap","contentCtx","bindFromLength","bindToLength","linkedElement","defaultCtx","topView","parentTmpl","lateRender","tmpls","renderContent","bndArgs","getTmpl","_ctr","ths","arrVws","dataBoundOnly","dataMap","parentTags","rendering","rndr","argDefault","linkedCtxParam","toIndex","_dfAt","noVws","HTML","_cp","cvt","unmap","tgt","rWrappedInViewMarker","links","renderWithViews","$converters","contentTmpl","parentView_","self_","viewId","scp","indexStr","compileChildResources","storeName","storeNames","resources","jsvStores","compileTag","Tag","baseTag","compiledDef","depends","$tags","_parentTmpl","compileTmpl","lookupTemplate","currentName","tmplAttr","jsvTmpl","tmplName","compiledTmpl","tmplOrMarkup","_html","markup","tmplObject","tmplFn","rEscapeQuotes","getDefaultVal","defaultVal","unmapArray","modelArr","compileViewModel","GetNew","vm","iterate","getterType","getters","viewModels","viewModel","$expando","getterNames","mod","assigned","newModArr","model","$observable","privField","Function","htmlTag","$subSettingsAdvanced","_wm","rFirstElem","registerStore","storeSettings","theStore","thisStore","onStore","OBJECT","getTgt","addSetting","st","Map","baseMap","noIteration","isTopRenderCall","prevData","prevIndex","useViews","setItemVar","newCtx","itemVar","newView","childView","itemResult","swapContent","outerOnRender","noLinking","_wrp","syntaxError","nl","helpers","contentView","onRenderError","fallback","Err","isLinkExpr","convertBack","hasElse","pushprecedingContent","loc","rNewLine","blockTagCheck","block","parseTag","all","colon","codeTag","slash","bind2","closeBlock","late","openTagName","isLateOb","pathBindings","ctxProps","paramsArgs","paramsProps","paramsCtxProps","useTrigger","allowCode","rUnescapeQuotes","rTestElseIf","parseParams","rBuildHash","isCtxPrm","keyToken","keyValue","hasHandlers","newNode","parsedParam","bindings","astTop","buildCode","setPaths","pathsArr","paths","skp","paramStructure","parseTokens","lftPrn0","lftPrn","path2","prn","comma","lftPrn2","apos","quot","rtPrn","rtPrnDot","prn2","space","full","parsePath","allPath","helper","viewProperty","pathTokens","leafToken","subPath","binds","named","bindto","_jsvto","bndCtx","bd","theOb","_cpfn","sb","pathStart","parenDepth","exprFn","newOb","rtSq","aposed","quoted","boundName","bndStack","prm","tmplLinks","paramIndex","rPath","fnCall","rBracketQuote","rParams","ast","hasTag","hasEncoder","hasCnvt","useCnvt","tmplBindings","boundOnErrStart","boundOnErrEnd","tagRender","nestedTmpls","nestedTmpl","tagAndElses","nextIsElse","oldCode","isElse","isGetVal","tagCtxFn","tagStart","retStrOpen","retStrClose","tmplBindingKey","templates","tmplOptions","debug","debugMode","_tag","parentContext","getTargetProps","noFunctions","getTargetSorted","propParams","directSort","onFilter","sorted","paged","$fnRender","tmplElem","getCharEntity","charEntities","getCharFromEntity","charsFromEntities","htmlEncode","rIsHtml","rHtmlEncode","dataEncode","rDataEncode","dataUnencode","rDataUnencode","setGlobals","jsvStoreName","setting","versionNumber","\u0026","\u003c","\u0000","'","\"","`","=","amp","$render","jsr","jsrender","jsrToJq","jsviews","syntaxErr","advSet","_thp","_gm","_cnvt","_err","_sq","advanced","getOb","renderFile","__express","_jq","jq","_jsv","if","sortDataMap","range","include",":*","dbg","encode","unencode","encodeURI","bsCustomFileInput","handleInputChange","label","Selector","CUSTOMFILELABEL","findFirstChildNode","inputValue","getSelectedFiles","restoreDefaultText","handleFormReset","customFileList","INPUT","CUSTOMFILE","FORM","textNodeType","getDefaultText","defaultText","fileApi","FAKE_PATH","FAKE_PATH_SEPARATOR","splittedValue","customProperty","FORMRESET","INPUTCHANGE","formSelector","customFileInputList","formList","_i2","_len2","registeredInModuleLoader","OldCookies","Cookies","api","defaults","expires","setMilliseconds","getMilliseconds","toUTCString","decodeURIComponent","stringifiedAttributes","attributeName","cookie","cookies","rdecode","withConverter","$jscomp","COMPILED","goog","isDef","isString","isBoolean","isNumber","exportPath_","execScript","CLOSURE_UNCOMPILED_DEFINES","CLOSURE_DEFINES","DEBUG","LOCALE","TRUSTED_SITE","STRICT_MODE_COMPATIBLE","DISALLOW_TEST_ONLY_CODE","ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING","provide","isInModuleLoader_","isProvided_","constructNamespace_","implicitNamespaces_","lastIndexOf","getObjectByName","VALID_MODULE_RE_","moduleLoaderState_","moduleName","getInternal_","loadedModules_","declareLegacyNamespace","setTestOnly","forwardDeclare","isDefAndNotNull","goog.module","globalize","addDependency","DEPENDENCIES_ENABLED","dependencies_","nameToPath","loadFlags","requires","ENABLE_DEBUG_LOADER","logToConsole_","IS_OLD_IE_","maybeProcessDeferredDep_","getPathFromDeps_","writeScripts_","basePath","nullFunction","abstractMethod","addSingletonGetter","instance_","getInstance","instantiatedSingletons_","LOAD_MODULE_USING_EVAL","SEAL_MODULE_EXPORTS","TRANSPILE","TRANSPILER","visited","written","inHtmlDocument_","findBasePath_","CLOSURE_BASE_PATH","importScript_","CLOSURE_IMPORT_SCRIPT","writeScriptTag_","atob","oldIeWaiting_","importProcessedScript_","queuedModules_","wrapModule_","loadQueuedModules_","maybeProcessDeferredPath_","isDeferredModule_","allDepsAreAvailable_","needsTranspile_","loadModuleFromUrl","retrieveAndExec_","writeScriptSrcNode_","appendScriptSrcNode_","lastNonModuleScriptIndex_","protectScriptTag_","requiresTranspilation_","createRequiresTranspilation_","onScriptLoad_","CLOSURE_NO_DEPS","hasBadLetScoping","useSafari10Workaround","eval","workaroundSafari10EvalBug","loadModule","loadModuleFromSource_","seal","normalizePath_","loadFileSync_","CLOSURE_LOAD_FILE_SYNC","transpile_","transpile","$gwtExport","typeOf","propertyIsEnumerable","isNull","isDateLike","isObject","getUid","UID_PROPERTY_","uidCounter_","hasUid","removeUid","getHashCode","removeHashCode","cloneObject","bindNative_","bindJs_","partial","mixin","evalWorksForGlobals_","_evalTest_","getCssName","cssNameMapping_","cssNameMappingStyle_","CLOSURE_CSS_NAME_MAP_FN","setCssNameMapping","CLOSURE_CSS_NAME_MAPPING","getMsg","getMsgWithFallback","exportSymbol","exportProperty","inherits","superClass_","callee","caller","defineClass","statics","createSealingConstructor_","applyProperties_","SEAL_CLASS_INSTANCES","isUnsealable_","UNSEALABLE_CONSTRUCTOR_PROPERTY_","OBJECT_PROTOTYPE_FIELDS_","tagUnsealableClass","es3","captureStackTrace","reportErrorToServer","dom","NodeType","ELEMENT","ATTRIBUTE","TEXT","CDATA_SECTION","ENTITY_REFERENCE","ENTITY","PROCESSING_INSTRUCTION","COMMENT","DOCUMENT","DOCUMENT_TYPE","DOCUMENT_FRAGMENT","NOTATION","DETECT_DOUBLE_ESCAPING","FORCE_NON_DOM_HTML_UNESCAPING","Unicode","NBSP","startsWith","endsWith","caseInsensitiveStartsWith","caseInsensitiveCompare","caseInsensitiveEndsWith","caseInsensitiveEquals","subs","collapseWhitespace","isEmptyOrWhitespace","isEmptyString","isEmpty","isEmptyOrWhitespaceSafe","makeSafe","isEmptySafe","isBreakingWhitespace","isAlpha","isAlphaNumeric","isSpace","isUnicodeChar","stripNewlines","canonicalizeNewlines","normalizeWhitespace","normalizeSpaces","collapseBreakingSpaces","trimLeft","trimRight","numberAwareCompare_","intAwareCompare","floatAwareCompare","numerateCompare","urlEncode","urlDecode","newLineToBr","htmlEscape","AMP_RE_","LT_RE_","GT_RE_","QUOT_RE_","SINGLE_QUOTE_RE_","NULL_RE_","E_RE_","ALL_RE_","unescapeEntities","unescapeEntitiesUsingDom_","unescapePureXmlEntities_","unescapeEntitiesWithDocument","\u0026amp;","\u0026lt;","\u0026gt;","\u0026quot;","HTML_ENTITY_PATTERN_","whitespaceEscape","preserveSpaces","stripQuotes","truncateMiddle","specialEscapeChars_","\b","\f","\n","\r","\t","\u000b","\\","jsEscapeCache_","quote","escapeChar","escapeString","caseInsensitiveContains","countOf","removeAt","removeAll","regExpEscape","repeat","padNumber","toFixed","buildString","getRandomString","compareVersions","compareElements_","hashCode","uniqueStringCounter_","createUniqueString","toNumber","NaN","isLowerCamelCase","isUpperCamelCase","toCamelCase","toSelectorCase","toTitleCase","capitalize","splitLimit","lastComponent","editDistance","asserts","ENABLE_ASSERTS","AssertionError","messagePattern","DEFAULT_ERROR_HANDLER","errorHandler_","doAssertFailure_","setErrorHandler","assertNumber","assertString","assertFunction","assertObject","assertArray","assertBoolean","assertElement","assertInstanceof","getType_","assertObjectPrototypeIsIntact","displayName","NATIVE_ARRAY_PROTOTYPES","ASSUME_NATIVE_FUNCTIONS","peek","forEachRight","reduceRight","every","findRight","findIndexRight","clear","insertAt","insertArrayAt","removeLast","removeIf","removeAllIf","removeDuplicates","binarySearch","binarySearch_","defaultCompare","binarySelect","stableSort","sortByKey","sortObjectsByKey","isSorted","equals","defaultCompareEquality","compare3","inverseDefaultCompare","binaryInsert","binaryRemove","bucket","toObject","flatten","rotate","moveItem","zip","shuffle","copyByIndex","concatMap","math","randomInt","uniformRandom","modulo","lerp","nearlyEquals","standardAngle","standardAngleInRadians","toRadians","toDegrees","angleDx","angleDy","sin","angle","atan2","angleDifference","sign","longestCommonSubsequence","sum","average","sampleVariance","standardDeviation","sqrt","isInt","isFiniteNumber","isNegativeZero","log10Floor","LOG10E","Infinity","safeFloor","safeCeil","Coordinate","distance","magnitude","azimuth","squaredDistance","difference","translate","rotateRadians","rotateDegrees","Thenable","IMPLEMENTED_BY_PROP","addImplementation","$goog_Thenable","isImplementedBy","FreeList","limit_","create_","reset_","occupants_","head_","occupants","WorkQueue","workTail_","workHead_","DEFAULT_MAX_UNUSED","freelist_","WorkItem","getUnusedItem_","returnUnused","entryPointRegistry","EntryPointMonitor","refList_","monitors_","monitorsMayExist_","register","monitorAll","unmonitorAllIfPossible","HtmlElement","TagName","tagName_","ABBR","ACRONYM","ADDRESS","APPLET","AREA","ARTICLE","ASIDE","AUDIO","BASE","BASEFONT","BDI","BDO","BIG","BLOCKQUOTE","BODY","BR","BUTTON","CANVAS","CAPTION","CENTER","CITE","CODE","COL","COLGROUP","COMMAND","DATA","DATALIST","DD","DEL","DETAILS","DFN","DIALOG","DIR","DIV","DL","DT","EM","EMBED","FIELDSET","FIGCAPTION","FIGURE","FONT","FOOTER","FRAME","FRAMESET","H1","H2","H3","H4","H5","H6","HEAD","HEADER","HGROUP","HR","IFRAME","IMG","INS","ISINDEX","KBD","KEYGEN","LABEL","LEGEND","LI","LINK","MAP","MARK","MATH","MENU","META","METER","NAV","NOFRAMES","NOSCRIPT","OL","OPTGROUP","OPTION","OUTPUT","PARAM","PRE","PROGRESS","RP","RT","RUBY","SAMP","SCRIPT","SECTION","SELECT","SMALL","SOURCE","SPAN","STRIKE","STRONG","STYLE","SUB","SUMMARY","SUP","SVG","TABLE","TBODY","TD","TEMPLATE","TEXTAREA","TFOOT","TH","THEAD","TIME","TITLE","TR","TRACK","TT","UL","VAR","VIDEO","WBR","functions","constant","FALSE","TRUE","NULL","identity","nth","partialRight","withReturnValue","sequence","equalTo","compose","and","or","CACHE_RETURN_VALUE","cacheReturnValue","debounce","rateLimit","labs","util","getNativeUserAgentString_","getNavigator_","userAgent_","setUserAgent","getUserAgent","matchUserAgent","matchUserAgentIgnoreCase","extractVersionTuples","getCount","getAnyKey","getAnyValue","containsValue","getValues","getKeys","getValueByKeys","containsKey","findKey","findValue","setIfUndefined","setWithReturnValueIfNotSet","unsafeClone","transpose","PROTOTYPE_FIELDS_","createSet","createImmutableView","isFrozen","freeze","isImmutableView","getAllPropertyNames","getOwnPropertyNames","browser","matchOpera_","matchIE_","matchEdge_","matchFirefox_","matchSafari_","matchChrome_","matchCoast_","isSilk","matchIosWebview_","matchAndroidBrowser_","isChrome","isFirefox","isOpera","isIE","isEdge","isSafari","isCoast","isIosWebview","isAndroidBrowser","getVersion","getIEVersion_","isVersionOrHigher","engine","isPresto","isTrident","isWebKit","isGecko","getEngineTuple_","getVersionForKey_","throwException","nextTick","wrapCallback_","setImmediate","useSetImmediate_","setImmediate_","getSetImmediateEmulator_","Window","MessageChannel","postMessage","contentWindow","origin","port1","onmessage","port2","cb","schedule_","initializeRunner_","workQueueScheduled_","workQueue_","processWorkQueue","forceNextTick","resetQueue","Resolver","state_","State_","PENDING","result_","callbackEntriesTail_","callbackEntries_","parent_","executing_","UNHANDLED_REJECTION_DELAY","unhandledRejectionId_","hadUnhandledRejection_","LONG_STACK_TRACES","stack_","addStackTrace_","currentStep_","resolve_","FULFILLED","CancellationError","REJECTED","BLOCKED","CallbackEntry_","child","getCallbackEntry_","returnEntry_","resolveThen_","maybeThen_","race","allSettled","fulfilled","reason","firstFulfilled","withResolver","Resolver_","addChildPromise_","thenVoid","addCallbackEntry_","thenAlways","thenCatch","cancelInternal_","cancelChild_","removeEntryAfter_","popEntry_","executeCallback_","hasEntry_","scheduleCallbacks_","queueEntry_","unblockAndFulfill_","unblockAndReject_","addUnhandledRejection_","tryThen_","executeCallbacks_","removeUnhandledRejection_","invokeCallback_","handleRejection_","appendLongStack_","setUnhandledRejectionHandler","disposable","IDisposable","isDisposed","Disposable","MONITORING_MODE","MonitoringMode","OFF","INCLUDE_STACK_ON_CREATION","creationStack","instances_","disposed_","onDisposeCallbacks_","PERMANENT","INTERACTIVE","getUndisposedObjects","clearUndisposedObjects","getDisposed","disposeInternal","registerDisposable","addOnDisposeCallback","disposeAll","errorcontext","addErrorContext","CONTEXT_KEY_","getErrorContext","platform","isAndroid","isIpod","isIphone","isIpad","isIos","isMacintosh","isLinux","isWindows","isChromeOS","reflect","objectProperty","sinkValue","canAccessProperty","ASSUME_IE","ASSUME_EDGE","ASSUME_GECKO","ASSUME_WEBKIT","ASSUME_MOBILE_WEBKIT","ASSUME_OPERA","ASSUME_ANY_VERSION","BROWSER_KNOWN_","getUserAgentString","getNavigator","OPERA","IE","EDGE","EDGE_OR_IE","GECKO","WEBKIT","isMobile_","MOBILE","SAFARI","determinePlatform_","PLATFORM","ASSUME_MAC","ASSUME_WINDOWS","ASSUME_LINUX","ASSUME_X11","ASSUME_ANDROID","ASSUME_IPHONE","ASSUME_IPAD","ASSUME_IPOD","PLATFORM_KNOWN_","MAC","WINDOWS","isLegacyLinux_","LINUX","isX11_","appVersion","X11","ANDROID","IPHONE","IPAD","IPOD","IOS","determineVersion_","getVersionRegexResult_","getDocumentMode_","isVersionOrHigherCache_","isVersion","isDocumentModeOrHigher","DOCUMENT_MODE","isDocumentMode","compatMode","LOGGING_ENABLED","FORCE_SLOPPY_STACKS","catchErrors","fileName","line","expose","deepExpose","exposeArray","normalizeErrorObject","lineNumber","sourceURL","$googDebugFname","enhanceError","getStacktrace","enhanceErrorWithContext","getStacktraceSimple","getNativeStackTrace_","getFunctionName","MAX_STACK_DEPTH","getStacktraceHelper_","setFunctionResolver","fnNameResolver_","fnNameCache_","makeWhitespaceVisible","runtimeType","freezeInternal_","purify","BrowserFeature","HAS_W3C_BUTTON","HAS_W3C_EVENT_SUPPORT","SET_KEY_CODE_TO_PREVENT_DEFAULT","HAS_NAVIGATOR_ONLINE_PROPERTY","HAS_HTML5_NETWORK_EVENT_SUPPORT","HTML5_NETWORK_EVENTS_FIRE_ON_BODY","TOUCH_ENABLED","msMaxTouchPoints","POINTER_EVENTS","MSPOINTER_EVENTS","msPointerEnabled","PASSIVE_EVENTS","EventId","propagationStopped_","returnValue_","getVendorPrefixedName_","EventType","RIGHTCLICK","DBLCLICK","MOUSEDOWN","MOUSEUP","MOUSEOVER","MOUSEOUT","MOUSEMOVE","SELECTIONCHANGE","SELECTSTART","WHEEL","KEYPRESS","KEYDOWN","KEYUP","BLUR","FOCUS","DEACTIVATE","CHANGE","RESET","SUBMIT","PROPERTYCHANGE","DRAGSTART","DRAG","DRAGENTER","DRAGOVER","DRAGLEAVE","DROP","DRAGEND","TOUCHSTART","TOUCHMOVE","TOUCHEND","TOUCHCANCEL","BEFOREUNLOAD","CONSOLEMESSAGE","CONTEXTMENU","DEVICEMOTION","DEVICEORIENTATION","DOMCONTENTLOADED","ERROR","HELP","LOAD","LOSECAPTURE","ORIENTATIONCHANGE","READYSTATECHANGE","RESIZE","SCROLL","UNLOAD","CANPLAY","CANPLAYTHROUGH","DURATIONCHANGE","EMPTIED","ENDED","LOADEDDATA","LOADEDMETADATA","PAUSE","PLAY","PLAYING","RATECHANGE","SEEKED","SEEKING","STALLED","SUSPEND","TIMEUPDATE","VOLUMECHANGE","WAITING","SOURCEOPEN","SOURCEENDED","SOURCECLOSED","ABORT","UPDATE","UPDATESTART","UPDATEEND","HASHCHANGE","PAGEHIDE","PAGESHOW","POPSTATE","COPY","PASTE","CUT","BEFORECOPY","BEFORECUT","BEFOREPASTE","ONLINE","OFFLINE","MESSAGE","CONNECT","INSTALL","ACTIVATE","FETCH","FOREIGNFETCH","MESSAGEERROR","STATECHANGE","UPDATEFOUND","CONTROLLERCHANGE","ANIMATIONSTART","ANIMATIONEND","ANIMATIONITERATION","TRANSITIONEND","POINTERDOWN","POINTERUP","POINTERCANCEL","POINTERMOVE","POINTEROVER","POINTEROUT","POINTERENTER","POINTERLEAVE","GOTPOINTERCAPTURE","LOSTPOINTERCAPTURE","MSGESTURECHANGE","MSGESTUREEND","MSGESTUREHOLD","MSGESTURESTART","MSGESTURETAP","MSGOTPOINTERCAPTURE","MSINERTIASTART","MSLOSTPOINTERCAPTURE","MSPOINTERCANCEL","MSPOINTERDOWN","MSPOINTERENTER","MSPOINTERHOVER","MSPOINTERLEAVE","MSPOINTERMOVE","MSPOINTEROUT","MSPOINTEROVER","MSPOINTERUP","TEXTINPUT","COMPOSITIONSTART","COMPOSITIONUPDATE","COMPOSITIONEND","BEFOREINPUT","EXIT","LOADABORT","LOADCOMMIT","LOADREDIRECT","LOADSTART","LOADSTOP","RESPONSIVE","SIZECHANGED","UNRESPONSIVE","VISIBILITYCHANGE","STORAGE","DOMSUBTREEMODIFIED","DOMNODEINSERTED","DOMNODEREMOVED","DOMNODEREMOVEDFROMDOCUMENT","DOMNODEINSERTEDINTODOCUMENT","DOMATTRMODIFIED","DOMCHARACTERDATAMODIFIED","BEFOREPRINT","AFTERPRINT","getPointerFallbackEventName_","PointerFallbackEventType","BrowserEvent","platformModifierKey","event_","MouseButton","MIDDLE","MOUSE","IEButtonMap","IE_BUTTON_MAP","IE_POINTER_TYPE_MAP","2","3","4","srcElement","fromElement","layerX","layerY","getPointerType_","isButton","isMouseActionButton","cancelBubble","getBrowserEvent","Listenable","ListenableKey","counter_","reserveKey","Listener","ENABLE_MONITORING","listener","capture","removed","callOnce","markAsRemoved","ListenerMap","listeners","typeCount_","getTypeCount","getListenerCount","findListenerIndex_","removeByKey","getListeners","getListener","hasListener","LISTENER_MAP_PROP_","onString_","onStringMap_","CaptureSimulationMode","OFF_AND_FAIL","OFF_AND_SILENT","ON","CAPTURE_SIMULATION_MODE","listenerCountEstimate_","listen","listenOnce","wrapListener","listen_","getListenerMap_","getProxy","getOnString_","handleBrowserEvent_","listenWithWrapper","unlisten","unlistenByKey","detachEvent","unlistenWithWrapper","removeAllListeners","fireListeners","fireListeners_","fireListener","getTotalListenerCount","protectBrowserEventEntryPoint","protectEntryPoint","isMarkedIeEvent_","markIeEvent_","uniqueIdCounter_","getUniqueId","LISTENER_WRAPPER_PROP_","handleEvent","EventTarget","eventTargetListeners_","actualEventTarget_","parentEventTarget_","MAX_ANCESTORS_","getParentEventTarget","setParentEventTarget","assertInitialized_","dispatchEventInternal_","setTargetForTesting","Timer","interval_","timerObject_","defaultTimerObject","boundTick_","tick_","last_","MAX_TIMEOUT_","INVALID_TIMEOUT_ID_","intervalScale","timer_","getInterval","dispatchTick","TICK","CAN_ADD_NAME_OR_TYPE_ATTRIBUTES","CAN_USE_CHILDREN_ATTRIBUTE","CAN_USE_INNER_TEXT","CAN_USE_PARENT_ELEMENT_PROPERTY","INNER_HTML_NEEDS_SCOPED_ELEMENT","LEGACY_IE_RANGES","assertIsLocation","getWindow_","debugStringForType_","assertIsHTMLAnchorElement","HTMLAnchorElement","assertIsHTMLLinkElement","HTMLLinkElement","assertIsHTMLImageElement","HTMLImageElement","assertIsHTMLEmbedElement","HTMLEmbedElement","assertIsHTMLFrameElement","HTMLFrameElement","assertIsHTMLIFrameElement","HTMLIFrameElement","assertIsHTMLObjectElement","HTMLObjectElement","assertIsHTMLScriptElement","HTMLScriptElement","VOID_TAGS_","command","embed","keygen","track","wbr","isVoidTag","TypedString","Const","stringConstValueWithSecurityContract__googStringSecurityPrivate_","STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_","TYPE_MARKER_","implementsGoogStringTypedString","getTypedStringValue","create__googStringSecurityPrivate_","EMPTY","SafeScript","privateDoNotAccessOrElseSafeScriptWrappedValue_","SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","fromConstant","createSafeScriptSecurityPrivateDoNotAccessOrElse","initSecurityPrivateDoNotAccessOrElse_","fs","createObjectUrl","getUrlObject_","createObjectURL","revokeObjectUrl","revokeObjectURL","findUrlObject_","URL","webkitURL","browserSupportsObjectUrls","i18n","bidi","FORCE_RTL","IS_RTL","Format","LRE","RLE","PDF","LRM","RLM","Dir","LTR","RTL","NEUTRAL","I18N_RIGHT","I18N_LEFT","toDir","ltrChars_","rtlChars_","htmlSkipReg_","stripHtmlIfNeeded_","rtlCharReg_","ltrCharReg_","hasAnyRtl","hasRtlChar","hasAnyLtr","ltrRe_","rtlRe_","isRtlChar","isLtrChar","isNeutralChar","ltrDirCheckRe_","rtlDirCheckRe_","startsWithRtl","isRtlText","startsWithLtr","isLtrText","isRequiredLtrRe_","isNeutralText","ltrExitDirCheckRe_","rtlExitDirCheckRe_","endsWithLtr","isLtrExitText","endsWithRtl","isRtlExitText","rtlLocalesRe_","isRtlLanguage","bracketGuardTextRe_","guardBracketInText","enforceRtlInHtml","enforceRtlInText","enforceLtrInHtml","enforceLtrInText","dimensionsRe_","leftRe_","rightRe_","tempRe_","mirrorCSS","doubleQuoteSubstituteRe_","singleQuoteSubstituteRe_","normalizeHebrewQuote","wordSeparatorRe_","hasNumeralsRe_","rtlDetectionThreshold_","estimateDirection","detectRtlDirectionality","setElementDirAndAlign","textAlign","setElementDirByTextDirectionality","DirectionalString","TrustedResourceUrl","privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_","TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","implementsGoogI18nBidiDirectionalString","getDirection","format_","createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse","BASE_URL_","FORMAT_MARKER_","formatWithParams","fromConstants","SafeUrl","privateDoNotAccessOrElseSafeHtmlWrappedValue_","SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","INNOCUOUS_STRING","createSafeUrlSecurityPrivateDoNotAccessOrElse","SAFE_MIME_TYPE_PATTERN_","fromBlob","DATA_URL_PATTERN_","fromDataUrl","fromTelUrl","fromTrustedResourceUrl","SAFE_URL_PATTERN_","sanitizeAssertUnchanged","ABOUT_BLANK","SafeStyle","privateDoNotAccessOrElseSafeStyleWrappedValue_","SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","checkStyle_","createSafeStyleSecurityPrivateDoNotAccessOrElse","sanitizePropertyValue_","sanitizePropertyValueString_","FUNCTIONS_RE_","URL_RE_","VALUE_RE_","hasBalancedQuotes_","sanitizeUrl_","VALUE_ALLOWED_CHARS_","SafeStyleSheet","privateDoNotAccessOrElseSafeStyleSheetWrappedValue_","SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","createRule","hasBalancedBrackets_","createSafeStyleSheetSecurityPrivateDoNotAccessOrElse","(","[","SafeHtml","SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_","dir_","createSafeHtmlSecurityPrivateDoNotAccessOrElse","htmlEscapePreservingNewlines","htmlEscapePreservingNewlinesAndSpaces","VALID_NAMES_IN_TAG_","URL_ATTRIBUTES_","cite","formaction","manifest","poster","NOT_ALLOWED_TAG_NAMES_","verifyTagName","createSafeHtmlTagSecurityPrivateDoNotAccessOrElse","createIframe","srcdoc","combineAttributes","sandbox","createSandboxIframe","canUseSandboxIframe","createScriptSrc","createScript","createStyle","createMetaRefresh","http-equiv","getAttrNameAndValue_","getStyleValue_","createWithDir","concatWithDir","stringifyAttributes","DOCTYPE_HTML","safe","InsertAdjacentHtmlPosition","AFTERBEGIN","AFTEREND","BEFOREBEGIN","BEFOREEND","insertAdjacentHtml","insertAdjacentHTML","SET_INNER_HTML_DISALLOWED_TAGS_","setInnerHtml","setOuterHtml","setStyle","documentWrite","setAnchorHref","setImageSrc","setEmbedSrc","setFrameSrc","setIframeSrc","setIframeSrcdoc","setLinkHrefAndRel","rel","setObjectData","setScriptSrc","setScriptContent","setLocationHref","openInWindow","uncheckedconversions","safeHtmlFromStringKnownToSatisfyTypeContract","safeScriptFromStringKnownToSatisfyTypeContract","safeStyleFromStringKnownToSatisfyTypeContract","safeStyleSheetFromStringKnownToSatisfyTypeContract","safeUrlFromStringKnownToSatisfyTypeContract","trustedResourceUrlFromStringKnownToSatisfyTypeContract","Size","getLongest","getShortest","perimeter","aspectRatio","fitsInside","scaleToCover","scaleToFit","ASSUME_QUIRKS_MODE","ASSUME_STANDARDS_MODE","COMPAT_MODE_KNOWN_","getDomHelper","DomHelper","getOwnerDocument","defaultDomHelper_","getDocument","getElement","getElementHelper_","getRequiredElement","getRequiredElementHelper_","getElementsByTagNameAndClass","getElementsByTagNameAndClass_","getElementByTagNameAndClass","getElementByTagNameAndClass_","getElementsByClass","canUseQuerySelector_","getElementByClass","getRequiredElementByClass","$$","setProperties","htmlFor","DIRECT_ATTRIBUTE_MAP_","cellpadding","cellspacing","colspan","frameborder","maxlength","role","rowspan","usemap","valign","getViewportSize","getViewportSize_","isCss1CompatMode_","getDocumentHeight","getDocumentHeight_","getDocumentHeightForWindow","getPageScroll","getDocumentScroll","getDocumentScroll_","getDocumentScrollElement_","getDocumentScrollElement","getWindow","createDom","createDom_","append_","isNodeLike","isNodeList","$dom","createElement_","createTable","createTable_","setTextContent","constHtmlToNode","safeHtmlToNode","safeHtmlToNode_","childrenToNode_","isCss1CompatMode","canHaveChildren","removeChildren","insertSiblingBefore","insertSiblingAfter","insertChildAt","removeNode","replaceNode","flattenElement","getChildren","getFirstElementChild","getNextElementNode_","getLastElementChild","lastElementChild","getNextElementSibling","getPreviousElementSibling","previousElementSibling","previousSibling","getNextNode","getPreviousNode","getParentElement","SVGElement","compareNodeOrder","compareSiblingOrder_","compareParentsDescendantNodeIe_","selectNode","collapse","compareBoundaryPoints","Range","START_TO_END","findCommonAncestor","getFrameContentDocument","getFrameContentWindow","getOuterHtml","findNode","findNodes_","findNodes","TAGS_TO_IGNORE_","PREDEFINED_TAG_VALUES_","isFocusableTabIndex","hasSpecifiedTabIndex_","isTabIndexFocusable_","setFocusableTabIndex","isFocusable","nativelySupportsFocus_","hasNonZeroBoundingRect_","getTextContent","innerText","getTextContent_","getRawTextContent","getNodeTextLength","getNodeTextOffset","getNodeAtOffset","remainder","getAncestorByTagNameAndClass","getAncestor","getAncestorByClass","getActiveElement","getPixelRatio","matchMedia","matchesPixelRatio_","getCanvasContext2D","getContext","document_","color","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","prependHashIfNecessaryHelper","isValidHexColor_","normalizeHex","isValidRgbColor_","rgbArrayToHex","isValidColor","parseRgb","hexToRgbStyle","rgbStyle_","hexToRgb","hexTripletRe_","rgbToHex","prependZeroIfNecessaryHelper","rgbToHsl","rgbArrayToHsl","hueToRgb_","hslToRgb","hslArrayToRgb","validHexColorRe_","normalizedHexColorRe_","isNormalizedHexColor_","rgbColorRe_","hsvToRgb","rgbToHsv","rgbArrayToHsv","hsvArrayToRgb","hexToHsl","hslToHex","hslArrayToHex","hexToHsv","hsvToHex","hsvArrayToHex","hslDistance","blend","darken","lighten","highContrast","yiqBrightnessDiff_","colorDiff_","yiqBrightness_","vendor","getVendorJsPrefix","getVendorPrefix","getPrefixedPropertyName","getPrefixedEventType","Box","boundingBox","expandToIncludeCoordinate","getWidth","getHeight","expandToInclude","relativePositionX","relativePositionY","intersects","intersectsWithPadding","IRect","Rect","toBox","createFromPositionAndSize","createFromBox","intersection","boundingRect","getSize","getTopLeft","getCenter","getBottomRight","setStyle_","getVendorJsStyleName_","styleNameCache_","getVendorStyleName_","getStyle","getCascadedStyle","currentStyle","getStyle_","getComputedBoxSizing","getComputedPosition","getBackgroundColor","getComputedOverflowX","getComputedOverflowY","getComputedZIndex","getComputedTextAlign","getComputedCursor","getComputedTransform","setPosition","getPixelStyleValue_","getPosition","offsetLeft","offsetTop","getClientViewportElement","getViewportPageOffset","getBoundingClientRect_","clientLeft","clientTop","getOffsetParent","getVisibleRectForElement","getPageOffset","getClientLeftTop","getContainerOffsetToScrollInto","getBorderBox","getSizeWithDisplay_","scrollIntoContainerView","getPageOffsetLeft","getPageOffsetTop","getFramedPageOffset","getClientPositionForElement_","frameElement","translateRectForAnotherFrame","getRelativePosition","getClientPosition","setPageOffset","setSize","setWidth","setHeight","evaluateWithTemporaryDisplay_","getTransformedSize","getBounds","getOpacity","MozOpacity","setOpacity","setTransparentBackgroundImage","backgroundImage","backgroundPosition","backgroundRepeat","clearTransparentBackgroundImage","showElement","setElementShown","isElementShown","installSafeStyleSheet","createStyleSheet","setSafeStyleSheet","uninstallStyles","ownerNode","owningElement","setPreWrap","whiteSpace","wordWrap","setInlineBlock","isRightToLeft","unselectableStyle_","isUnselectable","setUnselectable","getBorderBoxSize","setBorderBoxSize","setBoxSizingSize_","getPaddingBox","pixelWidth","pixelHeight","getContentBoxSize","boxSizing","getIePixelValue_","setContentBoxSize","MozBoxSizing","WebkitBoxSizing","runtimeStyle","getIePixelDistance_","getBox_","getMarginBox","ieBorderWidthKeywords_","thin","medium","thick","getIePixelBorder_","getFontFamily","createTextRange","moveToElementText","queryCommandValue","lengthUnitRegex_","getLengthUnits","ABSOLUTE_CSS_LENGTH_UNITS_","cm","in","mm","pc","pt","CONVERTIBLE_RELATIVE_CSS_UNITS_","getFontSize","parseStyleAttribute","toStyleAttribute","setFloat","getFloat","getScrollbarWidth","MATRIX_TRANSLATION_REGEX_","getCssTranslation","EventHandler","handler_","keys_","typeArray_","listenWithScope","listenOnce_","listenOnceWithScope","listenWithWrapper_","listenWithWrapperAndScope","ui","IdGenerator","nextId_","getNextUniqueId","Component","dom_","rightToLeft_","defaultRightToLeft_","id_","inDocument_","element_","googUiComponentHandler_","childIndex_","children_","model_","wasDecorated_","ALLOW_DETACHED_DECORATION","idGenerator_","DEFAULT_BIDI_DIR","BEFORE_SHOW","DISABLE","ENABLE","HIGHLIGHT","UNHIGHLIGHT","UNSELECT","CHECK","UNCHECK","OPEN","CLOSE","ENTER","LEAVE","ACTION","NOT_SUPPORTED","DECORATE_INVALID","ALREADY_RENDERED","PARENT_UNABLE_TO_BE_SET","CHILD_INDEX_OUT_OF_BOUNDS","NOT_OUR_CHILD","NOT_IN_DOCUMENT","STATE_INVALID","State","ALL","DISABLED","HOVER","ACTIVE","SELECTED","CHECKED","FOCUSED","getStateTransitionEvent","setDefaultRightToLeft","getId","setId","getElementStrict","setElementInternal","getHandler","setParent","getChild","getParent","isInDocument","render_","renderBefore","enterDocument","decorate","canDecorate","decorateInternal","wasDecorated","forEachChild","exitDocument","makeId","makeIds","getModel","setModel","getFragmentFromId","getElementByFragment","addChild","addChildAt","getChildCount","getContentElement","getChildAt","setRightToLeft","hasChildren","getChildIds","indexOfChild","removeChildAt","a11y","aria","Role","ALERT","ALERTDIALOG","APPLICATION","BANNER","CHECKBOX","COLUMNHEADER","COMBOBOX","COMPLEMENTARY","CONTENTINFO","DEFINITION","DIRECTORY","GRID","GRIDCELL","GROUP","HEADING","LIST","LISTBOX","LISTITEM","LOG","MAIN","MARQUEE","MENUBAR","MENU_ITEM","MENU_ITEM_CHECKBOX","MENU_ITEM_RADIO","NAVIGATION","NOTE","PRESENTATION","PROGRESSBAR","RADIO","RADIOGROUP","REGION","ROW","ROWGROUP","ROWHEADER","SCROLLBAR","SEARCH","SEPARATOR","SLIDER","SPINBUTTON","STATUS","TAB","TAB_LIST","TAB_PANEL","TEXTBOX","TEXTINFO","TIMER","TOOLBAR","TOOLTIP","TREE","TREEGRID","TREEITEM","ACTIVEDESCENDANT","ATOMIC","AUTOCOMPLETE","BUSY","COLINDEX","CONTROLS","DESCRIBEDBY","DROPEFFECT","EXPANDED","FLOWTO","GRABBED","HASPOPUP","INVALID","LABELLEDBY","LEVEL","LIVE","MULTILINE","MULTISELECTABLE","ORIENTATION","OWNS","POSINSET","PRESSED","READONLY","RELEVANT","REQUIRED","ROWINDEX","SETSIZE","SORT","VALUEMAX","VALUEMIN","VALUENOW","VALUETEXT","AutoCompleteValues","INLINE","BOTH","NONE","DropEffectValues","MOVE","EXECUTE","POPUP","LivePriority","POLITE","ASSERTIVE","OrientationValues","VERTICAL","HORIZONTAL","RelevantValues","ADDITIONS","REMOVALS","SortValues","ASCENDING","DESCENDING","OTHER","CheckedValues","MIXED","UNDEFINED","ExpandedValues","GrabbedValues","InvalidValues","GRAMMAR","SPELLING","PressedValues","SelectedValues","datatables","getDefaultValuesMap","DefaultStateValueMap_","ARIA_PREFIX_","ROLE_ATTRIBUTE_","TAGS_WITH_ASSUMED_ROLES_","CONTAINER_ROLES_","setRole","removeRole","getRole","getAriaAttributeName_","toggleState","removeState","getActiveDescendant","setActiveDescendant","getLabel","setLabel","assertRoleIsSetInternalUtil","getStateBoolean","getStateNumber","getStateString","getStringArrayStateInternalUtil","splitStringOnWhitespace_","hasState","isContainerRole","KeyCodes","WIN_KEY_FF_LINUX","MAC_ENTER","BACKSPACE","NUM_CENTER","SHIFT","CTRL","ALT","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","UP","DOWN","PLUS_SIGN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","FF_DASH","QUESTION_MARK","AT_SIGN","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SCROLL_LOCK","FIRST_MEDIA_KEY","LAST_MEDIA_KEY","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","TILDE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","MAC_WK_CMD_LEFT","MAC_WK_CMD_RIGHT","WIN_IME","VK_NONAME","PHANTOM","isTextModifyingKeyEvent","firesKeyPressEvent","isCharacterKey","normalizeKeyCode","normalizeGeckoKeyCode","normalizeMacWebKitKeyCode","KeyHandler","attach","keyPressKey_","keyDownKey_","keyUpKey_","lastKey_","keyCode_","altKey_","KEY","safariKey_","12","63232","63233","63234","63235","63236","63237","63238","63239","63240","63241","63242","63243","63244","63245","63246","63247","63248","63272","63273","63275","63276","63277","63289","63302","keyIdentifier_","Up","Down","Left","Right","Enter","U+007F","Home","End","PageUp","PageDown","Insert","USES_KEYDOWN_","SAVE_ALT_FOR_KEYPRESS_","handleKeyDown_","resetState","handleKeyup_","keyIdentifier","KeyEvent","classlist","ALWAYS_USE_DOM_TOKEN_LIST","addAll","enableAll","addRemove","registry","getDefaultRenderer","defaultRenderers_","setDefaultRenderer","getDecoratorByClassName","decoratorFunctions_","setDecoratorByClassName","getDecorator","ContainerRenderer","ariaRole_","getCustomRenderer","getCssClass","CSS_CLASS","getAriaRole","enableTabIndex","getClassNames","setStateFromClassName","decorateChildren","setEnabled","setOrientation","Container","Orientation","getDecoratorForChild","isEnabled","initializeDom","hideFocus","getKeyEventTarget","getOrientation","getDefaultOrientation","ControlRenderer","IE6_CLASS_COMBINATIONS","TOGGLE_ARIA_STATE_MAP_","getContent","enableClassName","getAppliedCombinedClassNames_","enableExtraClassName","setContentInternal","getStructuralCssClass","getStateFromClass","setStateInternal","getExtraClassNames","setFocusable","isVisible","setAriaRole","setAriaStates","getAriaLabel","setAriaLabel","updateAriaState","isSupportedState","isSelected","isChecked","setAllowTextSelection","isFocused","handleBlur","setVisible","getClassForState","ariaAttributeMap_","getAriaStateForAriaRole_","isAriaState_","getIe6ClassCombinations","getClassNamesForState","classByState_","createClassByStateMap_","stateByClass_","createStateByClassMap_","Control","renderer_","ariaLabel_","registerDecorator","content_","supportedStates_","autoStates_","statesWithTransitionEvents_","visible_","extraClassNames_","handleMouseEvents_","allowTextSelection_","preferredAriaRole_","isHandleMouseEvents","setHandleMouseEvents","enableMouseEventHandling_","getKeyHandler","keyHandler_","getRenderer","setRenderer","addClassName","removeClassName","getPreferredAriaRole","isAllowTextSelection","setPreferredAriaRole","handleKeyEvent","handleFocus","handleMouseOver","handleMouseDown","handleMouseUp","handleMouseOut","handleContextMenu","handleDblClick","ieMouseEventSequenceSimulator_","IeMouseEventSequenceSimulator_","getCaption","setCaption","isParentDisabled_","isTransitionAllowed","setActive","setHighlighted","isHighlighted","setSelected","setChecked","setFocused","setOpen","setSupportedState","isAutoState","setAutoStates","isDispatchTransitionEvents","setDispatchTransitionEvents","isMouseEventWithinElement_","performActionInternal","handleKeyEventInternal","control_","clickExpected_","handleMouseDown_","handleMouseUp_","handleClick_","SYNTHETIC_EVENTS_","makeLeftMouseEvent_","initMouseEvent","orientation_","AFTER_SHOW","AFTER_HIDE","keyEventTarget_","enabled_","focusable_","highlightedIndex_","openItem_","mouseButtonPressed_","allowFocusableChildren_","openFollowsHighlight_","childElementIdMap_","setKeyEventTarget","enableFocusHandling_","registerChildId_","handleEnterItem","handleHighlightItem","handleUnHighlightItem","handleOpenItem","handleCloseItem","handleDocumentMouseUp","handleChildMouseEvents","setHighlightedIndex","getHighlighted","isMouseButtonPressed","setMouseButtonPressed","getOwnerControl","highlightFirst","highlightLast","highlightPrevious","highlightNext","isFocusableChildrenAllowed","updateHighlightedIndex_","wasDisabled","setFocusableChildrenAllowed","isOpenFollowsHighlight","setOpenFollowsHighlight","getHighlightedIndex","highlightHelper","canHighlightItem","setHighlightedIndexFromKeyEvent","getOpenItem","MenuHeaderRenderer","MenuHeader","MenuItemRenderer","classNameCache_","CompositeCssClassIndex_","CONTENT","getCompositeCssClass_","createContent","setEnableCheckBoxStructure","hasContentStructure","setCheckable","hasCheckBoxStructure","setSelectable","MenuItem","MNEMONIC_WRAPPER_CLASS_","ACCELERATOR_CLASS","getValue","setSelectableInternal_","setCheckableInternal_","getAccelerator","openingCoords","getMnemonic","setMnemonic","mnemonicKey_","MenuSeparatorRenderer","Separator","MenuRenderer","containsElement","MenuSeparator","Menu","BEFORE_HIDE","allowAutoFocus_","allowHighlightDisabled_","addItem","addItemAt","removeItem","removeItemAt","getItemAt","getItemCount","getItems","setAllowAutoFocus","getAllowAutoFocus","setAllowHighlightDisabled","getAllowHighlightDisabled","highlightNextPrefix","decorateContent","iter","StopIteration","Iterator","__iterator__","toIterator","filterFalse","chain","chainFromIterable","dropWhile","takeWhile","zipLongest","nextOrValue","product","accumulate","compress","GroupByIterator_","keyFunc","currentKey","targetKey","groupItems_","groupBy","starMap","tee","enumerate","limit","consume","hasDuplicates_","permutations","combinations","combinationsWithReplacement","TagWalkType","START_TAG","END_TAG","TagIterator","reversed","tagType","started_","constrained","copyFrom","skipTag","restartTag","isStarted","isStartTag","isEndTag","isNonElement","NodeIterator","PaletteRenderer","cellId_","createGrid","createCell","createRow","cellSpacing","cellPadding","findAriaLabelForCell_","rows","cells","getContainingItem","highlightCell","getCellForItem","selectCell","SelectionModel","items_","addItems","selectedItem_","selectionHandler_","getSelectionHandler","setSelectionHandler","indexOfItem","getFirst","getLast","selectItem_","getSelectedItem","setSelectedItem","getSelectedIndex","setSelectedIndex","Palette","currentCellControl_","CurrentCell_","lastHighlightedIndex_","AFTER_HIGHLIGHT","size_","selectionModel_","adjustSize_","handleSelectionChange","getHighlightedItem","setHighlightedItem","shouldSelectHighlightedItem_","getHighlightedCellElement_","highlightIndex_","tryHighlight","ColorPalette","colors_","setColors","normalizedColors_","labels_","getColors","createColorNodes","getSelectedColor","parseColor_","setSelectedColor","ColorPicker","colorPalette_","onColorPaletteAction_","DEFAULT_NUM_COLS","createColorPalette_","addColors","setColumnCount","unselectable","createSimpleColorGrid","SIMPLE_GRID_COLORS","MouseWheelHandler","isRtl_","listenKey_","MOUSEWHEEL","setMaxDeltaX","maxDeltaX_","setMaxDeltaY","maxDeltaY_","smartScale_","wheelDelta","wheelDeltaX","wheelDeltaY","HORIZONTAL_AXIS","MouseWheelEvent","deltaX","deltaY","Transition","BEGIN","RESUME","STOP","FINISH","TransitionBase","STOPPED","endTime","PAUSED","play","getStateInternal","setStatePlaying","setStatePaused","setStateStopped","isPlaying","isPaused","isStopped","onBegin","dispatchAnimationEvent","onEnd","onFinish","onPause","onPlay","onResume","onStop","AnimationDelay","usingListeners_","listener_","win_","callback_","doAction_","TIMEOUT","MOZ_BEFORE_PAINT_EVENT_","getRaf_","getCancelRaf_","mozRequestAnimationFrame","startIfNotActive","fireIfActive","webkitRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","cancelRequestAnimationFrame","webkitCancelRequestAnimationFrame","mozCancelRequestAnimationFrame","oCancelRequestAnimationFrame","msCancelRequestAnimationFrame","Delay","Animated","activeAnimations_","animationWindow_","animationDelay_","registerAnimation","requestAnimationFrame_","unregisterAnimation","cancelAnimationFrame_","tearDown","setAnimationWindow","cycleAnimations_","onAnimationFrame","startPoint","endPoint","accel_","coords","useRightPositioningForRtl_","fps_","lastFrame","getDuration","enableRightPositioningForRtl","isRightPositioningForRtlEnabled","ANIMATE","DESTROY","updateCoords_","getProgress","onDestroy","onAnimate","AnimationEvent","fps","coordsAsInts","AnimationQueue","onAnimationFinish","AnimationParallelQueue","finishedCounter_","AnimationSerialQueue","current_","ASSUME_FIREFOX","ASSUME_CHROME","ASSUME_SAFARI","PRODUCT_KNOWN_","FIREFOX","isIphoneOrIpod_","CHROME","isSafariDesktop_","getFirstRegExpGroup_","execRegExp_","getScrollLeft","usesNegativeScrollLeftInRtl_","getOffsetStart","setScrollOffset","Dragger","limits","eventHandler_","dragging_","preventMouseDown_","hysteresisDistanceSquared_","ieDragStartCancellingOn_","startDrag","useSetCapture_","HAS_SET_CAPTURE_","setCapture","releaseCapture","EARLY_CANCEL","START","BEFOREDRAG","setAllowSetCapture","setLimits","setHysteresis","getHysteresis","setScrollTarget","scrollTarget_","setCancelIeDragStart","getEnabled","setPreventMouseDown","cleanUpAfterDragging_","isRightToLeft_","fireDragStart_","setupDragHandlers","computeInitialPosition","pageScroll","handleMove_","endDrag","onScroll_","DragEvent","limitX","limitY","endDragCancel","calculatePosition_","doDrag","defaultAction","isDragging","browserEvent","dragger","dragCanceled","PredefinedEffect","updateStyle","Slide","SlideFrom","Swipe","maxWidth_","maxHeight_","clip_","clip","Scroll","Resize","ResizeWidth","ResizeHeight","Fade","lastOpacityUpdate_","OPACITY_UNSET_","TOLERANCE_","FadeOut","FadeIn","FadeOutAndHide","FadeInAndShow","BgColorTransform","setColor","backgroundColor","bgColorFadeIn","ColorTransform","RangeModel","value_","minimum_","maximum_","extent_","step_","isChanging_","mute_","setMute","roundToStepWithMin","setExtent","getExtent","roundToStep","setMinimum","setMaximum","getMinimum","getMaximum","getStep","setStep","SliderBase","additionalAnimations_","rangeModel","labelFn_","handleRangeModelChange","DRAG_VALUE_START","DRAG_VALUE_END","DRAG_EXTENT_START","DRAG_EXTENT_END","DRAG_START","DRAG_END","ANIMATION_END","MOUSE_DOWN_INCREMENT_INTERVAL_","ANIMATION_INTERVAL_","isAnimating_","moveToPointEnabled_","blockIncrement_","minExtent_","isHandleMouseWheel_","mouseDownTime_","MOUSE_DOWN_DELAY_","flipForRtl_","enableFlipForRtl","createThumbs","SLIDER_DRAGGING_CSS_CLASS_","THUMB_DRAGGING_CSS_CLASS_","DISABLED_CSS_CLASS_","setAriaRoles","valueDragger_","valueThumb","extentDragger_","extentThumb","enableEventHandlers_","updateUi_","handleBeforeDrag_","handleThumbDragStartEnd_","handleMouseDownAndClick_","isHandleMouseWheel","enableMouseWheelHandling_","mouseWheelHandler_","setThumbPosition_","animatedSetValue","moveThumbs","getBlockIncrement","getUnitIncrement","getValueFromMousePosition","startBlockIncrementing_","handleMouseWheel_","storeMousePos_","thumbToMove_","getClosestThumb_","incrementing_","lastMousePosition_","getOffsetStart_","stopBlockIncrementing_","incTimer_","handleTimerTick_","getThumbPosition_","getRelativeMousePos_","setValueAndExtent","getValueThumb","getExtentThumb","updateAriaStates","getThumbCoordinateForValue","rangeHighlight","calculateRangeHighlightPositioning_","currentAnimation_","addRangeHighlightAnimations_","createAnimations","endAnimation_","isAnimating","setAdditionalAnimations","setBlockIncrement","setMinExtent","unitIncrement_","setUnitIncrement","getMoveToPointEnabled","setMoveToPointEnabled","getTextValue","setHandleMouseWheel","AnimationFactory","Slider","CSS_CLASS_PREFIX","THUMB_CSS_CLASS","createThumb_","animationFrame","ENABLED","install","FocusHandler","listenKeyIn_","listenKeyOut_","LogRecord","sequenceNumber_","exception_","ENABLE_SEQUENCE_NUMBERS","nextSequenceNumber_","time_","level_","msg_","loggerName_","getLoggerName","getException","setException","setLoggerName","getLevel","setLevel","getMessage","setMessage","getMillis","setMillis","getSequenceNumber","LogBuffer","isBufferingEnabled","CAPACITY","addRecord","curIndex_","isFull_","buffer_","forEachRecord","Logger","name_","handlers_","ROOT_LOGGER_NAME","ENABLE_HIERARCHY","rootHandlers_","Level","SHOUT","SEVERE","WARNING","INFO","CONFIG","FINE","FINER","FINEST","PREDEFINED_LEVELS","predefinedLevelsCache_","createPredefinedLevelsCache_","getPredefinedLevel","getPredefinedLevelByValue","getLogger","LogManager","logToProfilers","msWriteProfilerMark","getName","addHandler","removeHandler","rootLevel_","getEffectiveLevel","isLoggable","doLogRecord_","getLogRecord","shout","severe","warning","info","fine","finer","finest","logRecord","callPublish_","setParent_","addChild_","loggers_","rootLogger_","initialize","getLoggers","getRoot","createLogger_","createFunctionForCatchErrors","StringBuffer","getLength","tree","BaseNode","config_","defaultConfig","html_","expanded_","selected_","toolTip_","afterLabelHtml_","isUserCollapsible_","depth_","BEFORE_EXPAND","EXPAND","BEFORE_COLLAPSE","COLLAPSE","allNodes","initAccessibility","getLabelElement","getDepth","getIconElement","getExpandIconElement","getChildrenElement","hasChildNodes","toSafeHtml","previousSibling_","nextSibling_","firstChild_","lastChild_","getTree","setTreeInternal","setDepth_","updateExpandIcon","getExpanded","setExpanded","onTimeoutSelect_","isLastSibling","getLastChild","updateIcon_","computeDepth_","getRowElement","getPixelIndent_","EMPTY_CHILDREN_","getFirstChild","getPreviousSibling","getNextSibling","deselect","setSelectedInternal","updateRow","setExpandedInternal","collapseChildren","collapseAll","expandChildren","expandAll","reveal","setIsUserCollapsible","isUserCollapsible","getShowLines","getShowRootLines","cssChildrenNoLines","cssChildren","getLineStyle","cssItem","getRowSafeHtml","indentWidth","getRowClassName","getExpandIconSafeHtml","getIconSafeHtml","getLabelSafeHtml","cssSelectedRow","cssTreeRow","cssItemLabel","getToolTip","getSafeHtml","getAfterLabelSafeHtml","getAfterLabelHtml","setAfterLabelSafeHtml","getAfterLabelElement","getCalculatedIconClass","getExpandIconClass","cssTreeIcon","cssExpandTreeIcon","getShowExpandIcons","cssExpandTreeIconPlus","cssExpandTreeIconMinus","cssExpandTreeIconL","cssExpandTreeIconLPlus","cssExpandTreeIconLMinus","cssExpandTreeIconT","cssExpandTreeIconTPlus","cssExpandTreeIconTMinus","cssExpandTreeIconBlank","background-position","getBackgroundPosition","setIconClass","iconClass_","getIconClass","setExpandedIconClass","expandedIconClass_","getExpandedIconClass","setText","setSafeHtml","setNode","getHtml","setToolTip","onMouseDown","onClick_","onDoubleClick_","onKeyDown","getShowRootNode","getNextShownNode","getPreviousShownNode","clearTypeAhead","getLastShownDescendant","getClientData","setClientData","getConfig","cssRoot","cssHideRoot","cssExpandedFolderIcon","cssCollapsedFolderIcon","cssFileIcon","cssExpandedRootIcon","cssCollapsedRootIcon","TreeNode","structs","Trie","childNodes_","setAll","setOrAdd_","getChildNode_","getKeyAndPrefixes","getValuesInternal_","getKeysInternal_","containsPrefix","TypeAhead","nodeMap_","matchingNodes_","matchingLabels_","matchingNodeIndex_","matchingLabelIndex_","Offset","handleNavigation","jumpTo_","jumpToLabel_","handleTypeAheadChar","setNodeInMap","removeNodeFromMap","selectMatchingNode_","TreeControl","typeAhead_","focusHandler_","logger_","focused_","focusedNode_","showRootLines_","showRootNode_","showExpandIcons_","showLines_","execCommand","handleFocus_","handleBlur_","setShowLines","updateLinesAndExpandIcons_","setShowRootLines","setShowExpandIcons","setShowRootNode","attachEvents_","detachEvents_","handleMouseEvent_","getNodeFromEvent_","createNode","looks","operators","more","toolboxHover","toolboxSelected","toolboxText","toolbox","scrollbar","scrollbarHover","textField","stackGlow","stackGlowOpacity","replacementGlow","replacementGlowOpacity","colourPickerStroke","dropDownShadow","numPadBackground","numPadBorder","numPadActiveBackground","numPadText","valueReportBackground","valueReportBorder","Touch","touchIdentifier_","TOUCH_MAP","mousedown","mousemove","mouseup","longPid_","longStart_","longStop_","handleRightClick","LONGPRESS","clearTouchIdentifier","shouldHandleEvent","isMouseOrTouchEvent","checkTouchIdentifier","getTouchIdentifierFromEvent","setClientFromTouch","splitEventByTouches","VariableModel","utils","genUid","Events","VarCreate","compareByName","VariableMap","variableMap_","renameVariable","getVariable","getVariablesOfType","createVariable","VarRename","VarDelete","getVariableById","deleteVariable","Names","getVariableTypes","getAllVariables","Workspace","WorkspaceDB_","horizontalLayout","toolboxPosition","topBlocks_","listeners_","tapListeners_","undoStack_","redoStack_","blockDB_","rendered","MAX_UNDO","SCAN_ANGLE","addTopBlock","isFlyout","Variables","allUsedVariables","removeTopBlock","getTopBlocks","getRelativeToSurfaceXY","getAllBlocks","getGroup","setGroup","DropDownDiv","hideWithoutAnimation","WidgetDiv","updateVariableStore","renameVariableInternal_","renameVar","renameVariableById","noVariableText","getVariableUses","getVars","getFieldValue","CANNOT_DELETE_VARIABLE_PROCEDURE","DELETE_VARIABLE_CONFIRMATION","deleteVariableInternal_","deleteVariableById","variableIndexOf","newBlock","undo","group","recordUndo","clearUndo","clearPendingUndo","hasRedoStack","hasUndoStack","addChangeListener","removeChangeListener","fireChangeListener","getBlockById","getFlyout","getWorkspace","allInputsFilled","Bubble","workspace_","shape_","ARROW_ANGLE","arrow_radians_","getBubbleCanvas","setAnchorLocation","getBBox","BORDER_WIDTH","setBubbleSize","positionBubble_","renderArrow_","rendered_","bindEventWithChecks_","bubbleBack_","bubbleMouseDown_","resizeGroup_","resizeMouseDown_","ARROW_THICKNESS","ARROW_BEND","ANCHOR_RADIUS","onMouseUpWrapper_","onMouseMoveWrapper_","resizeCallback_","unbindDragEvents_","unbindEvent_","bubbleMouseUp_","anchorXY_","relativeLeft_","relativeTop_","width_","height_","autoLayout_","bubbleGroup_","createSvgElement","embossFilterId","bubbleArrow_","rx","ry","points","x1","y1","x2","y2","promote_","isRightButton","isTargetInput","bubbleMouseMove_","hideChaff","moveDrag","resizeMouseMove_","registerResizeEvent","layoutBubble_","BlockSvg","MIN_BLOCK_Y","getMetrics","viewWidth","viewLeft","Scrollbar","scrollbarThickness","SEP_SPACE_X","viewTop","getBubbleSize","acos","setColour","Icon","block_","collapseHidden","SIZE","bubble_","iconXY_","createIcon","iconGroup_","isInFlyout","drawIcon_","getSvgRoot","iconClick_","updateEditable","updateColour","getColour","renderIcon","isCollapsed","computeIconLocation","setIconLocation","getRelativeXY","getIconLocation","Comment","text_","cx","cy","createEditor_","foreignObject_","createElementNS","HTML_NS","textarea_","textareaFocus_","BlockChange","resizeBubble_","Ui","isEditable","Warning","svgPath_","comment","Connection","sourceBlock_","connectionDBList","db_","dbOpposite_","OPPOSITE_TYPE","hidden_","CAN_CONNECT","REASON_SELF_CONNECTION","REASON_WRONG_TYPE","REASON_TARGET_NULL","REASON_CHECKS_FAILED","REASON_DIFFERENT_WORKSPACES","REASON_SHADOW_PARENT","targetConnection","check_","shadowDom_","x_","y_","inDB_","connect_","getSourceBlock","getFirstStatementConnection","isConnected","disconnect","targetBlock","getShadowDom","setShadowDom","isShadow","Xml","blockToDom","NEXT_STATEMENT","previousConnection","nextConnection","getNextBlock","checkType_","connect","outputConnection","bumpAwayFrom_","BUMP_DELAY","BlockMove","connectReciprocally_","recordNew","removeConnection_","isConnectedToNonInsertionMarker","isInsertionMarker","isSuperior","INPUT_VALUE","canConnectWithReason_","checkConnection_","canConnectToPrevious_","draggingConnections_","getPreviousBlock","isConnectionAllowed","PREVIOUS_STATEMENT","OUTPUT_VALUE","isMovable","singleConnection_","inputList","connection","disconnectInternal_","respawnShadow_","domToBlock","onCheckChanged_","unplug","setCheck","getOutputShape","OUTPUT_SHAPE_ROUND","OUTPUT_SHAPE_SQUARE","neighbours_","toDevString","ConnectionDB","addConnection","findPositionForConnection_","findConnection","getNeighbours","isInYRange_","searchForClosest","radius","distanceFrom","constants","DRAG_RADIUS","FLYOUT_DRAG_RADIUS","SNAP_RADIUS","CONNECTING_SNAP_RADIUS","CURRENT_CONNECTION_PREFERENCE","COLLAPSE_CHARS","SOUND_LIMIT","DRAG_STACK","HSV_SATURATION","HSV_VALUE","SPRITE","SVG_NS","DUMMY_INPUT","ALIGN_LEFT","ALIGN_CENTRE","ALIGN_RIGHT","DRAG_NONE","DRAG_STICKY","DRAG_BEGIN","DRAG_FREE","TOOLBOX_AT_TOP","TOOLBOX_AT_BOTTOM","TOOLBOX_AT_LEFT","TOOLBOX_AT_RIGHT","STACK_GLOW_RADIUS","REPLACEMENT_GLOW_RADIUS","sound","DELETE_AREA_NONE","DELETE_AREA_TRASH","DELETE_AREA_TOOLBOX","VARIABLE_CATEGORY_NAME","PROCEDURE_CATEGORY_NAME","RENAME_VARIABLE_ID","DELETE_VARIABLE_ID","NAME_TYPE","getDescendants","WorkspaceSvg","allVariables","createValueDom_","createShadowDom_","createVariableDom_","createTextDom_","createMathNumberDom_","generateUniqueName","promptName","NEW_VARIABLE_TITLE","VARIABLE_ALREADY_EXISTS","Procedures","isNameUsed","setCheckboxState","PROCEDURE_ALREADY_EXISTS","RENAME_VARIABLE_TITLE","VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE","prompt","RENAME_VARIABLE","NEW_VARIABLE","generateVariableFieldXml_","DataCategory","addCreateButton","addDataVariable","addSetVariableTo","addChangeVariableBy","addShowVariable","addHideVariable","addAddToList","addDeleteOfList","addInsertAtList","addReplaceItemOfList","addItemOfList","addLengthOfList","addListContainsItem","addShowList","addHideList","addBlock","getTargetWorkspace","NEW_LIST","registerButtonCallback","createValue","textToDom","DIV_","boundsElement_","owner_","ARROW_SIZE","BORDER_SIZE","ARROW_HORIZONTAL_PADDING","PADDING_Y","ANIMATION_TIME","animateOutTimer_","onHide_","arrow_","setBoundsElement","getContentDiv","clearContent","borderColor","setCategory","showPositionedByBlock","getParentSvg","getPositionMetrics","transform","arrowX","arrowY","arrowAtTop","initialX","initialY","finalX","finalY","hideIfOwner","group_","disabled_","CREATE","BLOCK_CREATE","BLOCK_DELETE","BLOCK_CHANGE","BLOCK_MOVE","VAR_CREATE","VAR_DELETE","VAR_RENAME","UI","FIRE_QUEUE_","fireNow_","workspaceId","blockId","newParentId","newInputName","newCoordinate","newValue","getDescendantIds_","fromJson","Create","Delete","Change","Move","Abstract","varId","toJson","getEventWorkspace_","blockToDomWithXY","ids","BlockCreate","domToText","domToWorkspace","oldXml","BlockDelete","oldValue","mutator","getField","callValidator","setCommentText","setCollapsed","setDisabled","setInputsInline","mutationToDom","domToMutation","currentLocation_","oldParentId","parentId","oldInputName","inputName","oldCoordinate","coordinate","getInputWithBlock","moveBy","getInput","varType","varName","oldName","newName","disableOrphans","RenderedConnection","offsetInBlock_","getRootBlock","addSelect","removeSelect","moveTo","moveToOffset","setOffsetInBlock","tighten_","moveConnections_","highlight","NOTCH_PATH_LEFT","highlightedPath_","unhideAll","setHidden","getConnections_","unhighlight","hideAll","getIcons","updateDisabled","initSvg","bumpNeighbours_","InsertionMarkerManager","topBlock_","lastMarker_","lastOnStack_","firstMarker_","createMarkerBlock_","localConnection_","closestConnection_","wouldDeleteBlock_","markerConnection_","highlightingBlock_","highlightedBlock_","availableConnections_","initAvailableConnections_","wouldDeleteBlock","applyConnections","hidePreview_","connectionUiEffect","bringToFront","getCandidate_","shouldDelete_","shouldUpdatePreviews_","maybeHidePreview_","maybeShowPreview_","setInsertionMarker","lastConnectionInStack","local","getStartRadius_","shouldReplace_","isDeletable","showPreview_","highlightBlock_","connectMarker_","unhighlightBlock_","disconnectMarker_","highlightForReplacement","highlightShapeForInput","getMatchingConnection","positionNewBlock","BlockDragger","draggingBlock_","draggedConnectionManager_","deleteArea_","startXY_","dragIconData_","initIconData_","startWorkspace_","icon","startBlockDrag","setResizesEnabled","disconnectUiStop_","pixelsToWorkspaceUnits_","disconnectUiEffect","setDragging","moveToDragSurface_","toolbox_","addDeleteStyle","dragBlock","moveDuringDrag","dragIcons_","isDeleteArea","updateCursorDuringBlockDrag_","endBlockDrag","moveOffDragSurface_","maybeDeleteBlock_","fireMoveEvent_","scheduleSnapAndBump","removeDeleteStyle","setDeleteStyle","setOpen_","isMutator","parentWorkspace","WorkspaceDragger","startDragMetrics_","startScrollXY_","unselect","setupDragSurface","drag","resetDragSurface","contentLeft","contentTop","contentWidth","viewHeight","contentHeight","updateScroll_","FlyoutDragger","scrollbar_","horizontalLayout_","blocked_","LIMIT","mouseOutPid_","showPid_","lastX_","lastY_","poisonedElement_","OFFSET_X","OFFSET_Y","RADIUS_OK","HOVER_MS","MARGINS","bindMouseEvents","bindEvent_","onMouseOver_","onMouseOut_","onMouseMove_","tooltip","show_","unblock","Gesture","mouseDownXY_","currentDragDeltaXY_","targetBlock_","startBlock_","startField_","creatorWorkspace_","isDraggingBlock_","isDraggingWorkspace_","hasExceededDragRadius_","mostRecentEvent_","flyout_","workspaceDragger_","blockDragger_","onUpWrapper_","onMoveWrapper_","shouldDuplicateOnDrag_","isEnding_","hasStarted_","calledUpdateIsDragging_","clearGesture","updateFromEvent_","updateDragDelta_","updateIsDragging_","updateIsDraggingFromFlyout_","isDragTowardWorkspace","targetWorkspace_","updateScreenCalculationsIfScrolled","createBlock","updateIsDraggingBlock_","startDraggingBlock_","updateIsDraggingWorkspace_","isDraggable","duplicateOnDrag_","doStart","resize","markFocused","handleMove","handleUp","isFieldClick_","doFieldClick_","isBlockClick_","doBlockClick_","isWorkspaceClick_","doWorkspaceClick_","bringBlockToFront_","showContextMenu_","handleWsStart","setStartWorkspace_","handleFlyoutStart","setStartFlyout_","handleBlockStart","setStartBlock","showEditor_","autoClose","setStartField","isShadowArgumentReporter","setTargetBlock_","isCurrentlyEditable","hasStarted","forceStartBlockDrag","setShadow","noEvent","XY_REGEX_","XY_2D_REGEX_","XY_3D_REGEX_","getInjectionDivXY_","getScale_","REGEXP_","getScale_REGEXP_","mouseToSvg","createSVGPoint","getScreenCTM","inverse","matrixTransform","shortestStringLength","commonWordPrefix","commonWordSuffix","tokenizeInterpolation","tokenizeInterpolation_","replaceMessageReferences","checkMessageReferences","soup_","wrapLine_","wrapMutate_","wrapScore_","wrapToText_","measureText","font","encodeEntities","is3dSupported","cached_","webkitTransform","OTransform","msTransform","MozTransform","insertAfter_","runAfterPageLoad","setCssTransform","changeObscuredShadowIds","Grid","gridPattern_","spacing_","spacing","length_","line2_","line1_","snapToGrid_","snap","scale_","shouldSnap","getSpacing","getPatternId","setLineAttributes_","patternUnits","stroke","Options","defaultToolbox","parseToolboxTree","comments","rtl","oneBasedIndex","realtime","realtimeOptions","hasCategories","hasScrollbars","hasTrashcan","hasSounds","hasCss","languageTree","gridOptions","parseGridOptions_","zoomOptions","parseZoomOptions_","enableRealtime","setMetrics","maxScale","minScale","scaleSpeed","grid","XSLTProcessor","ScrollbarPair","hScroll","vScroll","corner_","oldHostMetrics_","absoluteTop","absoluteLeft","position_","ratio_","scrollViewSize_","getRatio_","setHandlePosition","pair_","horizontal_","svgBackground_","outerSvg_","svgHandle_","lengthAttribute_","positionAttribute_","onMouseDownBarWrapper_","onMouseDownBar_","onMouseDownHandleWrapper_","onMouseDownHandle_","origin_","originHasChanged_","handleLength_","handlePosition_","isVisible_","containerVisible_","metricsAreEquivalent_","cleanUp_","svgGroup_","setHandleLength_","setScrollViewSize_","setContainerVisible","resizeHorizontal_","resizeVertical_","resizeViewHorizontal","resizeContentHorizontal","constrainHandle_","resizeViewVertical","resizeContentVertical","updateDisplay_","getInverseScreenCTM","startDragHandle","startDragMouse","onMouseUpHandle_","onMouseMoveHandle_","setOrigin","Trashcan","WIDTH_","BODY_HEIGHT_","LID_HEIGHT_","MARGIN_BOTTOM_","MARGIN_SIDE_","MARGIN_HOTSPOT_","SPRITE_LEFT_","SPRITE_TOP_","svgLid_","lidTask_","lidOpen_","left_","top_","clip-path","setAttributeNS","animateLid_","bottom_","flyoutWidth","flyoutHeight","getClientRect","startScrollX","startScrollY","WorkspaceAudio","parentWorkspace_","SOUNDS_","lastSound_","Audio","canPlayType","preload","volume","getAudioManager","WorkspaceDragSurfaceSvg","container_","SVG_","dragGroup_","xmlns","xmlns:html","xmlns:xlink","translateSurface","getSurfaceTranslation","clearAndHide","setContentsAndShow","workspaceToDom","variablesToDom","hasAttributes","fieldRow","EDITABLE","FieldVariable","FieldVariableGetter","getCommentText","cloneShadow_","inputsInlineDefault","XMLSerializer","serializeToString","domToPrettyText","Field","startCache","setBulkUpdate","domToVariables","stopCache","appendDomToWorkspace","TAB_WIDTH","getBlocksBoundingBox","SEP_SPACE_Y","domToBlockHeadless_","setConnectionsHidden","resizeContents","setDeletable","setMovable","setEditable","deleteNext","ZoomControls","ZOOM_IN_PATH_","ZOOM_OUT_PATH_","ZOOM_RESET_PATH_","HEIGHT_","MARGIN_BETWEEN_","setScale","scrollCenter","zoomCenter","getTopLevelWorkspaceMetrics_","setTopLevelWorkspaceMetrics_","blockDragSurface_","workspaceDragSurface_","useWorkspaceDragSurface_","highlightedBlocks_","audioManager_","grid_","gridPattern","registerToolboxCategoryCallback","flyoutCategory","resizeHandlerWrapper_","resizesEnabled_","isBulkUpdating_","dragDeltaXY_","currentGesture_","isDragSurfaceActive_","lastRecordedPageScroll_","injectionDiv_","flyoutButtonCallbacks_","toolboxCategoryCallbacks_","inverseScreenCTM_","updateInverseScreenCTM","getSvgXY","getCanvas","getOriginOffsetInPixels","svgBlockCanvas_","getInjectionDiv","setResizeHandlerWrapper","fill","svgBubbleCanvas_","addTrashcan_","addZoomControls_","onMouseDown_","onMouseWheel_","Toolbox","recordDeleteAreas","zoomControls_","addFlyout_","disabledPatternId","HorizontalFlyout","VerticalFlyout","updateScreenCalculations_","cachedParentSvg_","translateAndScaleGroup","HtmlDiv","traceOn","highlightBlock","glowBlock","setGlowBlock","glowStack","setGlowStack","reportValue","paste","refreshToolboxSelection_","refreshSelection","deleteAreaTrash_","deleteAreaToolbox_","getGesture","startDragMetrics","getBoundingRectangle","topLeft","bottomRight","cleanUp","snapToGrid","getHeightWidth","ContextMenu","wsUndoOption","wsRedoOption","wsCleanupOption","wsCollapseOption","wsExpandOption","buildDeleteList_","DELETE_BLOCK","DELETE_X_BLOCKS","DELETE_ALL_BLOCKS","updateToolbox","populate_","setBrowserFocus","getCTM","zoomToFit","updateStackGlowScale_","stackGlowBlur","svgSize","Flyout","CORNER_RADIUS","toolboxWidth","toolboxHeight","getButtonCallback","removeButtonCallback","getToolboxCategoryCallback","removeToolboxCategoryCallback","cancelCurrentGesture","startDragWithFakeEvent","getGrid","Mutator","quarkNames_","workspaceWidth_","workspaceHeight_","svgDialog_","getFlyoutMetrics_","dragSurface","getMetrics_","rootBlock_","decompose","saveConnections","sourceListener_","workspaceChanged_","reconnect","Extensions","ALL_","MUTATOR_PROPERTIES_","registerMixin","registerMutator","checkHasFunction_","checkMutatorDialog_","setMutator","checkNoMutatorProperties_","getMutatorProperties_","checkBlockHasMutatorProperties_","mutatorPropertiesMatch_","buildTooltipForDropdown","checkDropdownOptionsInTable_","setTooltip","isOptionListDynamic","getOptions","buildTooltipWithFieldValue","extensionParentTooltip_","tooltipWhenNotConnected_","getInputsInline","FIELD_WIDTH","FIELD_HEIGHT","setValidator","maxDisplayLength","MAX_DISPLAY_LENGTH","cacheWidths_","cacheReference_","className_","argType_","validator_","setSourceBlock","fieldGroup_","getArgTypes","textElement_","FIELD_TOP_PADDING","dominant-baseline","text-anchor","mouseDownWrapper_","getClickTarget_","initModel","cursor","CURSOR","addArgType","getValidator","classValidator","getDisplayText_","updateWidth","arrowWidth_","positionArrow","box_","getCachedWidth","EDITABLE_FIELD_PADDING","BOX_FIELD_PADDING","baseVal","getComputedTextLength","getScaledBBox_","updateTextNode_","getAbsoluteXY_","FieldLabel","class_","FieldLabelEditable","targetWorkspace","Input","align","appendField","insertFieldAt","prefixField","suffixField","removeField","setAlign","textToDom_","dy","body_","bodyFocus_","contextMenu","parentBlock_","childBlocks_","editable_","movable_","deletable_","checkboxInFlyout_","collapsed_","isShadow_","category_","outputShape_","xy_","isInMutator","isInsertionMarker_","onchange","setOnChange","colour_","colourSecondary_","colourTertiary_","onchangeWrapper_","getInputWithConnection","getSurroundParent","setHelpUrl","helpUrl","getColourSecondary","getColourTertiary","makeColour_","hueToRgb","setFieldValue","setPreviousStatement","makeConnection_","setNextStatement","setOutput","getInheritedDisabled","FieldDropdown","appendValueInput","appendInput_","appendStatementInput","appendDummyInput","setColourFromJson_","interpolate_","enableContextMenu","extensions","setOutputShape","checkboxInFlyout","setCheckboxInFlyout","setColourFromRawValues_","CENTRE","newFieldLabelFromJson_","newFieldLabelEditableFromJson_","newFieldTextInputFromJson_","FieldTextDropdown","spellcheck","setSpellcheck","FieldNumberDropdown","FieldAngle","FieldCheckbox","FieldColour","FieldColourSlider","newFieldVariableFromJson_","FieldIconMenu","newFieldImageFromJson_","FieldNumber","newFieldVariableGetterFromJson_","FieldDate","date","FieldImage","FieldTextInput","variable","variableTypes","moveInputBefore","moveNumberedInputBefore","removeInput","getInputTargetBlock","getCategory","hasCheckboxInFlyout","setWarningText","BlockDragSurfaceSvg","surfaceXY_","dragShadowFilterId_","SHADOW_STD_DEVIATION","createDropShadowDom_","stdDeviation","slope","in2","setBlocksAndShow","translateSurfaceInternal_","getCurrentBlock","currentBlock","eventWrapper_","callbackFactory","blockDeleteOption","blockHelpOption","showHelp_","blockDuplicateOption","DUPLICATE_BLOCK","duplicateAndDragCallback_","blockCommentOption","REMOVE_COMMENT","ADD_COMMENT","UNDO","REDO","CLEAN_UP","toggleCollapseFn_","COLLAPSE_ALL","EXPAND_ALL","inputShapes_","useDragSurface_","insertionMarkerMinWidth_","opacity_","dragStartXY_","isGlowingBlock_","isGlowingStack_","initInputShape","updateMovable","eventsInit_","clearTransformAttributes_","translate_","skew_","tab","customContextMenu","disposeUiEffect","translateX_","translateY_","bBox_","disposeUiStep_","pid_","dragMode_","GRID_UNIT","MIN_BLOCK_X","MIN_BLOCK_X_OUTPUT","MIN_BLOCK_X_SHADOW_OUTPUT","EXTRA_STATEMENT_ROW_Y","MIN_BLOCK_X_WITH_STATEMENT","MIN_BLOCK_Y_SINGLE_FIELD_OUTPUT","MIN_BLOCK_Y_REPORTER","MIN_STATEMENT_INPUT_HEIGHT","NOTCH_WIDTH","NOTCH_HEIGHT","STATEMENT_INPUT_EDGE_WIDTH","STATEMENT_INPUT_INNER_SPACE","START_HAT_HEIGHT","START_HAT_PATH","NOTCH_PATH_RIGHT","NOTCH_START_PADDING","TOP_LEFT_CORNER_START","TOP_LEFT_CORNER","TOP_RIGHT_CORNER","BOTTOM_RIGHT_CORNER","BOTTOM_LEFT_CORNER","INNER_TOP_LEFT_CORNER","INNER_BOTTOM_LEFT_CORNER","INPUT_SHAPE_HEXAGONAL","INPUT_SHAPE_HEXAGONAL_WIDTH","INPUT_SHAPE_SQUARE","INPUT_SHAPE_SQUARE_WIDTH","INPUT_SHAPE_ROUND","INPUT_SHAPE_ROUND_WIDTH","INPUT_SHAPE_HEIGHT","DROPDOWN_ARROW_PADDING","FIELD_WIDTH_MIN_EDIT","FIELD_WIDTH_MAX_EDIT","FIELD_HEIGHT_MAX_EDIT","NUMBER_FIELD_CORNER_RADIUS","TEXT_FIELD_CORNER_RADIUS","FIELD_DEFAULT_CORNER_RADIUS","INPUT_AND_FIELD_MIN_X","INLINE_PADDING_Y","FIELD_TEXTINPUT_FONTSIZE_INITIAL","FIELD_TEXTINPUT_FONTSIZE_FINAL","FIELD_TEXTINPUT_EXPAND_PAST_TRUNCATION","FIELD_TEXTINPUT_ANIMATE_POSITIONING","SHAPE_IN_SHAPE_PADDING","1","DEFINE_HAT_CORNER_RADIUS","TOP_LEFT_CORNER_DEFINE_HAT","TOP_RIGHT_CORNER_DEFINE_HAT","DEFINE_BLOCK_PADDING_RIGHT","DEFINE_BLOCK_TYPE","renderCompute_","renderDraw_","renderMoveConnections_","renderClassify_","resizeSvgContents","renderFields_","renderSep","renderWidth","getFlipRTL","rightEdge","bottomEdge","createRowForInput_","renderHeight","computeInputHeight_","computeInputWidth_","statementNotchAtBottom","fieldWidth","computeOutputPadding_","statementEdge","computeRightEdge_","hasValue","hasStatement","hasDummy","paddingStart","paddingEnd","squareTopLeftCorner_","startHat_","edgeShapeWidth_","edgeShape_","renderDrawTop_","renderDrawRight_","renderDrawBottom_","renderDrawLeft_","getAlignedCursor_","renderInputShape_","renderDefineBlock_","drawStatementInputFromTopRight_","drawEdgeShapeRight_","getInputShapeInfo_","argType","drawStatementInputTop_","drawStatementInputBottom_","getMsgOrig","blocklyMsgMap","Today","setRestrictor","TEXT_MEASURE_PADDING_MAGIC","spellcheck_","restrictor_","widgetDispose_","widgetDisposeAnimationFinished_","htmlInput_","arrowSize_","arrowY_","dropDownArrowMouseWrapper_","oldValue_","validate_","resizeEditor_","setSelectionRange","onKeyDownWrapper_","onHtmlInputKeyDown_","onKeyUpWrapper_","onHtmlInputChange_","onKeyPressWrapper_","onInputWrapper_","onWorkspaceChangeWrapper_","fontSize","boxShadow","GECKO_KEYCODE_WHITELIST","fontFamily","getBorderRadius","borderRadius","onFinishEditing_","numberValidator","nonnegativeIntegerValidator","symbol_","ROUND","HALF","OFFSET","WRAP","HANDLE_RADIUS","ARROW_WIDTH","RADIUS","CENTER_RADIUS","ARROW_SVG_PATH","dispose_","gauge_","mouseUpWrapper_","mouseMoveWrapper_","line_","handle_","arrowSvg_","updateGraph_","onMouseMove","onMouseUp","ownerSVGElement","atan","CHECK_CHAR","checkElement_","colours_","columns_","COLOURS","COLUMNS","setColours","setColumns","changeEventKey_","activateEyedropper_","EYEDROPPER_PATH","updateSliderHandles_","updateDom_","createColourStops_","setGradient_","hueSlider_","saturationSlider_","brightnessSlider_","hueReadout_","saturationReadout_","brightnessReadout_","createLabelDom_","sliderCallbackFactory_","activateEyedropperInternal_","hueChangeEventKey_","saturationChangeEventKey_","brightnessChangeEventKey_","eyedropperEventData_","menuGenerator_","trimOptions_","CHECKMARK_OVERHANG","selectedItem","imageElement_","imageJson_","arrowX_","fill-opacity","dropDownOpen_","Image","onItemSelected","onHide","disableColourChange_","savedPrimary_","icons_","DROPDOWN_WIDTH","arrowIcon_","setParentFieldImage","getSrcForValue","buttonClick_","FIELD_Y_OFFSET","flipRTL_","src_","showDropdown_","getOptions_","getNumRestrictor","DROPDOWN_Y_PADDING","NUMPAD_BUTTONS","NUMPAD_DELETE_ICON","activeField_","setConstraints_","decimalAllowed_","negativeAllowed_","showNumPad_","addButtons_","numPadButtonTouch","numPadEraseButtonTouch","selectionEnd","selectionStart","dropdownCreate","getVariableTypes_","DELETE_VARIABLE","Generator","FUNCTION_NAME_PLACEHOLDER_REGEXP_","FUNCTION_NAME_PLACEHOLDER_","INFINITE_LOOP_TRAP","STATEMENT_PREFIX","INDENT","COMMENT_WRAP","ORDER_OVERRIDES","workspaceToCode","getMainWorkspace","blockToCode","scrubNakedValue","prefixLines","allNestedComments","scrub_","valueToCode","statementToCode","addLoopTrap","RESERVED_WORDS_","addReservedWords","provideFunction_","definitions_","variableDB_","getDistinctName","functionNames_","variablePrefix_","reservedDict_","dbReverse_","safeName_","allProcedures","getProcedureDef","procTupleComparator_","localeCompare","findLegalName","isLegalName_","rename","renameProcedure","procedures_defnoreturn","PROCEDURES_DEFNORETURN_PROCEDURE","procedures_defreturn","PROCEDURES_DEFRETURN_PROCEDURE","procedures_report","getCallers","getProcedureCall","mutateCallers","getDefinition","editProcedureCallback_","procCode_","makeEditOption","EDIT_PROCEDURE","showProcedureDefCallback_","makeShowDefinitionOption","SHOW_PROCEDURE_DEFINITION","FlyoutButton","isLabel_","isCategoryLabel_","cssClass_","MARGIN","onMouseUp_","updateTransform_","getIsCategoryLabel","setMetrics_","toolboxPosition_","eventWrappers_","backgroundButtons_","buttons_","permanentlyDisabled_","scrollTarget","parentToolbox_","GAP_X","GAP_Y","SCROLLBAR_PADDING","contentWidth_","contentHeight_","verticalOffset_","dragAngleRange_","scrollAnimationFraction","wheel_","setParentToolbox","DEFAULT_WIDTH","reflowWrapper_","clearOldBlocks_","layout_","recordCategoryScrollPositions_","categoryScrollPositions","categoryName","selectCategoryByScrollPosition","selectCategoryByName","stepScrollAnimation","addBlockListeners_","blockMouseDown_","placeNewBlock_","reflowInternal_","setBackgroundPath_","scrollToStart","deltaMode","flyoutRect_","checkboxes_","CHECKBOX_SIZE","CHECKMARK_PATH","CHECKBOX_CORNER_RADIUS","CHECKBOX_MARGIN","CHECKBOX_SPACE_X","defs_","clipRect_","flyoutCheckbox","svgRoot","checkboxClicked_","createCheckbox_","createRect_","getCheckboxState","clicked","iconic_","createFlyout_","categoryMenu_","CategoryMenu","lastCategory_","populate","showAll_","categories_","getContents","clearSelection","scrollToCategoryByName","setSelectedCategoryByName","setSelectedItemFactory","parentHtml_","Category","custom_","contents_","parseContents_","item_","label_","secondaryColour_","hasColours_","Css","Cursor","CLOSED","currentCursor_","styleSheet_","mediaPath_","CSS","sheet","setCursor","disposeAnimationFinished_","disposeAnimationTimer_","disposeAnimationTimerLength_","hideAndClearDom_","createMainWorkspace_","init_","svgResize","tableValues","flood-color","flood-opacity","bindDocumentEvents_","loadSounds_","documentEventsBound_","onKeyDown_","goog.DEBUG","clipboardXml_","clipboardSource_","cache3dSupported_","cachedWidth_","cachedHeight_","copy_","duplicate_","onContextMenu_","jsonInitFactory_","defineBlocksWithJsonArray","colour_picker","math_number","math_integer","math_whole_number","math_positive_number","math_angle","texts","ScratchBlocks","VerticalExtensions","colourHelper","COLOUR_TEXTFIELD","SHAPE_STATEMENT","SHAPE_HAT","SHAPE_END","OUTPUT_NUMBER","OUTPUT_STRING","OUTPUT_BOOLEAN","PROCEDURE_DEF_CONTEXTMENU","PROCEDURE_CALL_CONTEXTMENU","registerAll","control_forever","control_repeat","control_if","control_if_else","message3","args3","control_stop","control_wait","control_wait_until","control_repeat_until","control_start_as_clone","control_create_clone_of_menu","control_create_clone_of","control_delete_this_clone","Constants","data_variable","lastDummyAlign0","data_setvariableto","data_changevariableby","data_listcontents","data_listindexall","data_listindexrandom","data_addtolist","data_deleteoflist","data_insertatlist","data_replaceitemoflist","data_itemoflist","data_lengthoflist","data_listcontainsitem","data_showlist","data_hidelist","CUSTOM_CONTEXT_MENU_GET_VARIABLE_MIXIN","RENAME_OPTION_CALLBACK_FACTORY","DELETE_OPTION_CALLBACK_FACTORY","VARIABLE_OPTION_CALLBACK_FACTORY","renameVariablePrompt","event_whenflagclicked","event_whenthisspriteclicked","event_whenbroadcastreceived","event_whenbackdropswitchesto","event_whengreaterthan","event_broadcast_menu","event_broadcast","event_broadcastandwait","event_whenkeypressed","looks_sayforsecs","looks_say","looks_thinkforsecs","looks_think","looks_show","looks_hide","looks_effect_menu_options","looks_changeeffectby","looks_seteffectto","looks_cleargraphiceffects","looks_changesizeby","looks_setsizeto","looks_size","looks_costume","looks_switchcostumeto","looks_nextcostume","looks_switchbackdropto","looks_backdrops","looks_gotofront","looks_gobacklayers","looks_backdropname","looks_costumeorder","looks_backdroporder","looks_switchbackdroptoandwait","looks_nextbackdrop","motion_movesteps","motion_turnright","motion_turnleft","motion_pointindirection","motion_pointtowards_menu","motion_pointtowards","motion_goto_menu","motion_gotoxy","motion_goto","motion_glidesecstoxy","motion_glideto_menu","motion_glideto","motion_changexby","motion_setx","motion_changeyby","motion_sety","motion_ifonedgebounce","motion_setrotationstyle","motion_xposition","motion_yposition","motion_direction","operator_add","operator_subtract","operator_multiply","operator_divide","operator_random","operator_lt","operator_equals","operator_gt","operator_and","operator_or","operator_not","operator_join","operator_letter_of","operator_length","operator_contains","operator_mod","operator_round","operator_mathop","pen_clear","pen_stamp","pen_pendown","pen_penup","pen_setpencolortocolor","pen_changepencolorby","pen_setpencolortonum","pen_changepenshadeby","pen_setpenshadeto","pen_changepensizeby","pen_setpensizeto","pen_changepentransparencyby","pen_setpentransparencyto","procedures","procedures_callnoreturn","_updateDisplay","procedures_callnoreturn_internal","argumentNames_","argumentDefaults_","warp_","procedures_param","_paramName","_shape","argument_reporter_boolean","argument_reporter_string_number","sensing_touchingobject","sensing_touchingobjectmenu","sensing_touchingcolor","sensing_coloristouchingcolor","sensing_distanceto","sensing_distancetomenu","sensing_askandwait","sensing_answer","sensing_keypressed","sensing_keyoptions","sensing_mousedown","sensing_mousex","sensing_mousey","sensing_loudness","sensing_videoon","sensing_videoonmenuone","sensing_videoonmenutwo","sensing_videotoggle","sensing_videotogglemenu","sensing_setvideotransparency","sensing_timer","sensing_resettimer","sensing_of_property_menu","sensing_of_object_menu","sensing_of","sensing_current","sensing_currentmenu","sensing_dayssince2000","sensing_username","sound_sounds_menu","sound_play","sound_playuntildone","sound_stopallsounds","sound_drums_menu","sound_playdrumforbeats","sound_restforbeats","sound_playnoteforbeats","sound_effects_menu_options","sound_seteffectto","sound_changeeffectby","sound_cleareffects","sound_instruments_menu","sound_setinstrumentto","sound_changevolumeby","sound_setvolumeto","sound_volume","sound_changetempoby","sound_settempotobpm","sound_tempo","CHANGE_VALUE_TITLE","COLLAPSE_BLOCK","COLOUR_BLEND_COLOUR1","COLOUR_BLEND_COLOUR2","COLOUR_BLEND_HELPURL","COLOUR_BLEND_RATIO","COLOUR_BLEND_TITLE","COLOUR_BLEND_TOOLTIP","COLOUR_PICKER_HELPURL","COLOUR_PICKER_TOOLTIP","COLOUR_RANDOM_HELPURL","COLOUR_RANDOM_TITLE","COLOUR_RANDOM_TOOLTIP","COLOUR_RGB_BLUE","COLOUR_RGB_GREEN","COLOUR_RGB_HELPURL","COLOUR_RGB_RED","COLOUR_RGB_TITLE","COLOUR_RGB_TOOLTIP","CONTROLS_FLOW_STATEMENTS_HELPURL","CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK","CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE","CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK","CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE","CONTROLS_FLOW_STATEMENTS_WARNING","CONTROLS_FOREACH_HELPURL","CONTROLS_FOREACH_TITLE","CONTROLS_FOREACH_TOOLTIP","CONTROLS_FOR_HELPURL","CONTROLS_FOR_TITLE","CONTROLS_FOR_TOOLTIP","CONTROLS_IF_ELSEIF_TOOLTIP","CONTROLS_IF_ELSE_TOOLTIP","CONTROLS_IF_HELPURL","CONTROLS_IF_IF_TOOLTIP","CONTROLS_IF_MSG_ELSE","CONTROLS_IF_MSG_ELSEIF","CONTROLS_IF_MSG_IF","CONTROLS_IF_TOOLTIP_1","CONTROLS_IF_TOOLTIP_2","CONTROLS_IF_TOOLTIP_3","CONTROLS_IF_TOOLTIP_4","CONTROLS_REPEAT_HELPURL","CONTROLS_REPEAT_INPUT_DO","CONTROLS_REPEAT_TITLE","CONTROLS_REPEAT_TOOLTIP","CONTROLS_WHILEUNTIL_HELPURL","CONTROLS_WHILEUNTIL_OPERATOR_UNTIL","CONTROLS_WHILEUNTIL_OPERATOR_WHILE","CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL","CONTROLS_WHILEUNTIL_TOOLTIP_WHILE","DISABLE_BLOCK","ENABLE_BLOCK","EXPAND_BLOCK","EXTERNAL_INPUTS","INLINE_INPUTS","LISTS_CREATE_EMPTY_HELPURL","LISTS_CREATE_EMPTY_TITLE","LISTS_CREATE_EMPTY_TOOLTIP","LISTS_CREATE_WITH_CONTAINER_TITLE_ADD","LISTS_CREATE_WITH_CONTAINER_TOOLTIP","LISTS_CREATE_WITH_HELPURL","LISTS_CREATE_WITH_INPUT_WITH","LISTS_CREATE_WITH_ITEM_TOOLTIP","LISTS_CREATE_WITH_TOOLTIP","LISTS_GET_INDEX_FIRST","LISTS_GET_INDEX_FROM_END","LISTS_GET_INDEX_FROM_START","LISTS_GET_INDEX_GET","LISTS_GET_INDEX_GET_REMOVE","LISTS_GET_INDEX_LAST","LISTS_GET_INDEX_RANDOM","LISTS_GET_INDEX_REMOVE","LISTS_GET_INDEX_TAIL","LISTS_GET_INDEX_TOOLTIP_GET_FIRST","LISTS_GET_INDEX_TOOLTIP_GET_FROM","LISTS_GET_INDEX_TOOLTIP_GET_LAST","LISTS_GET_INDEX_TOOLTIP_GET_RANDOM","LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST","LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM","LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST","LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM","LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST","LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM","LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST","LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM","LISTS_GET_SUBLIST_END_FROM_END","LISTS_GET_SUBLIST_END_FROM_START","LISTS_GET_SUBLIST_END_LAST","LISTS_GET_SUBLIST_HELPURL","LISTS_GET_SUBLIST_START_FIRST","LISTS_GET_SUBLIST_START_FROM_END","LISTS_GET_SUBLIST_START_FROM_START","LISTS_GET_SUBLIST_TAIL","LISTS_GET_SUBLIST_TOOLTIP","LISTS_INDEX_FROM_END_TOOLTIP","LISTS_INDEX_FROM_START_TOOLTIP","LISTS_INDEX_OF_FIRST","LISTS_INDEX_OF_HELPURL","LISTS_INDEX_OF_LAST","LISTS_INDEX_OF_TOOLTIP","LISTS_INLIST","LISTS_ISEMPTY_HELPURL","LISTS_ISEMPTY_TITLE","LISTS_ISEMPTY_TOOLTIP","LISTS_LENGTH_HELPURL","LISTS_LENGTH_TITLE","LISTS_LENGTH_TOOLTIP","LISTS_REPEAT_HELPURL","LISTS_REPEAT_TITLE","LISTS_REPEAT_TOOLTIP","LISTS_SET_INDEX_HELPURL","LISTS_SET_INDEX_INPUT_TO","LISTS_SET_INDEX_INSERT","LISTS_SET_INDEX_SET","LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST","LISTS_SET_INDEX_TOOLTIP_INSERT_FROM","LISTS_SET_INDEX_TOOLTIP_INSERT_LAST","LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM","LISTS_SET_INDEX_TOOLTIP_SET_FIRST","LISTS_SET_INDEX_TOOLTIP_SET_FROM","LISTS_SET_INDEX_TOOLTIP_SET_LAST","LISTS_SET_INDEX_TOOLTIP_SET_RANDOM","LISTS_SORT_HELPURL","LISTS_SORT_ORDER_ASCENDING","LISTS_SORT_ORDER_DESCENDING","LISTS_SORT_TITLE","LISTS_SORT_TOOLTIP","LISTS_SORT_TYPE_IGNORECASE","LISTS_SORT_TYPE_NUMERIC","LISTS_SORT_TYPE_TEXT","LISTS_SPLIT_HELPURL","LISTS_SPLIT_LIST_FROM_TEXT","LISTS_SPLIT_TEXT_FROM_LIST","LISTS_SPLIT_TOOLTIP_JOIN","LISTS_SPLIT_TOOLTIP_SPLIT","LISTS_SPLIT_WITH_DELIMITER","LOGIC_BOOLEAN_FALSE","LOGIC_BOOLEAN_HELPURL","LOGIC_BOOLEAN_TOOLTIP","LOGIC_BOOLEAN_TRUE","LOGIC_COMPARE_HELPURL","LOGIC_COMPARE_TOOLTIP_EQ","LOGIC_COMPARE_TOOLTIP_GT","LOGIC_COMPARE_TOOLTIP_GTE","LOGIC_COMPARE_TOOLTIP_LT","LOGIC_COMPARE_TOOLTIP_LTE","LOGIC_COMPARE_TOOLTIP_NEQ","LOGIC_NEGATE_HELPURL","LOGIC_NEGATE_TITLE","LOGIC_NEGATE_TOOLTIP","LOGIC_NULL","LOGIC_NULL_HELPURL","LOGIC_NULL_TOOLTIP","LOGIC_OPERATION_AND","LOGIC_OPERATION_HELPURL","LOGIC_OPERATION_OR","LOGIC_OPERATION_TOOLTIP_AND","LOGIC_OPERATION_TOOLTIP_OR","LOGIC_TERNARY_CONDITION","LOGIC_TERNARY_HELPURL","LOGIC_TERNARY_IF_FALSE","LOGIC_TERNARY_IF_TRUE","LOGIC_TERNARY_TOOLTIP","MATH_ADDITION_SYMBOL","MATH_ARITHMETIC_HELPURL","MATH_ARITHMETIC_TOOLTIP_ADD","MATH_ARITHMETIC_TOOLTIP_DIVIDE","MATH_ARITHMETIC_TOOLTIP_MINUS","MATH_ARITHMETIC_TOOLTIP_MULTIPLY","MATH_ARITHMETIC_TOOLTIP_POWER","MATH_CHANGE_HELPURL","MATH_CHANGE_TITLE","MATH_CHANGE_TOOLTIP","MATH_CONSTANT_HELPURL","MATH_CONSTANT_TOOLTIP","MATH_CONSTRAIN_HELPURL","MATH_CONSTRAIN_TITLE","MATH_CONSTRAIN_TOOLTIP","MATH_DIVISION_SYMBOL","MATH_IS_DIVISIBLE_BY","MATH_IS_EVEN","MATH_IS_NEGATIVE","MATH_IS_ODD","MATH_IS_POSITIVE","MATH_IS_PRIME","MATH_IS_TOOLTIP","MATH_IS_WHOLE","MATH_MODULO_HELPURL","MATH_MODULO_TITLE","MATH_MODULO_TOOLTIP","MATH_MULTIPLICATION_SYMBOL","MATH_NUMBER_HELPURL","MATH_NUMBER_TOOLTIP","MATH_ONLIST_HELPURL","MATH_ONLIST_OPERATOR_AVERAGE","MATH_ONLIST_OPERATOR_MAX","MATH_ONLIST_OPERATOR_MEDIAN","MATH_ONLIST_OPERATOR_MIN","MATH_ONLIST_OPERATOR_MODE","MATH_ONLIST_OPERATOR_RANDOM","MATH_ONLIST_OPERATOR_STD_DEV","MATH_ONLIST_OPERATOR_SUM","MATH_ONLIST_TOOLTIP_AVERAGE","MATH_ONLIST_TOOLTIP_MAX","MATH_ONLIST_TOOLTIP_MEDIAN","MATH_ONLIST_TOOLTIP_MIN","MATH_ONLIST_TOOLTIP_MODE","MATH_ONLIST_TOOLTIP_RANDOM","MATH_ONLIST_TOOLTIP_STD_DEV","MATH_ONLIST_TOOLTIP_SUM","MATH_POWER_SYMBOL","MATH_RANDOM_FLOAT_HELPURL","MATH_RANDOM_FLOAT_TITLE_RANDOM","MATH_RANDOM_FLOAT_TOOLTIP","MATH_RANDOM_INT_HELPURL","MATH_RANDOM_INT_TITLE","MATH_RANDOM_INT_TOOLTIP","MATH_ROUND_HELPURL","MATH_ROUND_OPERATOR_ROUND","MATH_ROUND_OPERATOR_ROUNDDOWN","MATH_ROUND_OPERATOR_ROUNDUP","MATH_ROUND_TOOLTIP","MATH_SINGLE_HELPURL","MATH_SINGLE_OP_ABSOLUTE","MATH_SINGLE_OP_ROOT","MATH_SINGLE_TOOLTIP_ABS","MATH_SINGLE_TOOLTIP_EXP","MATH_SINGLE_TOOLTIP_LN","MATH_SINGLE_TOOLTIP_LOG10","MATH_SINGLE_TOOLTIP_NEG","MATH_SINGLE_TOOLTIP_POW10","MATH_SINGLE_TOOLTIP_ROOT","MATH_SUBTRACTION_SYMBOL","MATH_TRIG_ACOS","MATH_TRIG_ASIN","MATH_TRIG_ATAN","MATH_TRIG_COS","MATH_TRIG_HELPURL","MATH_TRIG_SIN","MATH_TRIG_TAN","MATH_TRIG_TOOLTIP_ACOS","MATH_TRIG_TOOLTIP_ASIN","MATH_TRIG_TOOLTIP_ATAN","MATH_TRIG_TOOLTIP_COS","MATH_TRIG_TOOLTIP_SIN","MATH_TRIG_TOOLTIP_TAN","ORDINAL_NUMBER_SUFFIX","PROCEDURES_ALLOW_STATEMENTS","PROCEDURES_BEFORE_PARAMS","PROCEDURES_CALLNORETURN_HELPURL","PROCEDURES_CALLNORETURN_TOOLTIP","PROCEDURES_CALLRETURN_HELPURL","PROCEDURES_CALLRETURN_TOOLTIP","PROCEDURES_CALL_BEFORE_PARAMS","PROCEDURES_CREATE_DO","PROCEDURES_DEFNORETURN_COMMENT","PROCEDURES_DEFNORETURN_DO","PROCEDURES_DEFNORETURN_HELPURL","PROCEDURES_DEFNORETURN_TITLE","PROCEDURES_DEFNORETURN_TOOLTIP","PROCEDURES_DEFRETURN_HELPURL","PROCEDURES_DEFRETURN_RETURN","PROCEDURES_DEFRETURN_TOOLTIP","PROCEDURES_DEF_DUPLICATE_WARNING","PROCEDURES_HIGHLIGHT_DEF","PROCEDURES_IFRETURN_HELPURL","PROCEDURES_IFRETURN_TOOLTIP","PROCEDURES_IFRETURN_WARNING","PROCEDURES_MUTATORARG_TITLE","PROCEDURES_MUTATORARG_TOOLTIP","PROCEDURES_MUTATORCONTAINER_TITLE","PROCEDURES_MUTATORCONTAINER_TOOLTIP","TEXT_APPEND_APPENDTEXT","TEXT_APPEND_HELPURL","TEXT_APPEND_TO","TEXT_APPEND_TOOLTIP","TEXT_CHANGECASE_HELPURL","TEXT_CHANGECASE_OPERATOR_LOWERCASE","TEXT_CHANGECASE_OPERATOR_TITLECASE","TEXT_CHANGECASE_OPERATOR_UPPERCASE","TEXT_CHANGECASE_TOOLTIP","TEXT_CHARAT_FIRST","TEXT_CHARAT_FROM_END","TEXT_CHARAT_FROM_START","TEXT_CHARAT_HELPURL","TEXT_CHARAT_INPUT_INTEXT","TEXT_CHARAT_LAST","TEXT_CHARAT_RANDOM","TEXT_CHARAT_TAIL","TEXT_CHARAT_TOOLTIP","TEXT_CREATE_JOIN_ITEM_TOOLTIP","TEXT_CREATE_JOIN_TITLE_JOIN","TEXT_CREATE_JOIN_TOOLTIP","TEXT_GET_SUBSTRING_END_FROM_END","TEXT_GET_SUBSTRING_END_FROM_START","TEXT_GET_SUBSTRING_END_LAST","TEXT_GET_SUBSTRING_HELPURL","TEXT_GET_SUBSTRING_INPUT_IN_TEXT","TEXT_GET_SUBSTRING_START_FIRST","TEXT_GET_SUBSTRING_START_FROM_END","TEXT_GET_SUBSTRING_START_FROM_START","TEXT_GET_SUBSTRING_TAIL","TEXT_GET_SUBSTRING_TOOLTIP","TEXT_INDEXOF_HELPURL","TEXT_INDEXOF_INPUT_INTEXT","TEXT_INDEXOF_OPERATOR_FIRST","TEXT_INDEXOF_OPERATOR_LAST","TEXT_INDEXOF_TAIL","TEXT_INDEXOF_TOOLTIP","TEXT_ISEMPTY_HELPURL","TEXT_ISEMPTY_TITLE","TEXT_ISEMPTY_TOOLTIP","TEXT_JOIN_HELPURL","TEXT_JOIN_TITLE_CREATEWITH","TEXT_JOIN_TOOLTIP","TEXT_LENGTH_HELPURL","TEXT_LENGTH_TITLE","TEXT_LENGTH_TOOLTIP","TEXT_PRINT_HELPURL","TEXT_PRINT_TITLE","TEXT_PRINT_TOOLTIP","TEXT_PROMPT_HELPURL","TEXT_PROMPT_TOOLTIP_NUMBER","TEXT_PROMPT_TOOLTIP_TEXT","TEXT_PROMPT_TYPE_NUMBER","TEXT_PROMPT_TYPE_TEXT","TEXT_TEXT_HELPURL","TEXT_TEXT_TOOLTIP","TEXT_TRIM_HELPURL","TEXT_TRIM_OPERATOR_BOTH","TEXT_TRIM_OPERATOR_LEFT","TEXT_TRIM_OPERATOR_RIGHT","TEXT_TRIM_TOOLTIP","TODAY","VARIABLES_DEFAULT_NAME","VARIABLES_GET_CREATE_SET","VARIABLES_GET_HELPURL","VARIABLES_GET_TOOLTIP","VARIABLES_SET","VARIABLES_SET_CREATE_GET","VARIABLES_SET_HELPURL","VARIABLES_SET_TOOLTIP","MATH_CHANGE_TITLE_ITEM","PROCEDURES_DEFRETURN_TITLE","CONTROLS_IF_IF_TITLE_IF","CONTROLS_WHILEUNTIL_INPUT_DO","CONTROLS_IF_MSG_THEN","CONTROLS_IF_ELSE_TITLE_ELSE","LISTS_GET_SUBLIST_INPUT_IN_LIST","LISTS_GET_INDEX_INPUT_IN_LIST","PROCEDURES_DEFRETURN_DO","CONTROLS_IF_ELSEIF_TITLE_ELSEIF","LISTS_GET_INDEX_HELPURL","CONTROLS_FOREACH_INPUT_DO","LISTS_SET_INDEX_INPUT_IN_LIST","CONTROLS_FOR_INPUT_DO","LISTS_CREATE_WITH_ITEM_TITLE","TEXT_APPEND_VARIABLE","TEXT_CREATE_JOIN_ITEM_TITLE_ITEM","LISTS_INDEX_OF_INPUT_IN_LIST","PROCEDURES_DEFRETURN_COMMENT","SCRATCH_BLOCKS_event_whenflagclicked","SCRATCH_BLOCKS_control_repeat","SCRATCH_BLOCKS_control_repeat_until","SCRATCH_BLOCKS_control_if","SCRATCH_BLOCKS_control_if_else","SCRATCH_BLOCKS_control_if_else2","SCRATCH_BLOCKS_galaxy_move_forward","SCRATCH_BLOCKS_galaxy_move_forward_param","SCRATCH_BLOCKS_galaxy_jump","SCRATCH_BLOCKS_galaxy_wait","SCRATCH_BLOCKS_galaxy_disarm","SCRATCH_BLOCKS_galaxy_use","SCRATCH_BLOCKS_galaxy_turn_left","SCRATCH_BLOCKS_galaxy_turn_right","SCRATCH_BLOCKS_galaxy_predicate_finish","SCRATCH_BLOCKS_galaxy_predicate_road_left","SCRATCH_BLOCKS_galaxy_predicate_road_right","SCRATCH_BLOCKS_galaxy_predicate_road_forward","SCRATCH_BLOCKS_galaxy_predicate_hole_forward","SCRATCH_BLOCKS_galaxy_predicate_obstacle_forward","SCRATCH_BLOCKS_galaxy_repeat_until_finish","SCRATCH_BLOCKS_galaxy_turn_left_if_road_left","SCRATCH_BLOCKS_galaxy_turn_right_if_road_right","bannerComponent","bannerEl","closeButtonEl","modal","updateCounter","countdownComponent","counterEl","remainingTime","countdownTimer","fileInputComponent","initializeCustomFileInput","btn","customFileInput","filePreview","fileInput","arrowNavigationComponent","navbar","smoothScrollComponent","targetElId","navbarToggler","behaviour","voteModal","tooltipComponent","js","fjs","saveFacebookRoot","fbRoot","restoreFacebookRoot","FB","XFBML","zEACLoaded"],"mappings":"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","sourceRoot":"/assets","sourcesContent":["/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/main/actionview/app/assets/javascripts\nReleased under the MIT license\n */;\n\n(function() {\n var context = this;\n\n (function() {\n (function() {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form:not([data-turbo=true])',\n formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n\n }).call(this);\n }).call(context);\n\n var Rails = context.Rails;\n\n (function() {\n (function() {\n var nonce;\n\n nonce = null;\n\n Rails.loadCSPNonce = function() {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function() {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n\n }).call(this);\n (function() {\n var expando, m;\n\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function(element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) \u0026\u0026 !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function(element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function(element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n return element[expando][key] = value;\n };\n\n Rails.$ = function(selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n\n }).call(this);\n (function() {\n var $, csrfParam, csrfToken;\n\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta \u0026\u0026 meta.content;\n };\n\n csrfParam = Rails.csrfParam = function() {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta \u0026\u0026 meta.content;\n };\n\n Rails.CSRFProtection = function(xhr) {\n var token;\n token = csrfToken();\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function() {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n if ((token != null) \u0026\u0026 (param != null)) {\n return $('form input[name=\"' + param + '\"]').forEach(function(input) {\n return input.value = token;\n });\n }\n };\n\n }).call(this);\n (function() {\n var CustomEvent, fire, matches, preventDefault;\n\n matches = Rails.matches;\n\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n CustomEvent.prototype.preventDefault = function() {\n var result;\n result = preventDefault.call(this);\n if (this.cancelable \u0026\u0026 !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n }\n return result;\n };\n }\n\n fire = Rails.fire = function(obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function(e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function(element, selector, eventType, handler) {\n return element.addEventListener(eventType, function(e) {\n var target;\n target = e.target;\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n if (target instanceof Element \u0026\u0026 handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n\n }).call(this);\n (function() {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function(options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function() {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n if ((options.beforeSend != null) \u0026\u0026 !options.beforeSend(xhr, options)) {\n return false;\n }\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n if (options.type === 'GET' \u0026\u0026 options.data) {\n if (options.url.indexOf('?') \u003c 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '\u0026' + options.data;\n }\n }\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n options.accept = AcceptHeaders[options.dataType];\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n return options;\n };\n\n createXHR = function(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n CSRFProtection(xhr);\n }\n xhr.withCredentials = !!options.withCredentials;\n xhr.onreadystatechange = function() {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n return xhr;\n };\n\n processResponse = function(response, type) {\n var parser, script;\n if (typeof response === 'string' \u0026\u0026 typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n return response;\n };\n\n Rails.href = function(element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function(url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n try {\n urlAnchor.href = url;\n return !(((!urlAnchor.protocol || urlAnchor.protocol === ':') \u0026\u0026 !urlAnchor.host) || (originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host));\n } catch (error) {\n e = error;\n return true;\n }\n };\n\n }).call(this);\n (function() {\n var matches, toArray;\n\n matches = Rails.matches;\n\n toArray = function(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function(element, additionalParam) {\n var inputs, params;\n inputs = [element];\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n params = [];\n inputs.forEach(function(input) {\n if (!input.name || input.disabled) {\n return;\n }\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function(option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n if (additionalParam) {\n params.push(additionalParam);\n }\n return params.map(function(param) {\n if (param.name != null) {\n return (encodeURIComponent(param.name)) + \"=\" + (encodeURIComponent(param.value));\n } else {\n return param;\n }\n }).join('\u0026');\n };\n\n Rails.formElements = function(form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function(el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n\n }).call(this);\n (function() {\n var allowAction, fire, stopEverything;\n\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function(e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function(message, element) {\n return confirm(message);\n };\n\n allowAction = function(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n if (!message) {\n return true;\n }\n answer = false;\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n callback = fire(element, 'confirm:complete', [answer]);\n }\n return answer \u0026\u0026 callback;\n };\n\n }).call(this);\n (function() {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function(e) {\n var element;\n element = this;\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function(e) {\n var element;\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n element = e.target;\n } else {\n element = e;\n }\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function(e) {\n var element;\n element = e instanceof Event ? e.target : e;\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function(element) {\n var replacement;\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n replacement = element.getAttribute('data-disable-with');\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n setData(element, 'ujs:enable-with', null);\n }\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n\n }).call(this);\n (function() {\n var stopEverything;\n\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function(e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n if (!method) {\n return;\n }\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\u003cinput name='_method' value='\" + method + \"' type='hidden' /\u003e\";\n if ((csrfParam != null) \u0026\u0026 (csrfToken != null) \u0026\u0026 !Rails.isCrossDomain(href)) {\n formContent += \"\u003cinput name='\" + csrfParam + \"' value='\" + csrfToken + \"' type='hidden' /\u003e\";\n }\n formContent += '\u003cinput type=\"submit\" /\u003e';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n\n }).call(this);\n (function() {\n var ajax, fire, getData, isCrossDomain, isRemote, matches, serializeElement, setData, stopEverything,\n slice = [].slice;\n\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function(element) {\n var value;\n value = element.getAttribute('data-remote');\n return (value != null) \u0026\u0026 value !== 'false';\n };\n\n Rails.handleRemote = function(e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n if (!isRemote(element)) {\n return true;\n }\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function() {\n var args;\n args = 1 \u003c= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function() {\n var args;\n args = 1 \u003c= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function() {\n var args;\n args = 1 \u003c= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: (withCredentials != null) \u0026\u0026 withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function(e) {\n var button, form;\n button = this;\n form = button.form;\n if (!form) {\n return;\n }\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function(e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick \u0026\u0026 method === 'GET' \u0026\u0026 !data;\n nonPrimaryMouseClick = (e.button != null) \u0026\u0026 e.button !== 0;\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n\n }).call(this);\n (function() {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if ((typeof jQuery !== \"undefined\" \u0026\u0026 jQuery !== null) \u0026\u0026 (jQuery.ajax != null)) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function(options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function() {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n window.addEventListener('pageshow', function() {\n $(Rails.formEnableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function(el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function(e) {\n return setTimeout((function() {\n return disableElement(e);\n }), 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails \u0026\u0026 fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n\n }).call(this);\n }).call(this);\n\n if (typeof module === \"object\" \u0026\u0026 module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" \u0026\u0026 define.amd) {\n define(Rails);\n }\n}).call(this);\n(function(global, factory) {\n typeof exports === \"object\" \u0026\u0026 typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" \u0026\u0026 define.amd ? define([ \"exports\" ], factory) : factory(global.ActiveStorage = {});\n})(this, function(exports) {\n \"use strict\";\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n var sparkMd5 = createCommonjsModule(function(module, exports) {\n (function(factory) {\n {\n module.exports = factory();\n }\n })(function(undefined) {\n var hex_chr = [ \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\" ];\n function md5cycle(x, k) {\n var a = x[0], b = x[1], c = x[2], d = x[3];\n a += (b \u0026 c | ~b \u0026 d) + k[0] - 680876936 | 0;\n a = (a \u003c\u003c 7 | a \u003e\u003e\u003e 25) + b | 0;\n d += (a \u0026 b | ~a \u0026 c) + k[1] - 389564586 | 0;\n d = (d \u003c\u003c 12 | d \u003e\u003e\u003e 20) + a | 0;\n c += (d \u0026 a | ~d \u0026 b) + k[2] + 606105819 | 0;\n c = (c \u003c\u003c 17 | c \u003e\u003e\u003e 15) + d | 0;\n b += (c \u0026 d | ~c \u0026 a) + k[3] - 1044525330 | 0;\n b = (b \u003c\u003c 22 | b \u003e\u003e\u003e 10) + c | 0;\n a += (b \u0026 c | ~b \u0026 d) + k[4] - 176418897 | 0;\n a = (a \u003c\u003c 7 | a \u003e\u003e\u003e 25) + b | 0;\n d += (a \u0026 b | ~a \u0026 c) + k[5] + 1200080426 | 0;\n d = (d \u003c\u003c 12 | d \u003e\u003e\u003e 20) + a | 0;\n c += (d \u0026 a | ~d \u0026 b) + k[6] - 1473231341 | 0;\n c = (c \u003c\u003c 17 | c \u003e\u003e\u003e 15) + d | 0;\n b += (c \u0026 d | ~c \u0026 a) + k[7] - 45705983 | 0;\n b = (b \u003c\u003c 22 | b \u003e\u003e\u003e 10) + c | 0;\n a += (b \u0026 c | ~b \u0026 d) + k[8] + 1770035416 | 0;\n a = (a \u003c\u003c 7 | a \u003e\u003e\u003e 25) + b | 0;\n d += (a \u0026 b | ~a \u0026 c) + k[9] - 1958414417 | 0;\n d = (d \u003c\u003c 12 | d \u003e\u003e\u003e 20) + a | 0;\n c += (d \u0026 a | ~d \u0026 b) + k[10] - 42063 | 0;\n c = (c \u003c\u003c 17 | c \u003e\u003e\u003e 15) + d | 0;\n b += (c \u0026 d | ~c \u0026 a) + k[11] - 1990404162 | 0;\n b = (b \u003c\u003c 22 | b \u003e\u003e\u003e 10) + c | 0;\n a += (b \u0026 c | ~b \u0026 d) + k[12] + 1804603682 | 0;\n a = (a \u003c\u003c 7 | a \u003e\u003e\u003e 25) + b | 0;\n d += (a \u0026 b | ~a \u0026 c) + k[13] - 40341101 | 0;\n d = (d \u003c\u003c 12 | d \u003e\u003e\u003e 20) + a | 0;\n c += (d \u0026 a | ~d \u0026 b) + k[14] - 1502002290 | 0;\n c = (c \u003c\u003c 17 | c \u003e\u003e\u003e 15) + d | 0;\n b += (c \u0026 d | ~c \u0026 a) + k[15] + 1236535329 | 0;\n b = (b \u003c\u003c 22 | b \u003e\u003e\u003e 10) + c | 0;\n a += (b \u0026 d | c \u0026 ~d) + k[1] - 165796510 | 0;\n a = (a \u003c\u003c 5 | a \u003e\u003e\u003e 27) + b | 0;\n d += (a \u0026 c | b \u0026 ~c) + k[6] - 1069501632 | 0;\n d = (d \u003c\u003c 9 | d \u003e\u003e\u003e 23) + a | 0;\n c += (d \u0026 b | a \u0026 ~b) + k[11] + 643717713 | 0;\n c = (c \u003c\u003c 14 | c \u003e\u003e\u003e 18) + d | 0;\n b += (c \u0026 a | d \u0026 ~a) + k[0] - 373897302 | 0;\n b = (b \u003c\u003c 20 | b \u003e\u003e\u003e 12) + c | 0;\n a += (b \u0026 d | c \u0026 ~d) + k[5] - 701558691 | 0;\n a = (a \u003c\u003c 5 | a \u003e\u003e\u003e 27) + b | 0;\n d += (a \u0026 c | b \u0026 ~c) + k[10] + 38016083 | 0;\n d = (d \u003c\u003c 9 | d \u003e\u003e\u003e 23) + a | 0;\n c += (d \u0026 b | a \u0026 ~b) + k[15] - 660478335 | 0;\n c = (c \u003c\u003c 14 | c \u003e\u003e\u003e 18) + d | 0;\n b += (c \u0026 a | d \u0026 ~a) + k[4] - 405537848 | 0;\n b = (b \u003c\u003c 20 | b \u003e\u003e\u003e 12) + c | 0;\n a += (b \u0026 d | c \u0026 ~d) + k[9] + 568446438 | 0;\n a = (a \u003c\u003c 5 | a \u003e\u003e\u003e 27) + b | 0;\n d += (a \u0026 c | b \u0026 ~c) + k[14] - 1019803690 | 0;\n d = (d \u003c\u003c 9 | d \u003e\u003e\u003e 23) + a | 0;\n c += (d \u0026 b | a \u0026 ~b) + k[3] - 187363961 | 0;\n c = (c \u003c\u003c 14 | c \u003e\u003e\u003e 18) + d | 0;\n b += (c \u0026 a | d \u0026 ~a) + k[8] + 1163531501 | 0;\n b = (b \u003c\u003c 20 | b \u003e\u003e\u003e 12) + c | 0;\n a += (b \u0026 d | c \u0026 ~d) + k[13] - 1444681467 | 0;\n a = (a \u003c\u003c 5 | a \u003e\u003e\u003e 27) + b | 0;\n d += (a \u0026 c | b \u0026 ~c) + k[2] - 51403784 | 0;\n d = (d \u003c\u003c 9 | d \u003e\u003e\u003e 23) + a | 0;\n c += (d \u0026 b | a \u0026 ~b) + k[7] + 1735328473 | 0;\n c = (c \u003c\u003c 14 | c \u003e\u003e\u003e 18) + d | 0;\n b += (c \u0026 a | d \u0026 ~a) + k[12] - 1926607734 | 0;\n b = (b \u003c\u003c 20 | b \u003e\u003e\u003e 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a \u003c\u003c 4 | a \u003e\u003e\u003e 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d \u003c\u003c 11 | d \u003e\u003e\u003e 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c \u003c\u003c 16 | c \u003e\u003e\u003e 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b \u003c\u003c 23 | b \u003e\u003e\u003e 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a \u003c\u003c 4 | a \u003e\u003e\u003e 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d \u003c\u003c 11 | d \u003e\u003e\u003e 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c \u003c\u003c 16 | c \u003e\u003e\u003e 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b \u003c\u003c 23 | b \u003e\u003e\u003e 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a \u003c\u003c 4 | a \u003e\u003e\u003e 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d \u003c\u003c 11 | d \u003e\u003e\u003e 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c \u003c\u003c 16 | c \u003e\u003e\u003e 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b \u003c\u003c 23 | b \u003e\u003e\u003e 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a \u003c\u003c 4 | a \u003e\u003e\u003e 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d \u003c\u003c 11 | d \u003e\u003e\u003e 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c \u003c\u003c 16 | c \u003e\u003e\u003e 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b \u003c\u003c 23 | b \u003e\u003e\u003e 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a \u003c\u003c 6 | a \u003e\u003e\u003e 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d \u003c\u003c 10 | d \u003e\u003e\u003e 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c \u003c\u003c 15 | c \u003e\u003e\u003e 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b \u003c\u003c 21 | b \u003e\u003e\u003e 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a \u003c\u003c 6 | a \u003e\u003e\u003e 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d \u003c\u003c 10 | d \u003e\u003e\u003e 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c \u003c\u003c 15 | c \u003e\u003e\u003e 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b \u003c\u003c 21 | b \u003e\u003e\u003e 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a \u003c\u003c 6 | a \u003e\u003e\u003e 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d \u003c\u003c 10 | d \u003e\u003e\u003e 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c \u003c\u003c 15 | c \u003e\u003e\u003e 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b \u003c\u003c 21 | b \u003e\u003e\u003e 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a \u003c\u003c 6 | a \u003e\u003e\u003e 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d \u003c\u003c 10 | d \u003e\u003e\u003e 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c \u003c\u003c 15 | c \u003e\u003e\u003e 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b \u003c\u003c 21 | b \u003e\u003e\u003e 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [], i;\n for (i = 0; i \u003c 64; i += 4) {\n md5blks[i \u003e\u003e 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) \u003c\u003c 8) + (s.charCodeAt(i + 2) \u003c\u003c 16) + (s.charCodeAt(i + 3) \u003c\u003c 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [], i;\n for (i = 0; i \u003c 64; i += 4) {\n md5blks[i \u003e\u003e 2] = a[i] + (a[i + 1] \u003c\u003c 8) + (a[i + 2] \u003c\u003c 16) + (a[i + 3] \u003c\u003c 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i \u003c= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i \u003c length; i += 1) {\n tail[i \u003e\u003e 2] |= s.charCodeAt(i) \u003c\u003c (i % 4 \u003c\u003c 3);\n }\n tail[i \u003e\u003e 2] |= 128 \u003c\u003c (i % 4 \u003c\u003c 3);\n if (i \u003e 55) {\n md5cycle(state, tail);\n for (i = 0; i \u003c 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length, state = [ 1732584193, -271733879, -1732584194, 271733878 ], i, length, tail, tmp, lo, hi;\n for (i = 64; i \u003c= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n a = i - 64 \u003c n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n for (i = 0; i \u003c length; i += 1) {\n tail[i \u003e\u003e 2] |= a[i] \u003c\u003c (i % 4 \u003c\u003c 3);\n }\n tail[i \u003e\u003e 2] |= 128 \u003c\u003c (i % 4 \u003c\u003c 3);\n if (i \u003e 55) {\n md5cycle(state, tail);\n for (i = 0; i \u003c 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = \"\", j;\n for (j = 0; j \u003c 4; j += 1) {\n s += hex_chr[n \u003e\u003e j * 8 + 4 \u0026 15] + hex_chr[n \u003e\u003e j * 8 \u0026 15];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i \u003c x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join(\"\");\n }\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n if (typeof ArrayBuffer !== \"undefined\" \u0026\u0026 !ArrayBuffer.prototype.slice) {\n (function() {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val \u003c 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function(from, to) {\n var length = this.byteLength, begin = clamp(from, length), end = length, num, target, targetArray, sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin \u003e end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length, buff = new ArrayBuffer(length), arr = new Uint8Array(buff), i;\n for (i = 0; i \u003c length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [], length = hex.length, x;\n for (x = 0; x \u003c length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n function SparkMD5() {\n this.reset();\n }\n SparkMD5.prototype.append = function(str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n SparkMD5.prototype.appendBinary = function(contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length, i;\n for (i = 64; i \u003c= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n SparkMD5.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, i, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], ret;\n for (i = 0; i \u003c length; i += 1) {\n tail[i \u003e\u003e 2] |= buff.charCodeAt(i) \u003c\u003c (i % 4 \u003c\u003c 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.prototype.reset = function() {\n this._buff = \"\";\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.prototype.getState = function() {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n SparkMD5.prototype.setState = function(state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n SparkMD5.prototype.destroy = function() {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n SparkMD5.prototype._finish = function(tail, length) {\n var i = length, tmp, lo, hi;\n tail[i \u003e\u003e 2] |= 128 \u003c\u003c (i % 4 \u003c\u003c 3);\n if (i \u003e 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i \u003c 16; i += 1) {\n tail[i] = 0;\n }\n }\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n SparkMD5.hash = function(str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n SparkMD5.hashBinary = function(content, raw) {\n var hash = md51(content), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n SparkMD5.ArrayBuffer = function() {\n this.reset();\n };\n SparkMD5.ArrayBuffer.prototype.append = function(arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true), length = buff.length, i;\n this._length += arr.byteLength;\n for (i = 64; i \u003c= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 \u003c length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.end = function(raw) {\n var buff = this._buff, length = buff.length, tail = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], i, ret;\n for (i = 0; i \u003c length; i += 1) {\n tail[i \u003e\u003e 2] |= buff[i] \u003c\u003c (i % 4 \u003c\u003c 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n SparkMD5.ArrayBuffer.prototype.reset = function() {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [ 1732584193, -271733879, -1732584194, 271733878 ];\n return this;\n };\n SparkMD5.ArrayBuffer.prototype.getState = function() {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n SparkMD5.ArrayBuffer.prototype.setState = function(state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n SparkMD5.ArrayBuffer.hash = function(arr, raw) {\n var hash = md51_array(new Uint8Array(arr)), ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n });\n });\n var classCallCheck = function(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function() {\n function defineProperties(target, props) {\n for (var i = 0; i \u003c props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n var FileChecksum = function() {\n createClass(FileChecksum, null, [ {\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n } ]);\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n createClass(FileChecksum, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function(event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function(event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex \u003c this.chunkCount || this.chunkIndex == 0 \u0026\u0026 this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n } ]);\n return FileChecksum;\n }();\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n }\n function dispatchEvent(element, type) {\n var eventInit = arguments.length \u003e 2 \u0026\u0026 arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles, cancelable = eventInit.cancelable, detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n return event;\n }\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n var BlobRecord = function() {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobRecord, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status \u003e= 200 \u0026\u0026 this.status \u003c 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr, responseType = _xhr.responseType, response = _xhr.response;\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n } ]);\n return BlobRecord;\n }();\n var BlobUpload = function() {\n function BlobUpload(blob) {\n var _this = this;\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData, url = _blob$directUploadDat.url, headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n this.xhr.addEventListener(\"load\", function(event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function(event) {\n return _this.requestDidError(event);\n });\n }\n createClass(BlobUpload, [ {\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr, status = _xhr.status, response = _xhr.response;\n if (status \u003e= 200 \u0026\u0026 status \u003c 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n } ]);\n return BlobUpload;\n }();\n var id = 0;\n var DirectUpload = function() {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n createClass(DirectUpload, [ {\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n FileChecksum.create(this.file, function(error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function(error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function(error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n } ]);\n return DirectUpload;\n }();\n function notify(object, methodName) {\n if (object \u0026\u0026 typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len \u003e 2 ? _len - 2 : 0), _key = 2; _key \u003c _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n return object[methodName].apply(object, messages);\n }\n }\n var DirectUploadController = function() {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n createClass(DirectUploadController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function(error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n _this.dispatch(\"end\");\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length \u003e 1 \u0026\u0026 arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function(event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n } ]);\n return DirectUploadController;\n }();\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n var DirectUploadsController = function() {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function(input) {\n return input.files.length;\n });\n }\n createClass(DirectUploadsController, [ {\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n var controllers = this.createDirectUploadControllers();\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n if (controller) {\n controller.start(function(error) {\n if (error) {\n callback(error);\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n _this.dispatch(\"end\");\n }\n };\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function(input) {\n toArray$1(input.files).forEach(function(file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length \u003e 1 \u0026\u0026 arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n } ]);\n return DirectUploadsController;\n }();\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n function didClick(event) {\n var target = event.target;\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") \u0026\u0026 target.type == \"submit\" \u0026\u0026 target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function(error) {\n form.removeAttribute(processingAttribute);\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n if (button) {\n var _button = button, disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n submitButtonsByForm.delete(form);\n }\n function disable(input) {\n input.disabled = true;\n }\n function enable(input) {\n input.disabled = false;\n }\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});\n/*\nTurbolinks 5.2.0\nCopyright © 2018 Basecamp, LLC\n */\n(function(){var t=this;(function(){(function(){this.Turbolinks={supported:function(){return null!=window.history.pushState\u0026\u0026null!=window.requestAnimationFrame\u0026\u0026null!=window.addEventListener}(),visit:function(t,r){return e.controller.visit(t,r)},clearCache:function(){return e.controller.clearCache()},setProgressBarDelay:function(t){return e.controller.setProgressBarDelay(t)}}}).call(this)}).call(t);var e=t.Turbolinks;(function(){(function(){var t,r,n,o=[].slice;e.copyObject=function(t){var e,r,n;r={};for(e in t)n=t[e],r[e]=n;return r},e.closest=function(e,r){return t.call(e,r)},t=function(){var t,e;return t=document.documentElement,null!=(e=t.closest)?e:function(t){var e;for(e=this;e;){if(e.nodeType===Node.ELEMENT_NODE\u0026\u0026r.call(e,t))return e;e=e.parentNode}}}(),e.defer=function(t){return setTimeout(t,1)},e.throttle=function(t){var e;return e=null,function(){var r;return r=1\u003c=arguments.length?o.call(arguments,0):[],null!=e?e:e=requestAnimationFrame(function(n){return function(){return e=null,t.apply(n,r)}}(this))}},e.dispatch=function(t,e){var r,o,i,s,a,u;return a=null!=e?e:{},u=a.target,r=a.cancelable,o=a.data,i=document.createEvent(\"Events\"),i.initEvent(t,!0,r===!0),i.data=null!=o?o:{},i.cancelable\u0026\u0026!n\u0026\u0026(s=i.preventDefault,i.preventDefault=function(){return this.defaultPrevented||Object.defineProperty(this,\"defaultPrevented\",{get:function(){return!0}}),s.call(this)}),(null!=u?u:document).dispatchEvent(i),i},n=function(){var t;return t=document.createEvent(\"Events\"),t.initEvent(\"test\",!0,!0),t.preventDefault(),t.defaultPrevented}(),e.match=function(t,e){return r.call(t,e)},r=function(){var t,e,r,n;return t=document.documentElement,null!=(e=null!=(r=null!=(n=t.matchesSelector)?n:t.webkitMatchesSelector)?r:t.msMatchesSelector)?e:t.mozMatchesSelector}(),e.uuid=function(){var t,e,r;for(r=\"\",t=e=1;36\u003e=e;t=++e)r+=9===t||14===t||19===t||24===t?\"-\":15===t?\"4\":20===t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(15*Math.random()).toString(16);return r}}).call(this),function(){e.Location=function(){function t(t){var e,r;null==t\u0026\u0026(t=\"\"),r=document.createElement(\"a\"),r.href=t.toString(),this.absoluteURL=r.href,e=r.hash.length,2\u003ee?this.requestURL=this.absoluteURL:(this.requestURL=this.absoluteURL.slice(0,-e),this.anchor=r.hash.slice(1))}var e,r,n,o;return t.wrap=function(t){return t instanceof this?t:new this(t)},t.prototype.getOrigin=function(){return this.absoluteURL.split(\"/\",3).join(\"/\")},t.prototype.getPath=function(){var t,e;return null!=(t=null!=(e=this.requestURL.match(/\\/\\/[^\\/]*(\\/[^?;]*)/))?e[1]:void 0)?t:\"/\"},t.prototype.getPathComponents=function(){return this.getPath().split(\"/\").slice(1)},t.prototype.getLastPathComponent=function(){return this.getPathComponents().slice(-1)[0]},t.prototype.getExtension=function(){var t,e;return null!=(t=null!=(e=this.getLastPathComponent().match(/\\.[^.]*$/))?e[0]:void 0)?t:\"\"},t.prototype.isHTML=function(){return this.getExtension().match(/^(?:|\\.(?:htm|html|xhtml))$/)},t.prototype.isPrefixedBy=function(t){var e;return e=r(t),this.isEqualTo(t)||o(this.absoluteURL,e)},t.prototype.isEqualTo=function(t){return this.absoluteURL===(null!=t?t.absoluteURL:void 0)},t.prototype.toCacheKey=function(){return this.requestURL},t.prototype.toJSON=function(){return this.absoluteURL},t.prototype.toString=function(){return this.absoluteURL},t.prototype.valueOf=function(){return this.absoluteURL},r=function(t){return e(t.getOrigin()+t.getPath())},e=function(t){return n(t,\"/\")?t:t+\"/\"},o=function(t,e){return t.slice(0,e.length)===e},n=function(t,e){return t.slice(-e.length)===e},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.HttpRequest=function(){function r(r,n,o){this.delegate=r,this.requestCanceled=t(this.requestCanceled,this),this.requestTimedOut=t(this.requestTimedOut,this),this.requestFailed=t(this.requestFailed,this),this.requestLoaded=t(this.requestLoaded,this),this.requestProgressed=t(this.requestProgressed,this),this.url=e.Location.wrap(n).requestURL,this.referrer=e.Location.wrap(o).absoluteURL,this.createXHR()}return r.NETWORK_FAILURE=0,r.TIMEOUT_FAILURE=-1,r.timeout=60,r.prototype.send=function(){var t;return this.xhr\u0026\u0026!this.sent?(this.notifyApplicationBeforeRequestStart(),this.setProgress(0),this.xhr.send(),this.sent=!0,\"function\"==typeof(t=this.delegate).requestStarted?t.requestStarted():void 0):void 0},r.prototype.cancel=function(){return this.xhr\u0026\u0026this.sent?this.xhr.abort():void 0},r.prototype.requestProgressed=function(t){return t.lengthComputable?this.setProgress(t.loaded/t.total):void 0},r.prototype.requestLoaded=function(){return this.endRequest(function(t){return function(){var e;return 200\u003c=(e=t.xhr.status)\u0026\u0026300\u003ee?t.delegate.requestCompletedWithResponse(t.xhr.responseText,t.xhr.getResponseHeader(\"Turbolinks-Location\")):(t.failed=!0,t.delegate.requestFailedWithStatusCode(t.xhr.status,t.xhr.responseText))}}(this))},r.prototype.requestFailed=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.NETWORK_FAILURE)}}(this))},r.prototype.requestTimedOut=function(){return this.endRequest(function(t){return function(){return t.failed=!0,t.delegate.requestFailedWithStatusCode(t.constructor.TIMEOUT_FAILURE)}}(this))},r.prototype.requestCanceled=function(){return this.endRequest()},r.prototype.notifyApplicationBeforeRequestStart=function(){return e.dispatch(\"turbolinks:request-start\",{data:{url:this.url,xhr:this.xhr}})},r.prototype.notifyApplicationAfterRequestEnd=function(){return e.dispatch(\"turbolinks:request-end\",{data:{url:this.url,xhr:this.xhr}})},r.prototype.createXHR=function(){return this.xhr=new XMLHttpRequest,this.xhr.open(\"GET\",this.url,!0),this.xhr.timeout=1e3*this.constructor.timeout,this.xhr.setRequestHeader(\"Accept\",\"text/html, application/xhtml+xml\"),this.xhr.setRequestHeader(\"Turbolinks-Referrer\",this.referrer),this.xhr.onprogress=this.requestProgressed,this.xhr.onload=this.requestLoaded,this.xhr.onerror=this.requestFailed,this.xhr.ontimeout=this.requestTimedOut,this.xhr.onabort=this.requestCanceled},r.prototype.endRequest=function(t){return this.xhr?(this.notifyApplicationAfterRequestEnd(),null!=t\u0026\u0026t.call(this),this.destroy()):void 0},r.prototype.setProgress=function(t){var e;return this.progress=t,\"function\"==typeof(e=this.delegate).requestProgressed?e.requestProgressed(this.progress):void 0},r.prototype.destroy=function(){var t;return this.setProgress(1),\"function\"==typeof(t=this.delegate).requestFinished\u0026\u0026t.requestFinished(),this.delegate=null,this.xhr=null},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ProgressBar=function(){function e(){this.trickle=t(this.trickle,this),this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement()}var r;return r=300,e.defaultCSS=\".turbolinks-progress-bar {\\n position: fixed;\\n display: block;\\n top: 0;\\n left: 0;\\n height: 3px;\\n background: #0076ff;\\n z-index: 9999;\\n transition: width \"+r+\"ms ease-out, opacity \"+r/2+\"ms \"+r/2+\"ms ease-in;\\n transform: translate3d(0, 0, 0);\\n}\",e.prototype.show=function(){return this.visible?void 0:(this.visible=!0,this.installStylesheetElement(),this.installProgressElement(),this.startTrickling())},e.prototype.hide=function(){return this.visible\u0026\u0026!this.hiding?(this.hiding=!0,this.fadeProgressElement(function(t){return function(){return t.uninstallProgressElement(),t.stopTrickling(),t.visible=!1,t.hiding=!1}}(this))):void 0},e.prototype.setValue=function(t){return this.value=t,this.refresh()},e.prototype.installStylesheetElement=function(){return document.head.insertBefore(this.stylesheetElement,document.head.firstChild)},e.prototype.installProgressElement=function(){return this.progressElement.style.width=0,this.progressElement.style.opacity=1,document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()},e.prototype.fadeProgressElement=function(t){return this.progressElement.style.opacity=0,setTimeout(t,1.5*r)},e.prototype.uninstallProgressElement=function(){return this.progressElement.parentNode?document.documentElement.removeChild(this.progressElement):void 0},e.prototype.startTrickling=function(){return null!=this.trickleInterval?this.trickleInterval:this.trickleInterval=setInterval(this.trickle,r)},e.prototype.stopTrickling=function(){return clearInterval(this.trickleInterval),this.trickleInterval=null},e.prototype.trickle=function(){return this.setValue(this.value+Math.random()/100)},e.prototype.refresh=function(){return requestAnimationFrame(function(t){return function(){return t.progressElement.style.width=10+90*t.value+\"%\"}}(this))},e.prototype.createStylesheetElement=function(){var t;return t=document.createElement(\"style\"),t.type=\"text/css\",t.textContent=this.constructor.defaultCSS,t},e.prototype.createProgressElement=function(){var t;return t=document.createElement(\"div\"),t.className=\"turbolinks-progress-bar\",t},e}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.BrowserAdapter=function(){function r(r){this.controller=r,this.showProgressBar=t(this.showProgressBar,this),this.progressBar=new e.ProgressBar}var n,o,i;return i=e.HttpRequest,n=i.NETWORK_FAILURE,o=i.TIMEOUT_FAILURE,r.prototype.visitProposedToLocationWithAction=function(t,e){return this.controller.startVisitToLocationWithAction(t,e)},r.prototype.visitStarted=function(t){return t.issueRequest(),t.changeHistory(),t.loadCachedSnapshot()},r.prototype.visitRequestStarted=function(t){return this.progressBar.setValue(0),t.hasCachedSnapshot()||\"restore\"!==t.action?this.showProgressBarAfterDelay():this.showProgressBar()},r.prototype.visitRequestProgressed=function(t){return this.progressBar.setValue(t.progress)},r.prototype.visitRequestCompleted=function(t){return t.loadResponse()},r.prototype.visitRequestFailedWithStatusCode=function(t,e){switch(e){case n:case o:return this.reload();default:return t.loadResponse()}},r.prototype.visitRequestFinished=function(t){return this.hideProgressBar()},r.prototype.visitCompleted=function(t){return t.followRedirect()},r.prototype.pageInvalidated=function(){return this.reload()},r.prototype.showProgressBarAfterDelay=function(){return this.progressBarTimeout=setTimeout(this.showProgressBar,this.controller.progressBarDelay)},r.prototype.showProgressBar=function(){return this.progressBar.show()},r.prototype.hideProgressBar=function(){return this.progressBar.hide(),clearTimeout(this.progressBarTimeout)},r.prototype.reload=function(){return window.location.reload()},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.History=function(){function r(e){this.delegate=e,this.onPageLoad=t(this.onPageLoad,this),this.onPopState=t(this.onPopState,this)}return r.prototype.start=function(){return this.started?void 0:(addEventListener(\"popstate\",this.onPopState,!1),addEventListener(\"load\",this.onPageLoad,!1),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener(\"popstate\",this.onPopState,!1),removeEventListener(\"load\",this.onPageLoad,!1),this.started=!1):void 0},r.prototype.push=function(t,r){return t=e.Location.wrap(t),this.update(\"push\",t,r)},r.prototype.replace=function(t,r){return t=e.Location.wrap(t),this.update(\"replace\",t,r)},r.prototype.onPopState=function(t){var r,n,o,i;return this.shouldHandlePopState()\u0026\u0026(i=null!=(n=t.state)?n.turbolinks:void 0)?(r=e.Location.wrap(window.location),o=i.restorationIdentifier,this.delegate.historyPoppedToLocationWithRestorationIdentifier(r,o)):void 0},r.prototype.onPageLoad=function(t){return e.defer(function(t){return function(){return t.pageLoaded=!0}}(this))},r.prototype.shouldHandlePopState=function(){return this.pageIsLoaded()},r.prototype.pageIsLoaded=function(){return this.pageLoaded||\"complete\"===document.readyState},r.prototype.update=function(t,e,r){var n;return n={turbolinks:{restorationIdentifier:r}},history[t+\"State\"](n,null,e)},r}()}.call(this),function(){e.HeadDetails=function(){function t(t){var e,r,n,s,a,u;for(this.elements={},n=0,a=t.length;a\u003en;n++)u=t[n],u.nodeType===Node.ELEMENT_NODE\u0026\u0026(s=u.outerHTML,r=null!=(e=this.elements)[s]?e[s]:e[s]={type:i(u),tracked:o(u),elements:[]},r.elements.push(u))}var e,r,n,o,i;return t.fromHeadElement=function(t){var e;return new this(null!=(e=null!=t?t.childNodes:void 0)?e:[])},t.prototype.hasElementWithKey=function(t){return t in this.elements},t.prototype.getTrackedElementSignature=function(){var t,e;return function(){var r,n;r=this.elements,n=[];for(t in r)e=r[t].tracked,e\u0026\u0026n.push(t);return n}.call(this).join(\"\")},t.prototype.getScriptElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails(\"script\",t)},t.prototype.getStylesheetElementsNotInDetails=function(t){return this.getElementsMatchingTypeNotInDetails(\"stylesheet\",t)},t.prototype.getElementsMatchingTypeNotInDetails=function(t,e){var r,n,o,i,s,a;o=this.elements,s=[];for(n in o)i=o[n],a=i.type,r=i.elements,a!==t||e.hasElementWithKey(n)||s.push(r[0]);return s},t.prototype.getProvisionalElements=function(){var t,e,r,n,o,i,s;r=[],n=this.elements;for(e in n)o=n[e],s=o.type,i=o.tracked,t=o.elements,null!=s||i?t.length\u003e1\u0026\u0026r.push.apply(r,t.slice(1)):r.push.apply(r,t);return r},t.prototype.getMetaValue=function(t){var e;return null!=(e=this.findMetaElementByName(t))?e.getAttribute(\"content\"):void 0},t.prototype.findMetaElementByName=function(t){var r,n,o,i;r=void 0,i=this.elements;for(o in i)n=i[o].elements,e(n[0],t)\u0026\u0026(r=n[0]);return r},i=function(t){return r(t)?\"script\":n(t)?\"stylesheet\":void 0},o=function(t){return\"reload\"===t.getAttribute(\"data-turbolinks-track\")},r=function(t){var e;return e=t.tagName.toLowerCase(),\"script\"===e},n=function(t){var e;return e=t.tagName.toLowerCase(),\"style\"===e||\"link\"===e\u0026\u0026\"stylesheet\"===t.getAttribute(\"rel\")},e=function(t,e){var r;return r=t.tagName.toLowerCase(),\"meta\"===r\u0026\u0026t.getAttribute(\"name\")===e},t}()}.call(this),function(){e.Snapshot=function(){function t(t,e){this.headDetails=t,this.bodyElement=e}return t.wrap=function(t){return t instanceof this?t:\"string\"==typeof t?this.fromHTMLString(t):this.fromHTMLElement(t)},t.fromHTMLString=function(t){var e;return e=document.createElement(\"html\"),e.innerHTML=t,this.fromHTMLElement(e)},t.fromHTMLElement=function(t){var r,n,o,i;return o=t.querySelector(\"head\"),r=null!=(i=t.querySelector(\"body\"))?i:document.createElement(\"body\"),n=e.HeadDetails.fromHeadElement(o),new this(n,r)},t.prototype.clone=function(){return new this.constructor(this.headDetails,this.bodyElement.cloneNode(!0))},t.prototype.getRootLocation=function(){var t,r;return r=null!=(t=this.getSetting(\"root\"))?t:\"/\",new e.Location(r)},t.prototype.getCacheControlValue=function(){return this.getSetting(\"cache-control\")},t.prototype.getElementForAnchor=function(t){try{return this.bodyElement.querySelector(\"[id='\"+t+\"'], a[name='\"+t+\"']\")}catch(e){}},t.prototype.getPermanentElements=function(){return this.bodyElement.querySelectorAll(\"[id][data-turbolinks-permanent]\")},t.prototype.getPermanentElementById=function(t){return this.bodyElement.querySelector(\"#\"+t+\"[data-turbolinks-permanent]\")},t.prototype.getPermanentElementsPresentInSnapshot=function(t){var e,r,n,o,i;for(o=this.getPermanentElements(),i=[],r=0,n=o.length;n\u003er;r++)e=o[r],t.getPermanentElementById(e.id)\u0026\u0026i.push(e);return i},t.prototype.findFirstAutofocusableElement=function(){return this.bodyElement.querySelector(\"[autofocus]\")},t.prototype.hasAnchor=function(t){return null!=this.getElementForAnchor(t)},t.prototype.isPreviewable=function(){return\"no-preview\"!==this.getCacheControlValue()},t.prototype.isCacheable=function(){return\"no-cache\"!==this.getCacheControlValue()},t.prototype.isVisitable=function(){return\"reload\"!==this.getSetting(\"visit-control\")},t.prototype.getSetting=function(t){return this.headDetails.getMetaValue(\"turbolinks-\"+t)},t}()}.call(this),function(){var t=[].slice;e.Renderer=function(){function e(){}var r;return e.render=function(){var e,r,n,o;return n=arguments[0],r=arguments[1],e=3\u003c=arguments.length?t.call(arguments,2):[],o=function(t,e,r){r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return Object(o)===o?o:n}(this,e,function(){}),o.delegate=n,o.render(r),o},e.prototype.renderView=function(t){return this.delegate.viewWillRender(this.newBody),t(),this.delegate.viewRendered(this.newBody)},e.prototype.invalidateView=function(){return this.delegate.viewInvalidated()},e.prototype.createScriptElement=function(t){var e;return\"false\"===t.getAttribute(\"data-turbolinks-eval\")?t:(e=document.createElement(\"script\"),e.textContent=t.textContent,e.async=!1,r(e,t),e)},r=function(t,e){var r,n,o,i,s,a,u;for(i=e.attributes,a=[],r=0,n=i.length;n\u003er;r++)s=i[r],o=s.name,u=s.value,a.push(t.setAttribute(o,u));return a},e}()}.call(this),function(){var t,r,n=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)\u0026\u0026(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty;e.SnapshotRenderer=function(e){function o(t,e,r){this.currentSnapshot=t,this.newSnapshot=e,this.isPreview=r,this.currentHeadDetails=this.currentSnapshot.headDetails,this.newHeadDetails=this.newSnapshot.headDetails,this.currentBody=this.currentSnapshot.bodyElement,this.newBody=this.newSnapshot.bodyElement}return n(o,e),o.prototype.render=function(t){return this.shouldRender()?(this.mergeHead(),this.renderView(function(e){return function(){return e.replaceBody(),e.isPreview||e.focusFirstAutofocusableElement(),t()}}(this))):this.invalidateView()},o.prototype.mergeHead=function(){return this.copyNewHeadStylesheetElements(),this.copyNewHeadScriptElements(),this.removeCurrentHeadProvisionalElements(),this.copyNewHeadProvisionalElements()},o.prototype.replaceBody=function(){var t;return t=this.relocateCurrentBodyPermanentElements(),this.activateNewBodyScriptElements(),this.assignNewBody(),this.replacePlaceholderElementsWithClonedPermanentElements(t)},o.prototype.shouldRender=function(){return this.newSnapshot.isVisitable()\u0026\u0026this.trackedElementsAreIdentical()},o.prototype.trackedElementsAreIdentical=function(){return this.currentHeadDetails.getTrackedElementSignature()===this.newHeadDetails.getTrackedElementSignature()},o.prototype.copyNewHeadStylesheetElements=function(){var t,e,r,n,o;for(n=this.getNewHeadStylesheetElements(),o=[],e=0,r=n.length;r\u003ee;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.copyNewHeadScriptElements=function(){var t,e,r,n,o;for(n=this.getNewHeadScriptElements(),o=[],e=0,r=n.length;r\u003ee;e++)t=n[e],o.push(document.head.appendChild(this.createScriptElement(t)));return o},o.prototype.removeCurrentHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getCurrentHeadProvisionalElements(),o=[],e=0,r=n.length;r\u003ee;e++)t=n[e],o.push(document.head.removeChild(t));return o},o.prototype.copyNewHeadProvisionalElements=function(){var t,e,r,n,o;for(n=this.getNewHeadProvisionalElements(),o=[],e=0,r=n.length;r\u003ee;e++)t=n[e],o.push(document.head.appendChild(t));return o},o.prototype.relocateCurrentBodyPermanentElements=function(){var e,n,o,i,s,a,u;for(a=this.getCurrentBodyPermanentElements(),u=[],e=0,n=a.length;n\u003ee;e++)i=a[e],s=t(i),o=this.newSnapshot.getPermanentElementById(i.id),r(i,s.element),r(o,i),u.push(s);return u},o.prototype.replacePlaceholderElementsWithClonedPermanentElements=function(t){var e,n,o,i,s,a,u;for(u=[],o=0,i=t.length;i\u003eo;o++)a=t[o],n=a.element,s=a.permanentElement,e=s.cloneNode(!0),u.push(r(n,e));return u},o.prototype.activateNewBodyScriptElements=function(){var t,e,n,o,i,s;for(i=this.getNewBodyScriptElements(),s=[],e=0,o=i.length;o\u003ee;e++)n=i[e],t=this.createScriptElement(n),s.push(r(n,t));return s},o.prototype.assignNewBody=function(){return document.body=this.newBody},o.prototype.focusFirstAutofocusableElement=function(){var t;return null!=(t=this.newSnapshot.findFirstAutofocusableElement())?t.focus():void 0},o.prototype.getNewHeadStylesheetElements=function(){return this.newHeadDetails.getStylesheetElementsNotInDetails(this.currentHeadDetails)},o.prototype.getNewHeadScriptElements=function(){return this.newHeadDetails.getScriptElementsNotInDetails(this.currentHeadDetails)},o.prototype.getCurrentHeadProvisionalElements=function(){return this.currentHeadDetails.getProvisionalElements()},o.prototype.getNewHeadProvisionalElements=function(){return this.newHeadDetails.getProvisionalElements()},o.prototype.getCurrentBodyPermanentElements=function(){return this.currentSnapshot.getPermanentElementsPresentInSnapshot(this.newSnapshot)},o.prototype.getNewBodyScriptElements=function(){return this.newBody.querySelectorAll(\"script\")},o}(e.Renderer),t=function(t){var e;return e=document.createElement(\"meta\"),e.setAttribute(\"name\",\"turbolinks-permanent-placeholder\"),e.setAttribute(\"content\",t.id),{element:e,permanentElement:t}},r=function(t,e){var r;return(r=t.parentNode)?r.replaceChild(e,t):void 0}}.call(this),function(){var t=function(t,e){function n(){this.constructor=t}for(var o in e)r.call(e,o)\u0026\u0026(t[o]=e[o]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},r={}.hasOwnProperty;e.ErrorRenderer=function(e){function r(t){var e;e=document.createElement(\"html\"),e.innerHTML=t,this.newHead=e.querySelector(\"head\"),this.newBody=e.querySelector(\"body\")}return t(r,e),r.prototype.render=function(t){return this.renderView(function(e){return function(){return e.replaceHeadAndBody(),e.activateBodyScriptElements(),t()}}(this))},r.prototype.replaceHeadAndBody=function(){var t,e;return e=document.head,t=document.body,e.parentNode.replaceChild(this.newHead,e),t.parentNode.replaceChild(this.newBody,t)},r.prototype.activateBodyScriptElements=function(){var t,e,r,n,o,i;for(n=this.getScriptElements(),i=[],e=0,r=n.length;r\u003ee;e++)o=n[e],t=this.createScriptElement(o),i.push(o.parentNode.replaceChild(t,o));return i},r.prototype.getScriptElements=function(){return document.documentElement.querySelectorAll(\"script\")},r}(e.Renderer)}.call(this),function(){e.View=function(){function t(t){this.delegate=t,this.htmlElement=document.documentElement}return t.prototype.getRootLocation=function(){return this.getSnapshot().getRootLocation()},t.prototype.getElementForAnchor=function(t){return this.getSnapshot().getElementForAnchor(t)},t.prototype.getSnapshot=function(){return e.Snapshot.fromHTMLElement(this.htmlElement)},t.prototype.render=function(t,e){var r,n,o;return o=t.snapshot,r=t.error,n=t.isPreview,this.markAsPreview(n),null!=o?this.renderSnapshot(o,n,e):this.renderError(r,e)},t.prototype.markAsPreview=function(t){return t?this.htmlElement.setAttribute(\"data-turbolinks-preview\",\"\"):this.htmlElement.removeAttribute(\"data-turbolinks-preview\")},t.prototype.renderSnapshot=function(t,r,n){return e.SnapshotRenderer.render(this.delegate,n,this.getSnapshot(),e.Snapshot.wrap(t),r)},t.prototype.renderError=function(t,r){return e.ErrorRenderer.render(this.delegate,r,t)},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.ScrollManager=function(){function r(r){this.delegate=r,this.onScroll=t(this.onScroll,this),this.onScroll=e.throttle(this.onScroll)}return r.prototype.start=function(){return this.started?void 0:(addEventListener(\"scroll\",this.onScroll,!1),this.onScroll(),this.started=!0)},r.prototype.stop=function(){return this.started?(removeEventListener(\"scroll\",this.onScroll,!1),this.started=!1):void 0},r.prototype.scrollToElement=function(t){return t.scrollIntoView()},r.prototype.scrollToPosition=function(t){var e,r;return e=t.x,r=t.y,window.scrollTo(e,r)},r.prototype.onScroll=function(t){return this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})},r.prototype.updatePosition=function(t){var e;return this.position=t,null!=(e=this.delegate)?e.scrollPositionChanged(this.position):void 0},r}()}.call(this),function(){e.SnapshotCache=function(){function t(t){this.size=t,this.keys=[],this.snapshots={}}var r;return t.prototype.has=function(t){var e;return e=r(t),e in this.snapshots},t.prototype.get=function(t){var e;if(this.has(t))return e=this.read(t),this.touch(t),e},t.prototype.put=function(t,e){return this.write(t,e),this.touch(t),e},t.prototype.read=function(t){var e;return e=r(t),this.snapshots[e]},t.prototype.write=function(t,e){var n;return n=r(t),this.snapshots[n]=e},t.prototype.touch=function(t){var e,n;return n=r(t),e=this.keys.indexOf(n),e\u003e-1\u0026\u0026this.keys.splice(e,1),this.keys.unshift(n),this.trim()},t.prototype.trim=function(){var t,e,r,n,o;for(n=this.keys.splice(this.size),o=[],t=0,r=n.length;r\u003et;t++)e=n[t],o.push(delete this.snapshots[e]);return o},r=function(t){return e.Location.wrap(t).toCacheKey()},t}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Visit=function(){function r(r,n,o){this.controller=r,this.action=o,this.performScroll=t(this.performScroll,this),this.identifier=e.uuid(),this.location=e.Location.wrap(n),this.adapter=this.controller.adapter,this.state=\"initialized\",this.timingMetrics={}}var n;return r.prototype.start=function(){return\"initialized\"===this.state?(this.recordTimingMetric(\"visitStart\"),this.state=\"started\",this.adapter.visitStarted(this)):void 0},r.prototype.cancel=function(){var t;return\"started\"===this.state?(null!=(t=this.request)\u0026\u0026t.cancel(),this.cancelRender(),this.state=\"canceled\"):void 0},r.prototype.complete=function(){var t;return\"started\"===this.state?(this.recordTimingMetric(\"visitEnd\"),this.state=\"completed\",\"function\"==typeof(t=this.adapter).visitCompleted\u0026\u0026t.visitCompleted(this),this.controller.visitCompleted(this)):void 0},r.prototype.fail=function(){var t;return\"started\"===this.state?(this.state=\"failed\",\"function\"==typeof(t=this.adapter).visitFailed?t.visitFailed(this):void 0):void 0},r.prototype.changeHistory=function(){var t,e;return this.historyChanged?void 0:(t=this.location.isEqualTo(this.referrer)?\"replace\":this.action,e=n(t),this.controller[e](this.location,this.restorationIdentifier),this.historyChanged=!0)},r.prototype.issueRequest=function(){return this.shouldIssueRequest()\u0026\u0026null==this.request?(this.progress=0,this.request=new e.HttpRequest(this,this.location,this.referrer),this.request.send()):void 0},r.prototype.getCachedSnapshot=function(){var t;return!(t=this.controller.getCachedSnapshotForLocation(this.location))||null!=this.location.anchor\u0026\u0026!t.hasAnchor(this.location.anchor)||\"restore\"!==this.action\u0026\u0026!t.isPreviewable()?void 0:t},r.prototype.hasCachedSnapshot=function(){return null!=this.getCachedSnapshot()},r.prototype.loadCachedSnapshot=function(){var t,e;return(e=this.getCachedSnapshot())?(t=this.shouldIssueRequest(),this.render(function(){var r;return this.cacheSnapshot(),this.controller.render({snapshot:e,isPreview:t},this.performScroll),\"function\"==typeof(r=this.adapter).visitRendered\u0026\u0026r.visitRendered(this),t?void 0:this.complete()})):void 0},r.prototype.loadResponse=function(){return null!=this.response?this.render(function(){var t,e;return this.cacheSnapshot(),this.request.failed?(this.controller.render({error:this.response},this.performScroll),\"function\"==typeof(t=this.adapter).visitRendered\u0026\u0026t.visitRendered(this),this.fail()):(this.controller.render({snapshot:this.response},this.performScroll),\"function\"==typeof(e=this.adapter).visitRendered\u0026\u0026e.visitRendered(this),this.complete())}):void 0},r.prototype.followRedirect=function(){return this.redirectedToLocation\u0026\u0026!this.followedRedirect?(this.location=this.redirectedToLocation,this.controller.replaceHistoryWithLocationAndRestorationIdentifier(this.redirectedToLocation,this.restorationIdentifier),this.followedRedirect=!0):void 0},r.prototype.requestStarted=function(){var t;return this.recordTimingMetric(\"requestStart\"),\"function\"==typeof(t=this.adapter).visitRequestStarted?t.visitRequestStarted(this):void 0},r.prototype.requestProgressed=function(t){var e;return this.progress=t,\"function\"==typeof(e=this.adapter).visitRequestProgressed?e.visitRequestProgressed(this):void 0},r.prototype.requestCompletedWithResponse=function(t,r){return this.response=t,null!=r\u0026\u0026(this.redirectedToLocation=e.Location.wrap(r)),this.adapter.visitRequestCompleted(this)},r.prototype.requestFailedWithStatusCode=function(t,e){return this.response=e,this.adapter.visitRequestFailedWithStatusCode(this,t)},r.prototype.requestFinished=function(){var t;return this.recordTimingMetric(\"requestEnd\"),\"function\"==typeof(t=this.adapter).visitRequestFinished?t.visitRequestFinished(this):void 0},r.prototype.performScroll=function(){return this.scrolled?void 0:(\"restore\"===this.action?this.scrollToRestoredPosition()||this.scrollToTop():this.scrollToAnchor()||this.scrollToTop(),this.scrolled=!0)},r.prototype.scrollToRestoredPosition=function(){var t,e;return t=null!=(e=this.restorationData)?e.scrollPosition:void 0,null!=t?(this.controller.scrollToPosition(t),!0):void 0},r.prototype.scrollToAnchor=function(){return null!=this.location.anchor?(this.controller.scrollToAnchor(this.location.anchor),!0):void 0},r.prototype.scrollToTop=function(){return this.controller.scrollToPosition({x:0,y:0})},r.prototype.recordTimingMetric=function(t){var e;return null!=(e=this.timingMetrics)[t]?e[t]:e[t]=(new Date).getTime()},r.prototype.getTimingMetrics=function(){return e.copyObject(this.timingMetrics)},n=function(t){switch(t){case\"replace\":return\"replaceHistoryWithLocationAndRestorationIdentifier\";case\"advance\":case\"restore\":return\"pushHistoryWithLocationAndRestorationIdentifier\"}},r.prototype.shouldIssueRequest=function(){return\"restore\"===this.action?!this.hasCachedSnapshot():!0},r.prototype.cacheSnapshot=function(){return this.snapshotCached?void 0:(this.controller.cacheSnapshot(),this.snapshotCached=!0)},r.prototype.render=function(t){return this.cancelRender(),this.frame=requestAnimationFrame(function(e){return function(){return e.frame=null,t.call(e)}}(this))},r.prototype.cancelRender=function(){return this.frame?cancelAnimationFrame(this.frame):void 0},r}()}.call(this),function(){var t=function(t,e){return function(){return t.apply(e,arguments)}};e.Controller=function(){function r(){this.clickBubbled=t(this.clickBubbled,this),this.clickCaptured=t(this.clickCaptured,this),this.pageLoaded=t(this.pageLoaded,this),this.history=new e.History(this),this.view=new e.View(this),this.scrollManager=new e.ScrollManager(this),this.restorationData={},this.clearCache(),this.setProgressBarDelay(500)}return r.prototype.start=function(){return e.supported\u0026\u0026!this.started?(addEventListener(\"click\",this.clickCaptured,!0),addEventListener(\"DOMContentLoaded\",this.pageLoaded,!1),this.scrollManager.start(),this.startHistory(),this.started=!0,this.enabled=!0):void 0},r.prototype.disable=function(){return this.enabled=!1},r.prototype.stop=function(){return this.started?(removeEventListener(\"click\",this.clickCaptured,!0),removeEventListener(\"DOMContentLoaded\",this.pageLoaded,!1),this.scrollManager.stop(),this.stopHistory(),this.started=!1):void 0},r.prototype.clearCache=function(){return this.cache=new e.SnapshotCache(10)},r.prototype.visit=function(t,r){var n,o;return null==r\u0026\u0026(r={}),t=e.Location.wrap(t),this.applicationAllowsVisitingLocation(t)?this.locationIsVisitable(t)?(n=null!=(o=r.action)?o:\"advance\",this.adapter.visitProposedToLocationWithAction(t,n)):window.location=t:void 0},r.prototype.startVisitToLocationWithAction=function(t,r,n){var o;return e.supported?(o=this.getRestorationDataForIdentifier(n),this.startVisit(t,r,{restorationData:o})):window.location=t},r.prototype.setProgressBarDelay=function(t){return this.progressBarDelay=t},r.prototype.startHistory=function(){return this.location=e.Location.wrap(window.location),this.restorationIdentifier=e.uuid(),this.history.start(),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.stopHistory=function(){return this.history.stop()},r.prototype.pushHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.push(this.location,this.restorationIdentifier)},r.prototype.replaceHistoryWithLocationAndRestorationIdentifier=function(t,r){return this.restorationIdentifier=r,this.location=e.Location.wrap(t),this.history.replace(this.location,this.restorationIdentifier)},r.prototype.historyPoppedToLocationWithRestorationIdentifier=function(t,r){var n;return this.restorationIdentifier=r,this.enabled?(n=this.getRestorationDataForIdentifier(this.restorationIdentifier),this.startVisit(t,\"restore\",{restorationIdentifier:this.restorationIdentifier,restorationData:n,historyChanged:!0}),this.location=e.Location.wrap(t)):this.adapter.pageInvalidated()},r.prototype.getCachedSnapshotForLocation=function(t){var e;return null!=(e=this.cache.get(t))?e.clone():void 0},r.prototype.shouldCacheSnapshot=function(){return this.view.getSnapshot().isCacheable();\n},r.prototype.cacheSnapshot=function(){var t,r;return this.shouldCacheSnapshot()?(this.notifyApplicationBeforeCachingSnapshot(),r=this.view.getSnapshot(),t=this.lastRenderedLocation,e.defer(function(e){return function(){return e.cache.put(t,r.clone())}}(this))):void 0},r.prototype.scrollToAnchor=function(t){var e;return(e=this.view.getElementForAnchor(t))?this.scrollToElement(e):this.scrollToPosition({x:0,y:0})},r.prototype.scrollToElement=function(t){return this.scrollManager.scrollToElement(t)},r.prototype.scrollToPosition=function(t){return this.scrollManager.scrollToPosition(t)},r.prototype.scrollPositionChanged=function(t){var e;return e=this.getCurrentRestorationData(),e.scrollPosition=t},r.prototype.render=function(t,e){return this.view.render(t,e)},r.prototype.viewInvalidated=function(){return this.adapter.pageInvalidated()},r.prototype.viewWillRender=function(t){return this.notifyApplicationBeforeRender(t)},r.prototype.viewRendered=function(){return this.lastRenderedLocation=this.currentVisit.location,this.notifyApplicationAfterRender()},r.prototype.pageLoaded=function(){return this.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()},r.prototype.clickCaptured=function(){return removeEventListener(\"click\",this.clickBubbled,!1),addEventListener(\"click\",this.clickBubbled,!1)},r.prototype.clickBubbled=function(t){var e,r,n;return this.enabled\u0026\u0026this.clickEventIsSignificant(t)\u0026\u0026(r=this.getVisitableLinkForNode(t.target))\u0026\u0026(n=this.getVisitableLocationForLink(r))\u0026\u0026this.applicationAllowsFollowingLinkToLocation(r,n)?(t.preventDefault(),e=this.getActionForLink(r),this.visit(n,{action:e})):void 0},r.prototype.applicationAllowsFollowingLinkToLocation=function(t,e){var r;return r=this.notifyApplicationAfterClickingLinkToLocation(t,e),!r.defaultPrevented},r.prototype.applicationAllowsVisitingLocation=function(t){var e;return e=this.notifyApplicationBeforeVisitingLocation(t),!e.defaultPrevented},r.prototype.notifyApplicationAfterClickingLinkToLocation=function(t,r){return e.dispatch(\"turbolinks:click\",{target:t,data:{url:r.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationBeforeVisitingLocation=function(t){return e.dispatch(\"turbolinks:before-visit\",{data:{url:t.absoluteURL},cancelable:!0})},r.prototype.notifyApplicationAfterVisitingLocation=function(t){return e.dispatch(\"turbolinks:visit\",{data:{url:t.absoluteURL}})},r.prototype.notifyApplicationBeforeCachingSnapshot=function(){return e.dispatch(\"turbolinks:before-cache\")},r.prototype.notifyApplicationBeforeRender=function(t){return e.dispatch(\"turbolinks:before-render\",{data:{newBody:t}})},r.prototype.notifyApplicationAfterRender=function(){return e.dispatch(\"turbolinks:render\")},r.prototype.notifyApplicationAfterPageLoad=function(t){return null==t\u0026\u0026(t={}),e.dispatch(\"turbolinks:load\",{data:{url:this.location.absoluteURL,timing:t}})},r.prototype.startVisit=function(t,e,r){var n;return null!=(n=this.currentVisit)\u0026\u0026n.cancel(),this.currentVisit=this.createVisit(t,e,r),this.currentVisit.start(),this.notifyApplicationAfterVisitingLocation(t)},r.prototype.createVisit=function(t,r,n){var o,i,s,a,u;return i=null!=n?n:{},a=i.restorationIdentifier,s=i.restorationData,o=i.historyChanged,u=new e.Visit(this,t,r),u.restorationIdentifier=null!=a?a:e.uuid(),u.restorationData=e.copyObject(s),u.historyChanged=o,u.referrer=this.location,u},r.prototype.visitCompleted=function(t){return this.notifyApplicationAfterPageLoad(t.getTimingMetrics())},r.prototype.clickEventIsSignificant=function(t){return!(t.defaultPrevented||t.target.isContentEditable||t.which\u003e1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)},r.prototype.getVisitableLinkForNode=function(t){return this.nodeIsVisitable(t)?e.closest(t,\"a[href]:not([target]):not([download])\"):void 0},r.prototype.getVisitableLocationForLink=function(t){var r;return r=new e.Location(t.getAttribute(\"href\")),this.locationIsVisitable(r)?r:void 0},r.prototype.getActionForLink=function(t){var e;return null!=(e=t.getAttribute(\"data-turbolinks-action\"))?e:\"advance\"},r.prototype.nodeIsVisitable=function(t){var r;return(r=e.closest(t,\"[data-turbolinks]\"))?\"false\"!==r.getAttribute(\"data-turbolinks\"):!0},r.prototype.locationIsVisitable=function(t){return t.isPrefixedBy(this.view.getRootLocation())\u0026\u0026t.isHTML()},r.prototype.getCurrentRestorationData=function(){return this.getRestorationDataForIdentifier(this.restorationIdentifier)},r.prototype.getRestorationDataForIdentifier=function(t){var e;return null!=(e=this.restorationData)[t]?e[t]:e[t]={}},r}()}.call(this),function(){!function(){var t,e;if((t=e=document.currentScript)\u0026\u0026!e.hasAttribute(\"data-turbolinks-suppress-warning\"))for(;t=t.parentNode;)if(t===document.body)return console.warn(\"You are loading Turbolinks from a \u003cscript\u003e element inside the \u003cbody\u003e element. This is probably not what you meant to do!\\n\\nLoad your application\\u2019s JavaScript bundle inside the \u003chead\u003e element instead. \u003cscript\u003e elements in \u003cbody\u003e are evaluated with each page change.\\n\\nFor more information, see: https://github.com/turbolinks/turbolinks#working-with-script-elements\\n\\n\\u2014\\u2014\\nSuppress this warning by adding a `data-turbolinks-suppress-warning` attribute to: %s\",e.outerHTML)}()}.call(this),function(){var t,r,n;e.start=function(){return r()?(null==e.controller\u0026\u0026(e.controller=t()),e.controller.start()):void 0},r=function(){return null==window.Turbolinks\u0026\u0026(window.Turbolinks=e),n()},t=function(){var t;return t=new e.Controller,t.adapter=new e.BrowserAdapter(t),t},n=function(){return window.Turbolinks===e},n()\u0026\u0026e.start()}.call(this)}).call(this),\"object\"==typeof module\u0026\u0026module.exports?module.exports=e:\"function\"==typeof define\u0026\u0026define.amd\u0026\u0026define(e)}).call(this);\n/*!\n * jQuery JavaScript Library v3.5.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2020-05-04T22:49Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" \u0026\u0026 typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge \u003c= 12 - 13+, Firefox \u003c=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n // Support: Chrome \u003c=57, Firefox \u003c=52\n // In some browsers, typeof returns \"function\" for HTML \u003cobject\u003e elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" \u0026\u0026 typeof obj.nodeType !== \"number\";\n };\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null \u0026\u0026 obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute \u0026\u0026 node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android \u003c=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.5.1\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num \u003c 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i \u003c 0 ? len : 0 );\n\t\treturn this.pushStack( j \u003e= 0 \u0026\u0026 j \u003c len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" \u0026\u0026 !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i \u003c length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep \u0026\u0026 copy \u0026\u0026 ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray \u0026\u0026 !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray \u0026\u0026 !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) \u0026\u0026 proto.constructor;\n\t\treturn typeof Ctor === \"function\" \u0026\u0026 fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options \u0026\u0026 options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i \u003c length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android \u003c=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j \u003c len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i \u003c length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i \u003c length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( _i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj \u0026\u0026 \"length\" in obj \u0026\u0026 obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" \u0026\u0026 length \u003e 0 \u0026\u0026 ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.5\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2020-03-14\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i \u003c len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([\u003e+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|\u003e\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[\u003e+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE \u003c=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh \u003c 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high \u003e\u003e 10 | 0xD800, high \u0026 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true \u0026\u0026 elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android\u003c4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE\u003c9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context \u0026\u0026 context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 \u0026\u0026 nodeType !== 9 \u0026\u0026 nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 \u0026\u0026 ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext \u0026\u0026 ( elem = newContext.getElementById( m ) ) \u0026\u0026\n\t\t\t\t\t\t\tcontains( context, elem ) \u0026\u0026\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) \u0026\u0026 support.getElementsByClassName \u0026\u0026\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa \u0026\u0026\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] \u0026\u0026\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) \u0026\u0026\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 \u0026\u0026\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) \u0026\u0026 testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it \u0026 if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) \u003e Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b \u0026\u0026 a,\n\t\tdiff = cur \u0026\u0026 a.nodeType === 1 \u0026\u0026 b.nodeType === 1 \u0026\u0026\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" \u0026\u0026 elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) \u0026\u0026 elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] \u003e legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode \u0026\u0026 elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled \u0026\u0026\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context \u0026\u0026 typeof context.getElementsByTagName !== \"undefined\" \u0026\u0026 context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem.namespaceURI,\n\t\tdocElem = ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE \u003c=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem \u0026\u0026 docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document \u0026\u0026\n\t\t( subWindow = document.defaultView ) \u0026\u0026 subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome \u003c=16 - 25 only, Firefox \u003c=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera \u003c=11.6 - 12.x only\n\t// IE/Edge \u0026 older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" \u0026\u0026\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE\u003c8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE\u003c9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE\u003c10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" \u0026\u0026 documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" \u0026\u0026\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node \u0026\u0026 node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" \u0026\u0026 documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node \u0026\u0026 node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node \u0026\u0026 node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName \u0026\u0026 function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" \u0026\u0026 documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\u003ca id='\" + expando + \"'\u003e\u003c/a\u003e\" +\n\t\t\t\t\"\u003cselect id='\" + expando + \"-\\r\\\\' msallowcapture=''\u003e\" +\n\t\t\t\t\"\u003coption selected=''\u003e\u003c/option\u003e\u003c/select\u003e\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome\u003c29, Android\u003c4.4, Safari\u003c7.0+, iOS\u003c7.0+, PhantomJS\u003c1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 \u0026 older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox \u003c=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\u003ca href='' disabled='disabled'\u003e\u003c/a\u003e\" +\n\t\t\t\t\"\u003cselect disabled='disabled'\u003e\u003coption/\u003e\u003c/select\u003e\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length \u0026\u0026 new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length \u0026\u0026 new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b \u0026\u0026 b.parentNode;\n\t\t\treturn a === bup || !!( bup \u0026\u0026 bup.nodeType === 1 \u0026\u0026 (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition \u0026\u0026 a.compareDocumentPosition( bup ) \u0026 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare \u0026 1 ||\n\t\t\t( !support.sortDetached \u0026\u0026 b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc \u0026\u0026\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc \u0026\u0026\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare \u0026 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector \u0026\u0026 documentIsHTML \u0026\u0026\n\t\t!nonnativeSelectorCache[ expr + \" \" ] \u0026\u0026\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) \u0026\u0026\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document \u0026\u0026 elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length \u003e 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn \u0026\u0026 hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) \u0026\u0026 val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable \u0026\u0026 results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\"\u003e\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] \u0026\u0026 match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted \u0026\u0026 rpseudo.test( unquoted ) \u0026\u0026\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) \u0026\u0026\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName \u0026\u0026 elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) \u0026\u0026 classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" \u0026\u0026 elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" \u0026\u0026\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check \u0026\u0026 result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check \u0026\u0026 result.indexOf( check ) \u003e -1 :\n\t\t\t\t\toperator === \"$=\" ? check \u0026\u0026 result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) \u003e -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 \u0026\u0026 last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType \u0026\u0026 elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml \u0026\u0026 !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" \u0026\u0026 !start \u0026\u0026 \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward \u0026\u0026 useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE \u003c9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns \u0026\u0026 cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex \u0026\u0026 cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex \u0026\u0026 parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex \u0026\u0026 node \u0026\u0026 node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 \u0026\u0026 ++diff \u0026\u0026 node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE \u003c9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns \u0026\u0026 cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex \u0026\u0026 node \u0026\u0026 node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) \u0026\u0026\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE \u003c9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 \u0026\u0026 diff / first \u003e= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length \u003e 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length \u003e 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) \u003e -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) \u0026\u0026 elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location \u0026\u0026 window.location.hash;\n\t\t\treturn hash \u0026\u0026 hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement \u0026\u0026\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) \u0026\u0026\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" \u0026\u0026 !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" \u0026\u0026 !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType \u003c 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType \u003c 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" \u0026\u0026 elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" \u0026\u0026\n\t\t\t\telem.type === \"text\" \u0026\u0026\n\n\t\t\t\t// Support: IE\u003c8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument \u003c 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i \u003c length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i \u003c length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument \u003c 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument \u003e length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i \u003e= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument \u003c 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i \u003c length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) \u0026\u0026 ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i \u003c len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base \u0026\u0026 key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE \u003c9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip \u0026\u0026 skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) \u0026\u0026\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns \u0026\u0026 oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length \u003e 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i \u003c len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i \u003c len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter \u0026\u0026 !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder \u0026\u0026 !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter \u0026\u0026 ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) \u0026\u0026\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) \u003e -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) \u003e -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative \u0026\u0026 ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i \u003c len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j \u003c len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti \u003e 1 \u0026\u0026 elementMatcher( matchers ),\n\t\t\t\t\ti \u003e 1 \u0026\u0026 toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti \u003c j \u0026\u0026 matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj \u003c len \u0026\u0026 matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj \u003c len \u0026\u0026 toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length \u003e 0,\n\t\tbyElement = elementMatchers.length \u003e 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed \u0026\u0026 [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement \u0026\u0026 Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE\u003c9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: \u003cnumber\u003e) matching elements by id\n\t\t\tfor ( ; i !== len \u0026\u0026 ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement \u0026\u0026 elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context \u0026\u0026 elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher \u0026\u0026 elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet \u0026\u0026 i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount \u003e 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost \u0026\u0026 !seed \u0026\u0026 setMatched.length \u003e 0 \u0026\u0026\n\t\t\t\t\t( matchedCount + setMatchers.length ) \u003e 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" \u0026\u0026 selector,\n\t\tmatch = !seed \u0026\u0026 tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length \u003e 2 \u0026\u0026 ( token = tokens[ 0 ] ).type === \"ID\" \u0026\u0026\n\t\t\tcontext.nodeType === 9 \u0026\u0026 documentIsHTML \u0026\u0026 Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) \u0026\u0026 testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length \u0026\u0026 toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) \u0026\u0026 testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit\u003c537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) \u0026 1;\n} );\n\n// Support: IE\u003c8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\u003ca href='#'\u003e\u003c/a\u003e\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE\u003c9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\u003cinput/\u003e\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML \u0026\u0026 elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE\u003c9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) \u0026\u0026 val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) \u0026\u0026 elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate \u0026\u0026 jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 \u0026\u0026 n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n return elem.nodeName \u0026\u0026 elem.nodeName.toLowerCase() === name.toLowerCase();\n\n};\nvar rsingleTag = ( /^\u003c([a-z][^\\/\\0\u003e:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?\u003e(?:\u003c\\/\\1\u003e|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) \u003e -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 \u0026\u0026 elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i \u003c len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i \u003c len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len \u003e 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" \u0026\u0026 rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over \u003ctag\u003e to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with \u003c)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(\u003c[\\w\\W]+\u003e)[^\u003e]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"\u003c\" \u0026\u0026\n\t\t\t\tselector[ selector.length - 1 ] === \"\u003e\" \u0026\u0026\n\t\t\t\tselector.length \u003e= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with \u003c\u003e are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match \u0026\u0026 ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -\u003e $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext \u0026\u0026 context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) \u0026\u0026 jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i \u003c l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" \u0026\u0026 jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i \u003c l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur \u0026\u0026 cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType \u003c 11 \u0026\u0026 ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) \u003e -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 \u0026\u0026\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length \u003e 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] \u0026\u0026 this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) \u0026\u0026 cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent \u0026\u0026 parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null \u0026\u0026\n\n\t\t\t// Support: IE 11+\n\t\t\t// \u003cobject\u003e elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser \u003c=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector \u0026\u0026 typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length \u003e 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex \u003c list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false \u0026\u0026\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory \u0026\u0026 !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg \u0026\u0026 arg.length \u0026\u0026 toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory \u0026\u0026 !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) \u003e -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index \u003c= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) \u003e -1 :\n\t\t\t\t\tlist.length \u003e 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory \u0026\u0026 !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value \u0026\u0026 isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value \u0026\u0026 isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) =\u003e resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) =\u003e resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) \u0026\u0026 fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn \u0026\u0026 fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned \u0026\u0026 isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth \u003c maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned \u0026\u0026\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) \u0026\u0026\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 \u003e= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the master Deferred\n\t\t\tmaster = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length \u003e 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tmaster.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining \u003c= 1 ) {\n\t\t\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( master.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] \u0026\u0026 resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn master.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\n\t\t}\n\n\t\treturn master.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console \u0026\u0026 window.console.warn \u0026\u0026 error \u0026\u0026 rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true \u0026\u0026 --jQuery.readyWait \u003e 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE \u003c=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" \u0026\u0026 !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i \u003c len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE \u003c=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] \u0026\u0026 owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key \u0026\u0026 typeof key === \"string\" ) \u0026\u0026 value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome \u003c=35 - 45\n\t\t\t// Webkit \u0026 Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined \u0026\u0026 !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined \u0026\u0026 elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$\u0026\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem \u0026\u0026 elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 \u0026\u0026 !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem \u0026\u0026 value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length \u003e 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength \u0026\u0026 hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length \u003c setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" \u0026\u0026 queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp \u0026\u0026 tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" \u0026\u0026\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox \u003c=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) \u0026\u0026\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts \u0026\u0026 valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType \u0026\u0026\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" \u0026\u0026 +initial ) \u0026\u0026\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit \u0026\u0026 initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox \u003c=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) \u003c= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index \u003c length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" \u0026\u0026 isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index \u003c length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /\u003c([a-z][^\\/\\0\u003e\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android \u003c=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE \u003c=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\u003ctextarea\u003ex\u003c/textarea\u003e\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE \u003c=9 only\n\t// IE \u003c=9 replaces \u003coption\u003e tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"\u003coption\u003e\u003c/option\u003e\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting \u003ctbody\u003e or other required elements.\n\tthead: [ 1, \"\u003ctable\u003e\", \"\u003c/table\u003e\" ],\n\tcol: [ 2, \"\u003ctable\u003e\u003ccolgroup\u003e\", \"\u003c/colgroup\u003e\u003c/table\u003e\" ],\n\ttr: [ 2, \"\u003ctable\u003e\u003ctbody\u003e\", \"\u003c/tbody\u003e\u003c/table\u003e\" ],\n\ttd: [ 3, \"\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\", \"\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE \u003c=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\u003cselect multiple='multiple'\u003e\", \"\u003c/select\u003e\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE \u003c=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag \u0026\u0026 nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i \u003c l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /\u003c|\u0026#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i \u003c l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android \u003c=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android \u003c=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection \u0026\u0026 jQuery.inArray( elem, selection ) \u003e -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE \u003c=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE \u003c=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null \u0026\u0026 fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" \u0026\u0026 jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector \u0026\u0026 jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) \u0026\u0026 dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] \u0026\u0026\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) \u0026\u0026\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) \u0026\u0026\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) \u0026\u0026\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" \u0026\u0026 handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount \u0026\u0026 !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i \u003c arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch \u0026\u0026 special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) \u0026\u0026 !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) \u0026\u0026\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount \u0026\u0026\n\n\t\t\t// Support: IE \u003c=9\n\t\t\t// Black-hole SVG \u003cuse\u003e instance trees (trac-13180)\n\t\t\tcur.nodeType \u0026\u0026\n\n\t\t\t// Support: Firefox \u003c=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" \u0026\u0026 event.button \u003e= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 \u0026\u0026 !( event.type === \"click\" \u0026\u0026 cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i \u003c delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) \u003e -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount \u003c handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) \u0026\u0026\n\t\t\t\t\tel.click \u0026\u0026 nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) \u0026\u0026\n\t\t\t\t\tel.click \u0026\u0026 nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) \u0026\u0026\n\t\t\t\t\ttarget.click \u0026\u0026 nodeName( target, \"input\" ) \u0026\u0026\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined \u0026\u0026 event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger \u0026 1 ) \u0026\u0026 this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE \u003c=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\treturn result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE \u003c=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src \u0026\u0026 src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined \u0026\u0026\n\n\t\t\t\t// Support: Android \u003c=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari \u003c=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target \u0026\u0026 src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src \u0026\u0026 src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e \u0026\u0026 !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e \u0026\u0026 !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e \u0026\u0026 !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\n\twhich: function( event ) {\n\t\tvar button = event.button;\n\n\t\t// Add which for key events\n\t\tif ( event.which == null \u0026\u0026 rkeyEvent.test( event.type ) ) {\n\t\t\treturn event.charCode != null ? event.charCode : event.keyCode;\n\t\t}\n\n\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\tif ( !event.which \u0026\u0026 button !== undefined \u0026\u0026 rmouseEvent.test( event.type ) ) {\n\t\t\tif ( button \u0026 1 ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ( button \u0026 2 ) {\n\t\t\t\treturn 3;\n\t\t\t}\n\n\t\t\tif ( button \u0026 4 ) {\n\t\t\t\treturn 2;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn event.which;\n\t}\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target \u0026\u0026 !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types \u0026\u0026 types.preventDefault \u0026\u0026 types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE \u003c=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\u003cscript|\u003cstyle|\u003clink/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trcleanScript = /^\\s*\u003c!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)\u003e\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) \u0026\u0026\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i \u003c l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" \u0026\u0026 rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l \u003e 1 \u0026\u0026 typeof value === \"string\" \u0026\u0026\n\t\t\t\t!support.checkClone \u0026\u0026 rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i \u003c l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android \u003c=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i \u003c hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) \u0026\u0026\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) \u0026\u0026\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src \u0026\u0026 ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl \u0026\u0026 !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData \u0026\u0026 node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData \u0026\u0026 isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked \u0026\u0026 ( elem.nodeType === 1 || elem.nodeType === 11 ) \u0026\u0026\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i \u003c l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i \u003c l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length \u003e 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage \u0026\u0026 getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome \u003c=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome \u003c=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined \u0026\u0026 elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" \u0026\u0026 !rnoInnerhtml.test( value ) \u0026\u0026\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i \u003c l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) \u003c 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i \u003c= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android \u003c=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE \u003c=11 only, Firefox \u003c=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition \u0026 boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox \u003c=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari \u003c=9.1 - 10.1, iOS \u003c=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome \u003c=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE \u003c=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions \u0026 it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px\";\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = parseInt( trStyle.height ) \u003e 3;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" \u0026\u0026 !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() \u0026\u0026 rnumnonpx.test( ret ) \u0026\u0026 rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE \u003c=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i \u003c 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox \u0026\u0026 computedVal \u003e= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded \u0026\u0026\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox \u003c=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() \u0026\u0026 isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() \u0026\u0026 nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android \u003c=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) \u0026\u0026 jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) \u0026\u0026\n\n\t\t// Make sure the element is visible \u0026 connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" \u0026\u0026 ( ret = rcssNum.exec( value ) ) \u0026\u0026 ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" \u0026\u0026 !isCustomProp ) {\n\t\t\t\tvalue += ret \u0026\u0026 ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle \u0026\u0026 value === \"\" \u0026\u0026 name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks \u0026\u0026 \"get\" in hooks \u0026\u0026\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks \u0026\u0026 \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" \u0026\u0026 name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) \u0026\u0026\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth \u0026 zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE \u003c=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() \u0026\u0026\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded \u0026\u0026\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox \u0026\u0026 scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract \u0026\u0026 ( matches = rcssNum.exec( value ) ) \u0026\u0026\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i \u003c 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i \u003c len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length \u003e 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks \u0026\u0026 hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks \u0026\u0026 hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null \u0026\u0026 tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 \u0026\u0026 (\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE \u003c=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType \u0026\u0026 tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat \u003c1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false \u0026\u0026 window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i \u003c 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index \u003c length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType \u0026\u0026 isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" \u0026\u0026 dataShow \u0026\u0026 dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow \u0026\u0026 dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween \u0026\u0026 jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox \u0026\u0026 elem.nodeType === 1 ) {\n\n\t\t// Support: IE \u003c=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow \u0026\u0026 dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" \u0026\u0026 restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks \u0026\u0026 \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index \u003c length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent \u003c 1 \u0026\u0026 length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index \u003c length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index \u003c length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index \u003c length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed \u0026\u0026 typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn \u0026\u0026 easing ||\n\t\t\tisFunction( speed ) \u0026\u0026 speed,\n\t\tduration: speed,\n\t\teasing: fn \u0026\u0026 easing || easing \u0026\u0026 !isFunction( easing ) \u0026\u0026 easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -\u003e \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null \u0026\u0026 type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] \u0026\u0026 data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] \u0026\u0026 data[ index ].stop \u0026\u0026 rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this \u0026\u0026\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks \u0026\u0026 hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this \u0026\u0026 timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index \u003c length; index++ ) {\n\t\t\t\tif ( queue[ index ] \u0026\u0026 queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i \u003c timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() \u0026\u0026 timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android \u003c=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE \u003c=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE \u003c=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length \u003e 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks \u0026\u0026 \"set\" in hooks \u0026\u0026\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks \u0026\u0026 \"get\" in hooks \u0026\u0026 ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue \u0026\u0026 value === \"radio\" \u0026\u0026\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value \u0026\u0026 value.match( rnothtmlwhite );\n\n\t\tif ( attrNames \u0026\u0026 elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length \u003e 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks \u0026\u0026 \"set\" in hooks \u0026\u0026\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks \u0026\u0026 \"get\" in hooks \u0026\u0026 ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE \u003c=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) \u0026\u0026\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE \u003c=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent \u0026\u0026 parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute \u0026\u0026 elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 \u0026\u0026 ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) \u003c 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 \u0026\u0026 ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) \u003e -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" \u0026\u0026 isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 \u0026\u0026\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) \u003e -1 ) {\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks \u0026\u0026\n\t\t\t\t\t\"get\" in hooks \u0026\u0026\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE \u003c=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index \u003c 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i \u003c max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE \u003c=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) \u0026\u0026\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled \u0026\u0026\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) \u003e -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) \u003e -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) \u003e -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) \u003c 0 \u0026\u0026 \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" \u0026\u0026 event );\n\n\t\t// Trigger bitmask: \u0026 1 for native handlers; \u0026 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers \u0026\u0026 special.trigger \u0026\u0026 special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers \u0026\u0026 !special.noBubble \u0026\u0026 !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) \u0026\u0026 !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i \u003e 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = (\n\t\t\t\t\tdataPriv.get( cur, \"events\" ) || Object.create( null )\n\t\t\t\t)[ event.type ] \u0026\u0026\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype \u0026\u0026 cur[ ontype ];\n\t\t\tif ( handle \u0026\u0026 handle.apply \u0026\u0026 acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers \u0026\u0026 !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) \u0026\u0026\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype \u0026\u0026 isFunction( elem[ type ] ) \u0026\u0026 !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox \u003c=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome \u003c=48 - 49, Safari \u003c=9.0 - 9.1\n// focus(in | out) events fire after focus \u0026 blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) \u0026 document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" \u0026\u0026 v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional \u0026\u0026 toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery \u0026\u0026 !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"\u0026\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name \u0026\u0026 !jQuery( this ).is( \":disabled\" ) \u0026\u0026\n\t\t\t\trsubmittable.test( this.nodeName ) \u0026\u0026 !rsubmitterTypes.test( type ) \u0026\u0026\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?\u0026])_=[^\u0026]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" \u0026\u0026\n\t\t\t\t!seekingTransport \u0026\u0026 !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] \u0026\u0026 inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] \u0026\u0026 contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev \u0026\u0026 isSuccess \u0026\u0026 s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" \u0026\u0026 prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv \u0026\u0026 s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context \u0026\u0026\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE \u003c=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE \u003c=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data \u0026\u0026 s.processData \u0026\u0026 typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event \u0026\u0026 s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals \u0026\u0026 jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data \u0026\u0026 ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"\u0026\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"\u0026\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data \u0026\u0026 s.processData \u0026\u0026\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data \u0026\u0026 s.hasContent \u0026\u0026 s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] \u0026\u0026 s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend \u0026\u0026\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async \u0026\u0026 s.timeout \u003e 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status \u003e 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status \u003e= 200 \u0026\u0026 status \u003c 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script\n\t\t\tif ( !isSuccess \u0026\u0026 jQuery.inArray( \"script\", s.dataTypes ) \u003e -1 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status \u003c 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) \u0026\u0026 url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE \u003c=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported \u0026\u0026 ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported \u0026\u0026 !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType \u0026\u0026 xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain \u0026\u0026 !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE \u003c=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE \u003c=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent \u0026\u0026 options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"\u003cscript\u003e\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=\u0026|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false \u0026\u0026 ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" \u0026\u0026\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 \u0026\u0026\n\t\t\t\trjsonp.test( s.data ) \u0026\u0026 \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"\u0026\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer \u0026\u0026 isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"\u003cform\u003e\u003c/form\u003e\u003cform\u003e\u003c/form\u003e\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts \u0026\u0026 [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts \u0026\u0026 scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off \u003e -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params \u0026\u0026 typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length \u003e 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"\u003cdiv\u003e\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback \u0026\u0026 function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) \u0026\u0026\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) \u003e -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tif ( typeof props.top === \"number\" ) {\n\t\t\t\tprops.top += \"px\";\n\t\t\t}\n\t\t\tif ( typeof props.left === \"number\" ) {\n\t\t\t\tprops.left += \"px\";\n\t\t\t}\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE \u003c=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent \u0026\u0026\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) \u0026\u0026\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent \u0026\u0026 offsetParent !== elem \u0026\u0026 offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t// documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent \u0026\u0026 jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari \u003c=7 - 9.1, Chrome \u003c=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name },\n\t\tfunction( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length \u0026\u0026 ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\njQuery.each( ( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( _i, name ) {\n\n\t\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length \u003e 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t} );\n\n\n\n\n// Support: Android \u003c=4.0 only\n// Make sure we trim BOM and NBSP\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) \u0026\u0026\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" \u0026\u0026 define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep \u0026\u0026 window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n;(function($) {\n var o = $({});\n $.each({\n trigger: 'publish',\n on: 'subscribe',\n off: 'unsubscribe'\n }, function(key, val) {\n jQuery[val] = function() {\n o[key].apply(o, arguments);\n };\n });\n})(jQuery);\n/*!\n * The Final Countdown for jQuery v2.1.0 (http://hilios.github.io/jQuery.countdown/)\n * Copyright (c) 2015 Edson Hilios\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n(function(factory) {\n \"use strict\";\n if (typeof define === \"function\" \u0026\u0026 define.amd) {\n define([ \"jquery\" ], factory);\n } else {\n factory(jQuery);\n }\n})(function($) {\n \"use strict\";\n var instances = [], matchers = [], defaultOptions = {\n precision: 100,\n elapse: false\n };\n matchers.push(/^[0-9]*$/.source);\n matchers.push(/([0-9]{1,2}\\/){2}[0-9]{4}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);\n matchers.push(/[0-9]{4}([\\/\\-][0-9]{1,2}){2}( [0-9]{1,2}(:[0-9]{2}){2})?/.source);\n matchers = new RegExp(matchers.join(\"|\"));\n function parseDateString(dateString) {\n if (dateString instanceof Date) {\n return dateString;\n }\n if (String(dateString).match(matchers)) {\n if (String(dateString).match(/^[0-9]*$/)) {\n dateString = Number(dateString);\n }\n if (String(dateString).match(/\\-/)) {\n dateString = String(dateString).replace(/\\-/g, \"/\");\n }\n return new Date(dateString);\n } else {\n throw new Error(\"Couldn't cast `\" + dateString + \"` to a date object.\");\n }\n }\n var DIRECTIVE_KEY_MAP = {\n Y: \"years\",\n m: \"months\",\n n: \"daysToMonth\",\n w: \"weeks\",\n d: \"daysToWeek\",\n D: \"totalDays\",\n H: \"hours\",\n M: \"minutes\",\n S: \"seconds\"\n };\n function escapedRegExp(str) {\n var sanitize = str.toString().replace(/([.?*+^$[\\]\\\\(){}|-])/g, \"\\\\$1\");\n return new RegExp(sanitize);\n }\n function strftime(offsetObject) {\n return function(format) {\n var directives = format.match(/%(-|!)?[A-Z]{1}(:[^;]+;)?/gi);\n if (directives) {\n for (var i = 0, len = directives.length; i \u003c len; ++i) {\n var directive = directives[i].match(/%(-|!)?([a-zA-Z]{1})(:[^;]+;)?/), regexp = escapedRegExp(directive[0]), modifier = directive[1] || \"\", plural = directive[3] || \"\", value = null;\n directive = directive[2];\n if (DIRECTIVE_KEY_MAP.hasOwnProperty(directive)) {\n value = DIRECTIVE_KEY_MAP[directive];\n value = Number(offsetObject[value]);\n }\n if (value !== null) {\n if (modifier === \"!\") {\n value = pluralize(plural, value);\n }\n if (modifier === \"\") {\n if (value \u003c 10) {\n value = \"0\" + value.toString();\n }\n }\n format = format.replace(regexp, value.toString());\n }\n }\n }\n format = format.replace(/%%/, \"%\");\n return format;\n };\n }\n function pluralize(format, count) {\n var plural = \"s\", singular = \"\";\n if (format) {\n format = format.replace(/(:|;|\\s)/gi, \"\").split(/\\,/);\n if (format.length === 1) {\n plural = format[0];\n } else {\n singular = format[0];\n plural = format[1];\n }\n }\n if (Math.abs(count) === 1) {\n return singular;\n } else {\n return plural;\n }\n }\n var Countdown = function(el, finalDate, options) {\n this.el = el;\n this.$el = $(el);\n this.interval = null;\n this.offset = {};\n this.options = $.extend({}, defaultOptions);\n this.instanceNumber = instances.length;\n instances.push(this);\n this.$el.data(\"countdown-instance\", this.instanceNumber);\n if (options) {\n if (typeof options === \"function\") {\n this.$el.on(\"update.countdown\", options);\n this.$el.on(\"stoped.countdown\", options);\n this.$el.on(\"finish.countdown\", options);\n } else {\n this.options = $.extend({}, defaultOptions, options);\n }\n }\n this.setFinalDate(finalDate);\n this.start();\n };\n $.extend(Countdown.prototype, {\n start: function() {\n if (this.interval !== null) {\n clearInterval(this.interval);\n }\n var self = this;\n this.update();\n this.interval = setInterval(function() {\n self.update.call(self);\n }, this.options.precision);\n },\n stop: function() {\n clearInterval(this.interval);\n this.interval = null;\n this.dispatchEvent(\"stoped\");\n },\n toggle: function() {\n if (this.interval) {\n this.stop();\n } else {\n this.start();\n }\n },\n pause: function() {\n this.stop();\n },\n resume: function() {\n this.start();\n },\n remove: function() {\n this.stop.call(this);\n instances[this.instanceNumber] = null;\n delete this.$el.data().countdownInstance;\n },\n setFinalDate: function(value) {\n this.finalDate = parseDateString(value);\n },\n update: function() {\n if (this.$el.closest(\"html\").length === 0) {\n this.remove();\n return;\n }\n var hasEventsAttached = $._data(this.el, \"events\") !== undefined, now = new Date(), newTotalSecsLeft;\n newTotalSecsLeft = this.finalDate.getTime() - now.getTime();\n newTotalSecsLeft = Math.ceil(newTotalSecsLeft / 1e3);\n newTotalSecsLeft = !this.options.elapse \u0026\u0026 newTotalSecsLeft \u003c 0 ? 0 : Math.abs(newTotalSecsLeft);\n if (this.totalSecsLeft === newTotalSecsLeft || !hasEventsAttached) {\n return;\n } else {\n this.totalSecsLeft = newTotalSecsLeft;\n }\n this.elapsed = now \u003e= this.finalDate;\n this.offset = {\n seconds: this.totalSecsLeft % 60,\n minutes: Math.floor(this.totalSecsLeft / 60) % 60,\n hours: Math.floor(this.totalSecsLeft / 60 / 60) % 24,\n days: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,\n daysToWeek: Math.floor(this.totalSecsLeft / 60 / 60 / 24) % 7,\n daysToMonth: Math.floor(this.totalSecsLeft / 60 / 60 / 24 % 30.4368),\n totalDays: Math.floor(this.totalSecsLeft / 60 / 60 / 24),\n weeks: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 7),\n months: Math.floor(this.totalSecsLeft / 60 / 60 / 24 / 30.4368),\n years: Math.abs(this.finalDate.getFullYear() - now.getFullYear())\n };\n if (!this.options.elapse \u0026\u0026 this.totalSecsLeft === 0) {\n this.stop();\n this.dispatchEvent(\"finish\");\n } else {\n this.dispatchEvent(\"update\");\n }\n },\n dispatchEvent: function(eventName) {\n var event = $.Event(eventName + \".countdown\");\n event.finalDate = this.finalDate;\n event.elapsed = this.elapsed;\n event.offset = $.extend({}, this.offset);\n event.strftime = strftime(this.offset);\n this.$el.trigger(event);\n }\n });\n $.fn.countdown = function() {\n var argumentsArray = Array.prototype.slice.call(arguments, 0);\n return this.each(function() {\n var instanceNumber = $(this).data(\"countdown-instance\");\n if (instanceNumber !== undefined) {\n var instance = instances[instanceNumber], method = argumentsArray[0];\n if (Countdown.prototype.hasOwnProperty(method)) {\n instance[method].apply(instance, argumentsArray.slice(1));\n } else if (String(method).match(/^[$A-Z_][0-9A-Z_$]*$/i) === null) {\n instance.setFinalDate.call(instance, method);\n instance.start();\n } else {\n $.error(\"Method %s does not exist on jQuery.countdown\".replace(/\\%s/gi, method));\n }\n } else {\n new Countdown(this, argumentsArray[0], argumentsArray[1]);\n }\n });\n };\n});\n/*\n Copyright (C) Federico Zivolo 2019\n Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).\n */(function(e,t){'object'==typeof exports\u0026\u0026'undefined'!=typeof module?module.exports=t():'function'==typeof define\u0026\u0026define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e\u0026\u0026'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e\u0026\u0026e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o\u0026\u0026e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n\u0026\u0026n.nodeName;return i\u0026\u0026'BODY'!==i\u0026\u0026'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)\u0026\u0026'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t\u0026\u0026('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)\u0026Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l\u0026\u0026t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1\u003carguments.length\u0026\u0026void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2\u003carguments.length\u0026\u0026void 0!==arguments[2]\u0026\u0026arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return ee(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?parseInt(o['offset'+e])+parseInt(n['margin'+('Height'===e?'Top':'Left')])+parseInt(n['margin'+('Height'===e?'Bottom':'Right')]):0)}function c(e){var t=e.body,o=e.documentElement,n=r(10)\u0026\u0026getComputedStyle(o);return{height:h('Height',t,o,n),width:h('Width',t,o,n)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c(e.ownerDocument):{},d=s.width||e.clientWidth||p.width,a=s.height||e.clientHeight||p.height,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2\u003carguments.length\u0026\u0026void 0!==arguments[2]\u0026\u0026arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i\u0026\u0026s\u0026\u0026(a.top=ee(a.top,0),a.left=ee(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p\u0026\u0026s){var w=parseFloat(m.marginTop,10),y=parseFloat(m.marginLeft,10);b.top-=h-w,b.bottom-=h-w,b.left-=c-y,b.right-=c-y,b.marginTop=w,b.marginLeft=y}return(p\u0026\u0026!i?o.contains(l):o===l\u0026\u0026'BODY'!==l.nodeName)\u0026\u0026(b=f(b,o)),b}function w(e){var t=1\u003carguments.length\u0026\u0026void 0!==arguments[1]\u0026\u0026arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=ee(o.clientWidth,window.innerWidth||0),r=ee(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function y(e){var n=e.nodeName;if('BODY'===n||'HTML'===n)return!1;if('fixed'===t(e,'position'))return!0;var i=o(e);return!!i\u0026\u0026y(i)}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o\u0026\u0026'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,r,p){var s=4\u003carguments.length\u0026\u0026void 0!==arguments[4]\u0026\u0026arguments[4],d={top:0,left:0},l=s?E(e):a(e,i(t));if('viewport'===p)d=w(l,s);else{var f;'scrollParent'===p?(f=n(o(t)),'BODY'===f.nodeName\u0026\u0026(f=e.ownerDocument.documentElement)):'window'===p?f=e.ownerDocument.documentElement:f=p;var m=b(f,l,s);if('HTML'===f.nodeName\u0026\u0026!y(l)){var h=c(e.ownerDocument),g=h.height,u=h.width;d.top+=m.top-m.marginTop,d.bottom=g+m.top,d.left+=m.left-m.marginLeft,d.right=u+m.left}else d=m}r=r||0;var v='number'==typeof r;return d.left+=v?r:r.left||0,d.top+=v?r:r.top||0,d.right-=v?r:r.right||0,d.bottom-=v?r:r.bottom||0,d}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5\u003carguments.length\u0026\u0026void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t\u003e=o.clientWidth\u0026\u0026n\u003e=o.clientHeight}),l=0\u003ca.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3\u003carguments.length\u0026\u0026void 0!==arguments[3]?arguments[3]:null,r=n?E(t):a(t,i(o));return b(o,r,n)}function S(e){var t=e.ownerDocument.defaultView,o=t.getComputedStyle(e),n=parseFloat(o.marginTop||0)+parseFloat(o.marginBottom||0),i=parseFloat(o.marginLeft||0)+parseFloat(o.marginRight||0),r={width:e.offsetWidth+i,height:e.offsetHeight+n};return r}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']\u0026\u0026console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled\u0026\u0026e(n)\u0026\u0026(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n\u0026\u0026o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n\u003ct.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')\u0026\u0026(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy\u0026\u0026this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function F(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function I(){this.state.eventsEnabled||(this.state=F(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled\u0026\u0026(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e\u0026\u0026!isNaN(parseFloat(e))\u0026\u0026isFinite(e)}function V(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)\u0026\u0026Y(t[o])\u0026\u0026(n='px'),e.style[o]=t[o]+n})}function j(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t){var o=e.offsets,n=o.popper,i=o.reference,r=$,p=function(e){return e},s=r(i.width),d=r(n.width),a=-1!==['left','right'].indexOf(e.placement),l=-1!==e.placement.indexOf('-'),f=t?a||l||s%2==d%2?r:Z:p,m=t?r:p;return{left:f(1==s%2\u0026\u00261==d%2\u0026\u0026!l\u0026\u0026t?n.left-1:n.left),top:m(n.top),bottom:m(n.bottom),right:f(n.right)}}function K(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n\u0026\u0026e.some(function(e){return e.name===o\u0026\u0026e.enabled\u0026\u0026e.order\u003cn.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function z(e){return'end'===e?'start':'start'===e?'end':e}function G(e){var t=1\u003carguments.length\u0026\u0026void 0!==arguments[1]\u0026\u0026arguments[1],o=he.indexOf(e),n=he.slice(o+1).concat(he.slice(0,o));return t?n.reverse():n}function _(e,t,o,n){var i=e.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?ee(document.documentElement.clientHeight,window.innerHeight||0):ee(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function X(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\\+|\\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\\s/)}));p[s]\u0026\u0026-1===p[s].indexOf(',')\u0026\u0026console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\\s*,\\s*|\\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]\u0026\u0026-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return _(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)\u0026\u0026(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function J(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:X(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d\u0026\u0026(p.left+=o[0],p.top+=o[1]),e.popper=p,e}var Q=Math.min,Z=Math.floor,$=Math.round,ee=Math.max,te='undefined'!=typeof window\u0026\u0026'undefined'!=typeof document\u0026\u0026'undefined'!=typeof navigator,oe=function(){for(var e=['Edge','Trident','Firefox'],t=0;t\u003ce.length;t+=1)if(te\u0026\u00260\u003c=navigator.userAgent.indexOf(e[t]))return 1;return 0}(),ne=te\u0026\u0026window.Promise,ie=ne?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=te\u0026\u0026!!(window.MSInputMethodContext\u0026\u0026document.documentMode),pe=te\u0026\u0026/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n\u003ct.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o\u0026\u0026(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o\u0026\u0026e(t.prototype,o),n\u0026\u0026e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o\u003carguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)\u0026\u0026(e[n]=t[n]);return e},fe=te\u0026\u0026/Firefox/i.test(navigator.userAgent),me=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],he=me.slice(3),ce={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ge=function(){function t(o,n){var i=this,r=2\u003carguments.length\u0026\u0026void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o\u0026\u0026o.jquery?o[0]:o,this.popper=n\u0026\u0026n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled\u0026\u0026e(t.onLoad)\u0026\u0026t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p\u0026\u0026this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return I.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ge.Utils=('undefined'==typeof window?global:window).PopperUtils,ge.placements=me,ge.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:J,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o\u0026\u0026(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]\u003ca[e]\u0026\u0026!t.escapeWithReference\u0026\u0026(o=ee(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]\u003ea[e]\u0026\u0026!t.escapeWithReference\u0026\u0026(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]\u003cr(n[d])\u0026\u0026(e.offsets.popper[d]=r(n[d])-o[a]),o[d]\u003er(n[s])\u0026\u0026(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u\u003cs[m]\u0026\u0026(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u\u003es[c]\u0026\u0026(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped\u0026\u0026e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n\u0026\u0026f(a.right)\u003ef(l.left)||'right'===n\u0026\u0026f(a.left)\u003cf(l.right)||'top'===n\u0026\u0026f(a.bottom)\u003ef(l.top)||'bottom'===n\u0026\u0026f(a.top)\u003cf(l.bottom),h=f(a.left)\u003cf(o.left),c=f(a.right)\u003ef(o.right),g=f(a.top)\u003cf(o.top),u=f(a.bottom)\u003ef(o.bottom),b='left'===n\u0026\u0026h||'right'===n\u0026\u0026c||'top'===n\u0026\u0026g||'bottom'===n\u0026\u0026u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations\u0026\u0026(w\u0026\u0026'start'===r\u0026\u0026h||w\u0026\u0026'end'===r\u0026\u0026c||!w\u0026\u0026'start'===r\u0026\u0026g||!w\u0026\u0026'end'===r\u0026\u0026u),E=!!t.flipVariationsByContent\u0026\u0026(w\u0026\u0026'start'===r\u0026\u0026c||w\u0026\u0026'end'===r\u0026\u0026h||!w\u0026\u0026'start'===r\u0026\u0026u||!w\u0026\u0026'end'===r\u0026\u0026g),v=y||E;(m||b||v)\u0026\u0026(e.flipped=!0,(m||b)\u0026\u0026(n=p[d+1]),v\u0026\u0026(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom\u003co.top||t.left\u003eo.right||t.top\u003eo.bottom||t.right\u003co.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r\u0026\u0026console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h=q(e,2\u003ewindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a\u0026\u0026b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={\"x-placement\":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement\u0026\u0026Object.keys(e.arrowStyles).length\u0026\u0026V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge});\n/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n(function (global, factory) {\n typeof exports === 'object' \u0026\u0026 typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :\n typeof define === 'function' \u0026\u0026 define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\n}(this, (function (exports, $, Popper) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e \u0026\u0026 typeof e === 'object' \u0026\u0026 'default' in e ? e : { 'default': e }; }\n\n var $__default = /*#__PURE__*/_interopDefaultLegacy($);\n var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);\n\n function _defineProperties(target, props) {\n for (var i = 0; i \u003c props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i \u003c arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($__default['default'](event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined;\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $__default['default'](this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $__default['default'].fn.emulateTransitionEnd = transitionEndEmulator;\n $__default['default'].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr \u0026\u0026 hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (_) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $__default['default'](element).css('transition-duration');\n var transitionDelay = $__default['default'](element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration \u0026\u0026 !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $__default['default'](element).trigger(TRANSITION_END);\n },\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value \u0026\u0026 Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $__default['default'].fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] \u003c ltMajor \u0026\u0026 version[1] \u003c minMinor || version[0] === minMajor \u0026\u0026 version[1] === minMinor \u0026\u0026 version[2] \u003c minPatch || version[0] \u003e= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.6.0';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];\n var SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\n var EVENT_CLOSE = \"close\" + EVENT_KEY;\n var EVENT_CLOSED = \"closed\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_ALERT = 'alert';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = /*#__PURE__*/function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype;\n\n // Public\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $__default['default'](element).closest(\".\" + CLASS_NAME_ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $__default['default'].Event(EVENT_CLOSE);\n $__default['default'](element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $__default['default'](element).removeClass(CLASS_NAME_SHOW);\n\n if (!$__default['default'](element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $__default['default'](element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $__default['default'](element).detach().trigger(EVENT_CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME] = Alert._jQueryInterface;\n $__default['default'].fn[NAME].Constructor = Alert;\n\n $__default['default'].fn[NAME].noConflict = function () {\n $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$1 = 'button';\n var VERSION$1 = '4.6.0';\n var DATA_KEY$1 = 'bs.button';\n var EVENT_KEY$1 = \".\" + DATA_KEY$1;\n var DATA_API_KEY$1 = '.data-api';\n var JQUERY_NO_CONFLICT$1 = $__default['default'].fn[NAME$1];\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_BUTTON = 'btn';\n var CLASS_NAME_FOCUS = 'focus';\n var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]';\n var SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\n var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn';\n var SELECTOR_INPUT = 'input:not([type=\"hidden\"])';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_BUTTON = '.btn';\n var EVENT_CLICK_DATA_API$1 = \"click\" + EVENT_KEY$1 + DATA_API_KEY$1;\n var EVENT_FOCUS_BLUR_DATA_API = \"focus\" + EVENT_KEY$1 + DATA_API_KEY$1 + \" \" + (\"blur\" + EVENT_KEY$1 + DATA_API_KEY$1);\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY$1 + DATA_API_KEY$1;\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = /*#__PURE__*/function () {\n function Button(element) {\n this._element = element;\n this.shouldAvoidTriggerChange = false;\n } // Getters\n\n\n var _proto = Button.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $__default['default'](this._element).closest(SELECTOR_DATA_TOGGLES)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(SELECTOR_INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked \u0026\u0026 this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);\n\n if (activeElement) {\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $__default['default'](input).trigger('change');\n }\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $__default['default'](this._element).toggleClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$1);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$1);\n\n if (!data) {\n data = new Button(this);\n $element.data(DATA_KEY$1, data);\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange;\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$1;\n }\n }]);\n\n return Button;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = event.target;\n var initialButton = button;\n\n if (!$__default['default'](button).hasClass(CLASS_NAME_BUTTON)) {\n button = $__default['default'](button).closest(SELECTOR_BUTTON)[0];\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault(); // work around Firefox bug #1540995\n } else {\n var inputBtn = button.querySelector(SELECTOR_INPUT);\n\n if (inputBtn \u0026\u0026 (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault(); // work around Firefox bug #1540995\n\n return;\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($__default['default'](button), 'toggle', initialButton.tagName === 'INPUT');\n }\n }\n }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = $__default['default'](event.target).closest(SELECTOR_BUTTON)[0];\n $__default['default'](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));\n });\n $__default['default'](window).on(EVENT_LOAD_DATA_API, function () {\n // ensure correct active class is set to match the controls' actual values/states\n // find all checkboxes/readio buttons inside data-toggle groups\n var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));\n\n for (var i = 0, len = buttons.length; i \u003c len; i++) {\n var button = buttons[i];\n var input = button.querySelector(SELECTOR_INPUT);\n\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE);\n }\n } // find all button toggles\n\n\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var _i = 0, _len = buttons.length; _i \u003c _len; _i++) {\n var _button = buttons[_i];\n\n if (_button.getAttribute('aria-pressed') === 'true') {\n _button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n _button.classList.remove(CLASS_NAME_ACTIVE);\n }\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$1] = Button._jQueryInterface;\n $__default['default'].fn[NAME$1].Constructor = Button;\n\n $__default['default'].fn[NAME$1].noConflict = function () {\n $__default['default'].fn[NAME$1] = JQUERY_NO_CONFLICT$1;\n return Button._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$2 = 'carousel';\n var VERSION$2 = '4.6.0';\n var DATA_KEY$2 = 'bs.carousel';\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\n var DATA_API_KEY$2 = '.data-api';\n var JQUERY_NO_CONFLICT$2 = $__default['default'].fn[NAME$2];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY$2;\n var EVENT_SLID = \"slid\" + EVENT_KEY$2;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY$2;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY$2;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY$2;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY$2;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY$2;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY$2;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY$2;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY$2;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY$2;\n var EVENT_LOAD_DATA_API$1 = \"load\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var EVENT_CLICK_DATA_API$2 = \"click\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE$1 = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var SELECTOR_ACTIVE$1 = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints \u003e 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype;\n\n // Public\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n var $element = $__default['default'](this._element); // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n\n if (!document.hidden \u0026\u0026 $element.is(':visible') \u0026\u0026 $element.css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval \u0026\u0026 !this._isPaused) {\n this._updateInterval();\n\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index \u003e this._items.length - 1 || index \u003c 0) {\n return;\n }\n\n if (this._isSliding) {\n $__default['default'](this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index \u003e activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $__default['default'](this._element).off(EVENT_KEY$2);\n $__default['default'].removeData(this._element, DATA_KEY$2);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default, config);\n Util.typeCheckConfig(NAME$2, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax \u003c= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction \u003e 0) {\n this.prev();\n } // swipe right\n\n\n if (direction \u003c 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $__default['default'](this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $__default['default'](this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent \u0026\u0026 PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches \u0026\u0026 event.originalEvent.touches.length \u003e 1) {\n _this3.touchDeltaX = 0;\n } else {\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\n }\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent \u0026\u0026 PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $__default['default'](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $__default['default'](this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $__default['default'](this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $__default['default'](this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $__default['default'](this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $__default['default'](this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element \u0026\u0026 element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection \u0026\u0026 activeIndex === 0 || isNextDirection \u0026\u0026 activeIndex === lastItemIndex;\n\n if (isGoingToWrap \u0026\u0026 !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $__default['default'].Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $__default['default'](this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));\n $__default['default'](indicators).removeClass(CLASS_NAME_ACTIVE$1);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $__default['default'](nextIndicator).addClass(CLASS_NAME_ACTIVE$1);\n }\n }\n };\n\n _proto._updateInterval = function _updateInterval() {\n var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n if (!element) {\n return;\n }\n\n var elementInterval = parseInt(element.getAttribute('data-interval'), 10);\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = elementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement \u0026\u0026 this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement \u0026\u0026 $__default['default'](nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n this._activeElement = nextElement;\n var slidEvent = $__default['default'].Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_SLIDE)) {\n $__default['default'](nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $__default['default'](activeElement).addClass(directionalClassName);\n $__default['default'](nextElement).addClass(directionalClassName);\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $__default['default'](activeElement).one(Util.TRANSITION_END, function () {\n $__default['default'](nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE$1);\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1 + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $__default['default'](_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $__default['default'](activeElement).removeClass(CLASS_NAME_ACTIVE$1);\n $__default['default'](nextElement).addClass(CLASS_NAME_ACTIVE$1);\n this._isSliding = false;\n $__default['default'](this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$2);\n\n var _config = _extends({}, Default, $__default['default'](this).data());\n\n if (typeof config === 'object') {\n _config = _extends({}, _config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $__default['default'](this).data(DATA_KEY$2, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval \u0026\u0026 _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $__default['default'](selector)[0];\n\n if (!target || !$__default['default'](target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _extends({}, $__default['default'](target).data(), $__default['default'](this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($__default['default'](target), config);\n\n if (slideIndex) {\n $__default['default'](target).data(DATA_KEY$2).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$2;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $__default['default'](window).on(EVENT_LOAD_DATA_API$1, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i \u003c len; i++) {\n var $carousel = $__default['default'](carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$2] = Carousel._jQueryInterface;\n $__default['default'].fn[NAME$2].Constructor = Carousel;\n\n $__default['default'].fn[NAME$2].noConflict = function () {\n $__default['default'].fn[NAME$2] = JQUERY_NO_CONFLICT$2;\n return Carousel._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$3 = 'collapse';\n var VERSION$3 = '4.6.0';\n var DATA_KEY$3 = 'bs.collapse';\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\n var DATA_API_KEY$3 = '.data-api';\n var JQUERY_NO_CONFLICT$3 = $__default['default'].fn[NAME$3];\n var Default$1 = {\n toggle: true,\n parent: ''\n };\n var DefaultType$1 = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n var EVENT_SHOW = \"show\" + EVENT_KEY$3;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY$3;\n var EVENT_HIDE = \"hide\" + EVENT_KEY$3;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY$3;\n var EVENT_CLICK_DATA_API$3 = \"click\" + EVENT_KEY$3 + DATA_API_KEY$3;\n var CLASS_NAME_SHOW$1 = 'show';\n var CLASS_NAME_COLLAPSE = 'collapse';\n var CLASS_NAME_COLLAPSING = 'collapsing';\n var CLASS_NAME_COLLAPSED = 'collapsed';\n var DIMENSION_WIDTH = 'width';\n var DIMENSION_HEIGHT = 'height';\n var SELECTOR_ACTIVES = '.show, .collapsing';\n var SELECTOR_DATA_TOGGLE$1 = '[data-toggle=\"collapse\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = /*#__PURE__*/function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));\n\n for (var i = 0, len = toggleList.length; i \u003c len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null \u0026\u0026 filterElement.length \u003e 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY$3);\n\n if (activesData \u0026\u0026 activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $__default['default'].Event(EVENT_SHOW);\n $__default['default'](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $__default['default'](actives).data(DATA_KEY$3, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $__default['default'](_this._element).trigger(EVENT_SHOWN);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var startEvent = $__default['default'].Event(EVENT_HIDE);\n $__default['default'](this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength \u003e 0) {\n for (var i = 0; i \u003c triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {\n $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$3);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$1, config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME$3, config, DefaultType$1);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $__default['default'](children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW$1);\n\n if (triggerArray.length) {\n $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$3);\n\n var _config = _extends({}, Default$1, $element.data(), typeof config === 'object' \u0026\u0026 config ? config : {});\n\n if (!data \u0026\u0026 _config.toggle \u0026\u0026 typeof config === 'string' \u0026\u0026 /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $element.data(DATA_KEY$3, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$3;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {\n // preventDefault only for \u003ca\u003e elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $__default['default'](this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $__default['default'](selectors).each(function () {\n var $target = $__default['default'](this);\n var data = $target.data(DATA_KEY$3);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$3] = Collapse._jQueryInterface;\n $__default['default'].fn[NAME$3].Constructor = Collapse;\n\n $__default['default'].fn[NAME$3].noConflict = function () {\n $__default['default'].fn[NAME$3] = JQUERY_NO_CONFLICT$3;\n return Collapse._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$4 = 'dropdown';\n var VERSION$4 = '4.6.0';\n var DATA_KEY$4 = 'bs.dropdown';\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\n var DATA_API_KEY$4 = '.data-api';\n var JQUERY_NO_CONFLICT$4 = $__default['default'].fn[NAME$4];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\n var EVENT_HIDE$1 = \"hide\" + EVENT_KEY$4;\n var EVENT_HIDDEN$1 = \"hidden\" + EVENT_KEY$4;\n var EVENT_SHOW$1 = \"show\" + EVENT_KEY$4;\n var EVENT_SHOWN$1 = \"shown\" + EVENT_KEY$4;\n var EVENT_CLICK = \"click\" + EVENT_KEY$4;\n var EVENT_CLICK_DATA_API$4 = \"click\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYDOWN_DATA_API = \"keydown\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYUP_DATA_API = \"keyup\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_SHOW$2 = 'show';\n var CLASS_NAME_DROPUP = 'dropup';\n var CLASS_NAME_DROPRIGHT = 'dropright';\n var CLASS_NAME_DROPLEFT = 'dropleft';\n var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\n var CLASS_NAME_POSITION_STATIC = 'position-static';\n var SELECTOR_DATA_TOGGLE$2 = '[data-toggle=\"dropdown\"]';\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_MENU = '.dropdown-menu';\n var SELECTOR_NAVBAR_NAV = '.navbar-nav';\n var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n var PLACEMENT_TOP = 'top-start';\n var PLACEMENT_TOPEND = 'top-end';\n var PLACEMENT_BOTTOM = 'bottom-start';\n var PLACEMENT_BOTTOMEND = 'bottom-end';\n var PLACEMENT_RIGHT = 'right-start';\n var PLACEMENT_LEFT = 'left-start';\n var Default$2 = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n };\n var DefaultType$2 = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = /*#__PURE__*/function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype;\n\n // Public\n _proto.toggle = function toggle() {\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n this.show(true);\n };\n\n _proto.show = function show(usePopper) {\n if (usePopper === void 0) {\n usePopper = false;\n }\n\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $__default['default'].Event(EVENT_SHOW$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default['default'](parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Totally disable Popper for Dropdowns in Navbar\n\n\n if (!this._inNavbar \u0026\u0026 usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);\n }\n\n this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement \u0026\u0026 $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_SHOWN$1, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $__default['default'](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).toggleClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$4);\n $__default['default'](this._element).off(EVENT_KEY$4);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $__default['default'](this._element).on(EVENT_CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $__default['default'](this._element.parentNode);\n var placement = PLACEMENT_BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT;\n } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $__default['default'](this._element).closest('.navbar').length \u003e 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }; // Disable Popper if we have a static display\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return _extends({}, popperConfig, this._config.popperConfig);\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$4);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $__default['default'](this).data(DATA_KEY$4, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event \u0026\u0026 (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' \u0026\u0026 event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));\n\n for (var i = 0, len = toggles.length; i \u003c len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $__default['default'](toggles[i]).data(DATA_KEY$4);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event \u0026\u0026 event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW$2)) {\n continue;\n }\n\n if (event \u0026\u0026 (event.type === 'click' \u0026\u0026 /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' \u0026\u0026 event.which === TAB_KEYCODE) \u0026\u0026 $__default['default'].contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$1, relatedTarget);\n $__default['default'](parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n if (context._popper) {\n context._popper.destroy();\n }\n\n $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW$2);\n $__default['default'](parent).removeClass(CLASS_NAME_SHOW$2).trigger($__default['default'].Event(EVENT_HIDDEN$1, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN =\u003e not a dropdown command\n // If input/textarea:\n // - If space key =\u003e not a dropdown command\n // - If key is other than escape\n // - If key is not up or down =\u003e not a dropdown command\n // - If trigger inside the menu =\u003e not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE \u0026\u0026 (event.which !== ARROW_DOWN_KEYCODE \u0026\u0026 event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW$2);\n\n if (!isActive \u0026\u0026 event.which === ESCAPE_KEYCODE) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {\n if (event.which === ESCAPE_KEYCODE) {\n $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');\n }\n\n $__default['default'](this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {\n return $__default['default'](item).is(':visible');\n });\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE \u0026\u0026 index \u003e 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE \u0026\u0026 index \u003c items.length - 1) {\n // Down\n index++;\n }\n\n if (index \u003c 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$4;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + \" \" + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');\n }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$4] = Dropdown._jQueryInterface;\n $__default['default'].fn[NAME$4].Constructor = Dropdown;\n\n $__default['default'].fn[NAME$4].noConflict = function () {\n $__default['default'].fn[NAME$4] = JQUERY_NO_CONFLICT$4;\n return Dropdown._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$5 = 'modal';\n var VERSION$5 = '4.6.0';\n var DATA_KEY$5 = 'bs.modal';\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\n var DATA_API_KEY$5 = '.data-api';\n var JQUERY_NO_CONFLICT$5 = $__default['default'].fn[NAME$5];\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default$3 = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType$3 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var EVENT_HIDE$2 = \"hide\" + EVENT_KEY$5;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY$5;\n var EVENT_HIDDEN$2 = \"hidden\" + EVENT_KEY$5;\n var EVENT_SHOW$2 = \"show\" + EVENT_KEY$5;\n var EVENT_SHOWN$2 = \"shown\" + EVENT_KEY$5;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY$5;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY$5;\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY$5;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY$5;\n var EVENT_CLICK_DATA_API$5 = \"click\" + EVENT_KEY$5 + DATA_API_KEY$5;\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE$1 = 'fade';\n var CLASS_NAME_SHOW$3 = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE$3 = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype;\n\n // Public\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {\n this._isTransitioning = true;\n }\n\n var showEvent = $__default['default'].Event(EVENT_SHOW$2, {\n relatedTarget: relatedTarget\n });\n $__default['default'](this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($__default['default'](event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$2);\n $__default['default'](this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $__default['default'](document).off(EVENT_FOCUSIN);\n $__default['default'](this._element).removeClass(CLASS_NAME_SHOW$3);\n $__default['default'](this._element).off(EVENT_CLICK_DISMISS);\n $__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $__default['default'](htmlElement).off(EVENT_KEY$5);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $__default['default'](document).off(EVENT_FOCUSIN);\n $__default['default'].removeData(this._element, DATA_KEY$5);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$3, config);\n Util.typeCheckConfig(NAME$5, config, DefaultType$3);\n return config;\n };\n\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n\n var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);\n $__default['default'](this._element).trigger(hideEventPrevented);\n\n if (hideEventPrevented.isDefaultPrevented()) {\n return;\n }\n\n var isModalOverflowing = this._element.scrollHeight \u003e document.documentElement.clientHeight;\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default['default'](this._element).off(Util.TRANSITION_END);\n $__default['default'](this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n\n if (!isModalOverflowing) {\n $__default['default'](_this3._element).one(Util.TRANSITION_END, function () {\n _this3._element.style.overflowY = '';\n }).emulateTransitionEnd(_this3._element, modalTransitionDuration);\n }\n }).emulateTransitionEnd(modalTransitionDuration);\n\n this._element.focus();\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n\n var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) \u0026\u0026 modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $__default['default'](this._element).addClass(CLASS_NAME_SHOW$3);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $__default['default'].Event(EVENT_SHOWN$2, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n\n _this4._isTransitioning = false;\n $__default['default'](_this4._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $__default['default'](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n\n $__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target \u0026\u0026 _this5._element !== event.target \u0026\u0026 $__default['default'](_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard \u0026\u0026 event.which === ESCAPE_KEYCODE$1) {\n event.preventDefault();\n\n _this6.hide();\n } else if (!_this6._config.keyboard \u0026\u0026 event.which === ESCAPE_KEYCODE$1) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n\n if (this._isShown) {\n $__default['default'](window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $__default['default'](window).off(EVENT_RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $__default['default'](document.body).removeClass(CLASS_NAME_OPEN);\n\n _this8._resetAdjustments();\n\n _this8._resetScrollbar();\n\n $__default['default'](_this8._element).trigger(EVENT_HIDDEN$2);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $__default['default'](this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n\n var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';\n\n if (this._isShown \u0026\u0026 this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $__default['default'](this._backdrop).appendTo(document.body);\n $__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this9._config.backdrop === 'static') {\n _this9._triggerBackdropTransition();\n } else {\n _this9.hide();\n }\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW$3);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $__default['default'](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown \u0026\u0026 this._backdrop) {\n $__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW$3);\n\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE$1)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $__default['default'](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight \u003e document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing \u0026\u0026 isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing \u0026\u0026 !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) \u003c window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $__default['default'](fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $__default['default'](element).css('padding-right');\n $__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $__default['default'](stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $__default['default'](element).css('margin-right');\n $__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $__default['default'](document.body).css('padding-right');\n $__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $__default['default'](document.body).addClass(CLASS_NAME_OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $__default['default'](fixedContent).each(function (index, element) {\n var padding = $__default['default'](element).data('padding-right');\n $__default['default'](element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $__default['default'](elements).each(function (index, element) {\n var margin = $__default['default'](element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $__default['default'](element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $__default['default'](document.body).data('padding-right');\n $__default['default'](document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$5);\n\n var _config = _extends({}, Default$3, $__default['default'](this).data(), typeof config === 'object' \u0026\u0026 config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $__default['default'](this).data(DATA_KEY$5, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }]);\n\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {\n var _this11 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $__default['default'](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $__default['default'](target).one(EVENT_SHOW$2, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(EVENT_HIDDEN$2, function () {\n if ($__default['default'](_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($__default['default'](target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$5] = Modal._jQueryInterface;\n $__default['default'].fn[NAME$5].Constructor = Modal;\n\n $__default['default'].fn[NAME$5].noConflict = function () {\n $__default['default'].fn[NAME$5] = JQUERY_NO_CONFLICT$5;\n return Modal._jQueryInterface;\n };\n\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#\u0026/:?]*(?:[#/?]|$))/gi;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i \u003c len; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn \u0026\u0026 typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i \u003c len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$6 = 'tooltip';\n var VERSION$6 = '4.6.0';\n var DATA_KEY$6 = 'bs.tooltip';\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\n var JQUERY_NO_CONFLICT$6 = $__default['default'].fn[NAME$6];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var DefaultType$4 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default$4 = {\n animation: true,\n template: '\u003cdiv class=\"tooltip\" role=\"tooltip\"\u003e' + '\u003cdiv class=\"arrow\"\u003e\u003c/div\u003e' + '\u003cdiv class=\"tooltip-inner\"\u003e\u003c/div\u003e\u003c/div\u003e',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var Event = {\n HIDE: \"hide\" + EVENT_KEY$6,\n HIDDEN: \"hidden\" + EVENT_KEY$6,\n SHOW: \"show\" + EVENT_KEY$6,\n SHOWN: \"shown\" + EVENT_KEY$6,\n INSERTED: \"inserted\" + EVENT_KEY$6,\n CLICK: \"click\" + EVENT_KEY$6,\n FOCUSIN: \"focusin\" + EVENT_KEY$6,\n FOCUSOUT: \"focusout\" + EVENT_KEY$6,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$6,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$6\n };\n var CLASS_NAME_FADE$2 = 'fade';\n var CLASS_NAME_SHOW$4 = 'show';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper__default['default'] === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n } // private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype;\n\n // Public\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $__default['default'].removeData(this.element, this.constructor.DATA_KEY);\n $__default['default'](this.element).off(this.constructor.EVENT_KEY);\n $__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $__default['default'](this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($__default['default'](this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() \u0026\u0026 this._isEnabled) {\n $__default['default'](this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $__default['default'](tip).addClass(CLASS_NAME_FADE$2);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $__default['default'](tip).data(this.constructor.DATA_KEY, this);\n\n if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {\n $__default['default'](tip).appendTo(container);\n }\n\n $__default['default'](this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));\n $__default['default'](tip).addClass(CLASS_NAME_SHOW$4);\n $__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $__default['default'](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW \u0026\u0026 tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $__default['default'](this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $__default['default'](tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $__default['default'](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default['default'](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $__default['default'](tip).removeClass(CLASS_NAME_FADE$2 + \" \" + CLASS_NAME_SHOW$4);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (typeof content === 'object' \u0026\u0026 (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$__default['default'](content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($__default['default'](content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _extends({}, defaultBsConfig, this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $__default['default'](this.config.container);\n }\n\n return $__default['default'](document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _extends({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $__default['default'](event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $__default['default'](event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $__default['default'](this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' \u0026\u0026 config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default['default'](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null \u0026\u0026 tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $__default['default'](tip).removeClass(CLASS_NAME_FADE$2);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$6);\n\n var _config = typeof config === 'object' \u0026\u0026 config;\n\n if (!data \u0026\u0026 /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $element.data(DATA_KEY$6, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$6;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$6;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$6;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$4;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'].fn[NAME$6] = Tooltip._jQueryInterface;\n $__default['default'].fn[NAME$6].Constructor = Tooltip;\n\n $__default['default'].fn[NAME$6].noConflict = function () {\n $__default['default'].fn[NAME$6] = JQUERY_NO_CONFLICT$6;\n return Tooltip._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$7 = 'popover';\n var VERSION$7 = '4.6.0';\n var DATA_KEY$7 = 'bs.popover';\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\n var JQUERY_NO_CONFLICT$7 = $__default['default'].fn[NAME$7];\n var CLASS_PREFIX$1 = 'bs-popover';\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\n\n var Default$5 = _extends({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '\u003cdiv class=\"popover\" role=\"tooltip\"\u003e' + '\u003cdiv class=\"arrow\"\u003e\u003c/div\u003e' + '\u003ch3 class=\"popover-header\"\u003e\u003c/h3\u003e' + '\u003cdiv class=\"popover-body\"\u003e\u003c/div\u003e\u003c/div\u003e'\n });\n\n var DefaultType$5 = _extends({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n });\n\n var CLASS_NAME_FADE$3 = 'fade';\n var CLASS_NAME_SHOW$5 = 'show';\n var SELECTOR_TITLE = '.popover-header';\n var SELECTOR_CONTENT = '.popover-body';\n var Event$1 = {\n HIDE: \"hide\" + EVENT_KEY$7,\n HIDDEN: \"hidden\" + EVENT_KEY$7,\n SHOW: \"show\" + EVENT_KEY$7,\n SHOWN: \"shown\" + EVENT_KEY$7,\n INSERTED: \"inserted\" + EVENT_KEY$7,\n CLICK: \"click\" + EVENT_KEY$7,\n FOCUSIN: \"focusin\" + EVENT_KEY$7,\n FOCUSOUT: \"focusout\" + EVENT_KEY$7,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$7,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$7\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Popover = /*#__PURE__*/function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype;\n\n // Overrides\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $__default['default'](this.getTipElement()).addClass(CLASS_PREFIX$1 + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $__default['default'](this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $__default['default'](this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content);\n $tip.removeClass(CLASS_NAME_FADE$3 + \" \" + CLASS_NAME_SHOW$5);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $__default['default'](this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\n\n if (tabClass !== null \u0026\u0026 tabClass.length \u003e 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$7);\n\n var _config = typeof config === 'object' ? config : null;\n\n if (!data \u0026\u0026 /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $__default['default'](this).data(DATA_KEY$7, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n // Getters\n get: function get() {\n return VERSION$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$7;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$7;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$1;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$7;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$5;\n }\n }]);\n\n return Popover;\n }(Tooltip);\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'].fn[NAME$7] = Popover._jQueryInterface;\n $__default['default'].fn[NAME$7].Constructor = Popover;\n\n $__default['default'].fn[NAME$7].noConflict = function () {\n $__default['default'].fn[NAME$7] = JQUERY_NO_CONFLICT$7;\n return Popover._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$8 = 'scrollspy';\n var VERSION$8 = '4.6.0';\n var DATA_KEY$8 = 'bs.scrollspy';\n var EVENT_KEY$8 = \".\" + DATA_KEY$8;\n var DATA_API_KEY$6 = '.data-api';\n var JQUERY_NO_CONFLICT$8 = $__default['default'].fn[NAME$8];\n var Default$6 = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n var DefaultType$6 = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n var EVENT_ACTIVATE = \"activate\" + EVENT_KEY$8;\n var EVENT_SCROLL = \"scroll\" + EVENT_KEY$8;\n var EVENT_LOAD_DATA_API$2 = \"load\" + EVENT_KEY$8 + DATA_API_KEY$6;\n var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\n var CLASS_NAME_ACTIVE$2 = 'active';\n var SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\n var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n var SELECTOR_NAV_LINKS = '.nav-link';\n var SELECTOR_NAV_ITEMS = '.nav-item';\n var SELECTOR_LIST_ITEMS = '.list-group-item';\n var SELECTOR_DROPDOWN = '.dropdown';\n var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';\n var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\n var METHOD_OFFSET = 'offset';\n var METHOD_POSITION = 'position';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var ScrollSpy = /*#__PURE__*/function () {\n function ScrollSpy(element, config) {\n var _this = this;\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + \" \" + SELECTOR_NAV_LINKS + \",\" + (this._config.target + \" \" + SELECTOR_LIST_ITEMS + \",\") + (this._config.target + \" \" + SELECTOR_DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n $__default['default'](this._scrollElement).on(EVENT_SCROLL, function (event) {\n return _this._process(event);\n });\n this.refresh();\n\n this._process();\n } // Getters\n\n\n var _proto = ScrollSpy.prototype;\n\n // Public\n _proto.refresh = function refresh() {\n var _this2 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = [].slice.call(document.querySelectorAll(this._selector));\n targets.map(function (element) {\n var target;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = document.querySelector(targetSelector);\n }\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this2._offsets.push(item[0]);\n\n _this2._targets.push(item[1]);\n });\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$8);\n $__default['default'](this._scrollElement).off(EVENT_KEY$8);\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$6, typeof config === 'object' \u0026\u0026 config ? config : {});\n\n if (typeof config.target !== 'string' \u0026\u0026 Util.isElement(config.target)) {\n var id = $__default['default'](config.target).attr('id');\n\n if (!id) {\n id = Util.getUID(NAME$8);\n $__default['default'](config.target).attr('id', id);\n }\n\n config.target = \"#\" + id;\n }\n\n Util.typeCheckConfig(NAME$8, config, DefaultType$6);\n return config;\n };\n\n _proto._getScrollTop = function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n };\n\n _proto._getScrollHeight = function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n };\n\n _proto._getOffsetHeight = function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n };\n\n _proto._process = function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop \u003e= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget \u0026\u0026 scrollTop \u003c this._offsets[0] \u0026\u0026 this._offsets[0] \u003e 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] \u0026\u0026 scrollTop \u003e= this._offsets[i] \u0026\u0026 (typeof this._offsets[i + 1] === 'undefined' || scrollTop \u003c this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n };\n\n _proto._activate = function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',').map(function (selector) {\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\n });\n\n var $link = $__default['default']([].slice.call(document.querySelectorAll(queries.join(','))));\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2);\n $link.addClass(CLASS_NAME_ACTIVE$2);\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active\n // With both \u003cul\u003e and \u003cnav\u003e markup a parent is the previous sibling of any nav ancestor\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + \", \" + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$2); // Handle special case when .nav-link is inside .nav-item\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$2);\n }\n\n $__default['default'](this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n });\n };\n\n _proto._clear = function _clear() {\n [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {\n return node.classList.contains(CLASS_NAME_ACTIVE$2);\n }).forEach(function (node) {\n return node.classList.remove(CLASS_NAME_ACTIVE$2);\n });\n } // Static\n ;\n\n ScrollSpy._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $__default['default'](this).data(DATA_KEY$8);\n\n var _config = typeof config === 'object' \u0026\u0026 config;\n\n if (!data) {\n data = new ScrollSpy(this, _config);\n $__default['default'](this).data(DATA_KEY$8, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(ScrollSpy, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$8;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$6;\n }\n }]);\n\n return ScrollSpy;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](window).on(EVENT_LOAD_DATA_API$2, function () {\n var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));\n var scrollSpysLength = scrollSpys.length;\n\n for (var i = scrollSpysLength; i--;) {\n var $spy = $__default['default'](scrollSpys[i]);\n\n ScrollSpy._jQueryInterface.call($spy, $spy.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$8] = ScrollSpy._jQueryInterface;\n $__default['default'].fn[NAME$8].Constructor = ScrollSpy;\n\n $__default['default'].fn[NAME$8].noConflict = function () {\n $__default['default'].fn[NAME$8] = JQUERY_NO_CONFLICT$8;\n return ScrollSpy._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$9 = 'tab';\n var VERSION$9 = '4.6.0';\n var DATA_KEY$9 = 'bs.tab';\n var EVENT_KEY$9 = \".\" + DATA_KEY$9;\n var DATA_API_KEY$7 = '.data-api';\n var JQUERY_NO_CONFLICT$9 = $__default['default'].fn[NAME$9];\n var EVENT_HIDE$3 = \"hide\" + EVENT_KEY$9;\n var EVENT_HIDDEN$3 = \"hidden\" + EVENT_KEY$9;\n var EVENT_SHOW$3 = \"show\" + EVENT_KEY$9;\n var EVENT_SHOWN$3 = \"shown\" + EVENT_KEY$9;\n var EVENT_CLICK_DATA_API$6 = \"click\" + EVENT_KEY$9 + DATA_API_KEY$7;\n var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\n var CLASS_NAME_ACTIVE$3 = 'active';\n var CLASS_NAME_DISABLED$1 = 'disabled';\n var CLASS_NAME_FADE$4 = 'fade';\n var CLASS_NAME_SHOW$6 = 'show';\n var SELECTOR_DROPDOWN$1 = '.dropdown';\n var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';\n var SELECTOR_ACTIVE$2 = '.active';\n var SELECTOR_ACTIVE_UL = '\u003e li \u003e .active';\n var SELECTOR_DATA_TOGGLE$4 = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\n var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\n var SELECTOR_DROPDOWN_ACTIVE_CHILD = '\u003e .dropdown-menu .active';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tab = /*#__PURE__*/function () {\n function Tab(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Tab.prototype;\n\n // Public\n _proto.show = function show() {\n var _this = this;\n\n if (this._element.parentNode \u0026\u0026 this._element.parentNode.nodeType === Node.ELEMENT_NODE \u0026\u0026 $__default['default'](this._element).hasClass(CLASS_NAME_ACTIVE$3) || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED$1)) {\n return;\n }\n\n var target;\n var previous;\n var listElement = $__default['default'](this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];\n var selector = Util.getSelectorFromElement(this._element);\n\n if (listElement) {\n var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;\n previous = $__default['default'].makeArray($__default['default'](listElement).find(itemSelector));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$3, {\n relatedTarget: this._element\n });\n var showEvent = $__default['default'].Event(EVENT_SHOW$3, {\n relatedTarget: previous\n });\n\n if (previous) {\n $__default['default'](previous).trigger(hideEvent);\n }\n\n $__default['default'](this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n this._activate(this._element, listElement);\n\n var complete = function complete() {\n var hiddenEvent = $__default['default'].Event(EVENT_HIDDEN$3, {\n relatedTarget: _this._element\n });\n var shownEvent = $__default['default'].Event(EVENT_SHOWN$3, {\n relatedTarget: previous\n });\n $__default['default'](previous).trigger(hiddenEvent);\n $__default['default'](_this._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n };\n\n _proto.dispose = function dispose() {\n $__default['default'].removeData(this._element, DATA_KEY$9);\n this._element = null;\n } // Private\n ;\n\n _proto._activate = function _activate(element, container, callback) {\n var _this2 = this;\n\n var activeElements = container \u0026\u0026 (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default['default'](container).find(SELECTOR_ACTIVE_UL) : $__default['default'](container).children(SELECTOR_ACTIVE$2);\n var active = activeElements[0];\n var isTransitioning = callback \u0026\u0026 active \u0026\u0026 $__default['default'](active).hasClass(CLASS_NAME_FADE$4);\n\n var complete = function complete() {\n return _this2._transitionComplete(element, active, callback);\n };\n\n if (active \u0026\u0026 isTransitioning) {\n var transitionDuration = Util.getTransitionDurationFromElement(active);\n $__default['default'](active).removeClass(CLASS_NAME_SHOW$6).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto._transitionComplete = function _transitionComplete(element, active, callback) {\n if (active) {\n $__default['default'](active).removeClass(CLASS_NAME_ACTIVE$3);\n var dropdownChild = $__default['default'](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $__default['default'](dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false);\n }\n }\n\n $__default['default'](element).addClass(CLASS_NAME_ACTIVE$3);\n\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true);\n }\n\n Util.reflow(element);\n\n if (element.classList.contains(CLASS_NAME_FADE$4)) {\n element.classList.add(CLASS_NAME_SHOW$6);\n }\n\n if (element.parentNode \u0026\u0026 $__default['default'](element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n var dropdownElement = $__default['default'](element).closest(SELECTOR_DROPDOWN$1)[0];\n\n if (dropdownElement) {\n var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));\n $__default['default'](dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n } // Static\n ;\n\n Tab._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $__default['default'](this);\n var data = $this.data(DATA_KEY$9);\n\n if (!data) {\n data = new Tab(this);\n $this.data(DATA_KEY$9, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tab, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$9;\n }\n }]);\n\n return Tab;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {\n event.preventDefault();\n\n Tab._jQueryInterface.call($__default['default'](this), 'show');\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $__default['default'].fn[NAME$9] = Tab._jQueryInterface;\n $__default['default'].fn[NAME$9].Constructor = Tab;\n\n $__default['default'].fn[NAME$9].noConflict = function () {\n $__default['default'].fn[NAME$9] = JQUERY_NO_CONFLICT$9;\n return Tab._jQueryInterface;\n };\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME$a = 'toast';\n var VERSION$a = '4.6.0';\n var DATA_KEY$a = 'bs.toast';\n var EVENT_KEY$a = \".\" + DATA_KEY$a;\n var JQUERY_NO_CONFLICT$a = $__default['default'].fn[NAME$a];\n var EVENT_CLICK_DISMISS$1 = \"click.dismiss\" + EVENT_KEY$a;\n var EVENT_HIDE$4 = \"hide\" + EVENT_KEY$a;\n var EVENT_HIDDEN$4 = \"hidden\" + EVENT_KEY$a;\n var EVENT_SHOW$4 = \"show\" + EVENT_KEY$a;\n var EVENT_SHOWN$4 = \"shown\" + EVENT_KEY$a;\n var CLASS_NAME_FADE$5 = 'fade';\n var CLASS_NAME_HIDE = 'hide';\n var CLASS_NAME_SHOW$7 = 'show';\n var CLASS_NAME_SHOWING = 'showing';\n var DefaultType$7 = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n };\n var Default$7 = {\n animation: true,\n autohide: true,\n delay: 500\n };\n var SELECTOR_DATA_DISMISS$1 = '[data-dismiss=\"toast\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Toast = /*#__PURE__*/function () {\n function Toast(element, config) {\n this._element = element;\n this._config = this._getConfig(config);\n this._timeout = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Toast.prototype;\n\n // Public\n _proto.show = function show() {\n var _this = this;\n\n var showEvent = $__default['default'].Event(EVENT_SHOW$4);\n $__default['default'](this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._clearTimeout();\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE$5);\n }\n\n var complete = function complete() {\n _this._element.classList.remove(CLASS_NAME_SHOWING);\n\n _this._element.classList.add(CLASS_NAME_SHOW$7);\n\n $__default['default'](_this._element).trigger(EVENT_SHOWN$4);\n\n if (_this._config.autohide) {\n _this._timeout = setTimeout(function () {\n _this.hide();\n }, _this._config.delay);\n }\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE);\n\n Util.reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto.hide = function hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {\n return;\n }\n\n var hideEvent = $__default['default'].Event(EVENT_HIDE$4);\n $__default['default'](this._element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._close();\n };\n\n _proto.dispose = function dispose() {\n this._clearTimeout();\n\n if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {\n this._element.classList.remove(CLASS_NAME_SHOW$7);\n }\n\n $__default['default'](this._element).off(EVENT_CLICK_DISMISS$1);\n $__default['default'].removeData(this._element, DATA_KEY$a);\n this._element = null;\n this._config = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _extends({}, Default$7, $__default['default'](this._element).data(), typeof config === 'object' \u0026\u0026 config ? config : {});\n Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._setListeners = function _setListeners() {\n var _this2 = this;\n\n $__default['default'](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {\n return _this2.hide();\n });\n };\n\n _proto._close = function _close() {\n var _this3 = this;\n\n var complete = function complete() {\n _this3._element.classList.add(CLASS_NAME_HIDE);\n\n $__default['default'](_this3._element).trigger(EVENT_HIDDEN$4);\n };\n\n this._element.classList.remove(CLASS_NAME_SHOW$7);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $__default['default'](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto._clearTimeout = function _clearTimeout() {\n clearTimeout(this._timeout);\n this._timeout = null;\n } // Static\n ;\n\n Toast._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $__default['default'](this);\n var data = $element.data(DATA_KEY$a);\n\n var _config = typeof config === 'object' \u0026\u0026 config;\n\n if (!data) {\n data = new Toast(this, _config);\n $element.data(DATA_KEY$a, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](this);\n }\n });\n };\n\n _createClass(Toast, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$a;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$7;\n }\n }]);\n\n return Toast;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $__default['default'].fn[NAME$a] = Toast._jQueryInterface;\n $__default['default'].fn[NAME$a].Constructor = Toast;\n\n $__default['default'].fn[NAME$a].noConflict = function () {\n $__default['default'].fn[NAME$a] = JQUERY_NO_CONFLICT$a;\n return Toast._jQueryInterface;\n };\n\n exports.Alert = Alert;\n exports.Button = Button;\n exports.Carousel = Carousel;\n exports.Collapse = Collapse;\n exports.Dropdown = Dropdown;\n exports.Modal = Modal;\n exports.Popover = Popover;\n exports.Scrollspy = ScrollSpy;\n exports.Tab = Tab;\n exports.Toast = Toast;\n exports.Tooltip = Tooltip;\n exports.Util = Util;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n/*! JsRender v0.9.91 (Beta): http://jsviews.com/#jsrender */\n/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */\n/*\n * Best-of-breed templating in browser or on Node.js.\n * Does not require jQuery, or HTML DOM\n * Integrates with JsViews (http://jsviews.com/#jsviews)\n *\n * Copyright 2018, Boris Moore\n * Released under the MIT License.\n */\n\n//jshint -W018, -W041, -W120\n\n(function(factory, global) {\n\t// global var is the this object, which is window when running in the usual browser environment\n\tvar $ = global.jQuery;\n\n\tif (typeof exports === \"object\") { // CommonJS e.g. Browserify\n\t\tmodule.exports = $\n\t\t\t? factory(global, $)\n\t\t\t: function($) { // If no global jQuery, take optional jQuery passed as parameter: require('jsrender')(jQuery)\n\t\t\t\tif ($ \u0026\u0026 !$.fn) {\n\t\t\t\t\tthrow \"Provide jQuery or null\";\n\t\t\t\t}\n\t\t\t\treturn factory(global, $);\n\t\t\t};\n\t} else if (typeof define === \"function\" \u0026\u0026 define.amd) { // AMD script loader, e.g. RequireJS\n\t\tdefine(function() {\n\t\t\treturn factory(global);\n\t\t});\n\t} else { // Browser using plain \u003cscript\u003e tag\n\t\tfactory(global, false);\n\t}\n} (\n\n// factory (for jsrender.js)\nfunction(global, $) {\n\"use strict\";\n\n//========================== Top-level vars ==========================\n\n// global var is the this object, which is window when running in the usual browser environment\nvar setGlobals = $ === false; // Only set globals if script block in browser (not AMD and not CommonJS)\n\n$ = $ \u0026\u0026 $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery.\n\nvar versionNumber = \"v0.9.91\",\n\tjsvStoreName, rTag, rTmplString, topView, $views, $expando,\n\t_ocp = \"_ocp\", // Observable contextual parameter\n\n//TODO\ttmplFnsCache = {},\n\t$isFunction, $isArray, $templates, $converters, $helpers, $tags, $sub, $subSettings, $subSettingsAdvanced, $viewsSettings, delimOpenChar0, delimOpenChar1, delimCloseChar0, delimCloseChar1, linkChar, setting, baseOnError,\n\n\trPath = /^(!*?)(?:null|true|false|\\d[\\d.]*|([\\w$]+|\\.|~([\\w$]+)|#(view|([\\w$]+))?)([\\w$.^]*?)(?:[.[^]([\\w$]+)\\]?)?)$/g,\n\t// not object helper view viewProperty pathTokens leafToken\n\n\trParams = /(\\()(?=\\s*\\()|(?:([([])\\s*)?(?:(\\^?)(~?[\\w$.^]+)?\\s*((\\+\\+|--)|\\+|-|~(?![\\w$_])|\u0026\u0026|\\|\\||===|!==|==|!=|\u003c=|\u003e=|[\u003c\u003e%*:?\\/]|(=))\\s*|(!*?(@)?[#~]?[\\w$.^]+)([([])?)|(,\\s*)|(\\(?)\\\\?(?:(')|(\"))|(?:\\s*(([)\\]])(?=[.^]|\\s*$|[^([])|[)\\]])([([]?))|(\\s+)/g,\n\t// lftPrn0 lftPrn bound path operator err eq path2 late prn comma lftPrn2 apos quot rtPrn rtPrnDot prn2 space\n\t// (left paren? followed by (path? followed by operator) or (path followed by left paren?)) or comma or apos or quot or right paren or space\n\n\tisRenderCall,\n\trNewLine = /[ \\t]*(\\r\\n|\\n|\\r)/g,\n\trUnescapeQuotes = /\\\\(['\"])/g,\n\trEscapeQuotes = /['\"\\\\]/g, // Escape quotes and \\ character\n\trBuildHash = /(?:\\x08|^)(onerror:)?(?:(~?)(([\\w$_\\.]+):)?([^\\x08]+))\\x08(,)?([^\\x08]+)/gi,\n\trTestElseIf = /^if\\s/,\n\trFirstElem = /\u003c(\\w+)[\u003e\\s]/,\n\trAttrEncode = /[\\x00`\u003e\u003c\"'\u0026=]/g, // Includes \u003e encoding since rConvertMarkers in JsViews does not skip \u003e characters in attribute strings\n\trIsHtml = /[\\x00`\u003e\u003c\\\"'\u0026=]/,\n\trHasHandlers = /^on[A-Z]|^convert(Back)?$/,\n\trWrappedInViewMarker = /^\\#\\d+_`[\\s\\S]*\\/\\d+_`$/,\n\trHtmlEncode = rAttrEncode,\n\trDataEncode = /[\u0026\u003c\u003e]/g,\n\trDataUnencode = /\u0026(amp|gt|lt);/g,\n\trBracketQuote = /\\[['\"]?|['\"]?\\]/g,\n\tviewId = 0,\n\tcharEntities = {\n\t\t\"\u0026\": \"\u0026amp;\",\n\t\t\"\u003c\": \"\u0026lt;\",\n\t\t\"\u003e\": \"\u0026gt;\",\n\t\t\"\\x00\": \"\u0026#0;\",\n\t\t\"'\": \"\u0026#39;\",\n\t\t'\"': \"\u0026#34;\",\n\t\t\"`\": \"\u0026#96;\",\n\t\t\"=\": \"\u0026#61;\"\n\t},\n\tcharsFromEntities = {\n\t\tamp: \"\u0026\",\n\t\tgt: \"\u003e\",\n\t\tlt: \"\u003c\"\n\t},\n\tHTML = \"html\",\n\tOBJECT = \"object\",\n\ttmplAttr = \"data-jsv-tmpl\",\n\tjsvTmpl = \"jsvTmpl\",\n\tindexStr = \"For #index in nested block use #getIndex().\",\n\t$render = {},\n\n\tjsr = global.jsrender,\n\tjsrToJq = jsr \u0026\u0026 $ \u0026\u0026 !$.render, // JsRender already loaded, without jQuery. but we will re-load it now to attach to jQuery\n\n\tjsvStores = {\n\t\ttemplate: {\n\t\t\tcompile: compileTmpl\n\t\t},\n\t\ttag: {\n\t\t\tcompile: compileTag\n\t\t},\n\t\tviewModel: {\n\t\t\tcompile: compileViewModel\n\t\t},\n\t\thelper: {},\n\t\tconverter: {}\n\t};\n\n\t// views object ($.views if jQuery is loaded, jsrender.views if no jQuery, e.g. in Node.js)\n\t$views = {\n\t\tjsviews: versionNumber,\n\t\tsub: {\n\t\t\t// subscription, e.g. JsViews integration\n\t\t\tView: View,\n\t\t\tErr: JsViewsError,\n\t\t\ttmplFn: tmplFn,\n\t\t\tparse: parseParams,\n\t\t\textend: $extend,\n\t\t\textendCtx: extendCtx,\n\t\t\tsyntaxErr: syntaxError,\n\t\t\tonStore: {\n\t\t\t\ttemplate: function(name, item) {\n\t\t\t\t\tif (item === null) {\n\t\t\t\t\t\tdelete $render[name];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$render[name] = item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\taddSetting: addSetting,\n\t\t\tsettings: {\n\t\t\t\tallowCode: false\n\t\t\t},\n\t\t\tadvSet: noop, // Update advanced settings\n\t\t\t_thp: tagHandlersFromProps,\n\t\t\t_gm: getMethod,\n\t\t\t_tg: function() {}, // Constructor for tagDef\n\t\t\t_cnvt: convertVal,\n\t\t\t_tag: renderTag,\n\t\t\t_er: error,\n\t\t\t_err: onRenderError,\n\t\t\t_cp: retVal, // Get observable contextual parameters (or properties) ~foo=expr. In JsRender, simply returns val.\n\t\t\t_sq: function(token) {\n\t\t\t\tif (token === \"constructor\") {\n\t\t\t\t\tsyntaxError(\"\");\n\t\t\t\t}\n\t\t\t\treturn token;\n\t\t\t}\n\t\t},\n\t\tsettings: {\n\t\t\tdelimiters: $viewsDelimiters,\n\t\t\tadvanced: function(value) {\n\t\t\t\treturn value\n\t\t\t\t\t? (\n\t\t\t\t\t\t\t$extend($subSettingsAdvanced, value),\n\t\t\t\t\t\t\t$sub.advSet(),\n\t\t\t\t\t\t\t$viewsSettings\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: $subSettingsAdvanced;\n\t\t\t\t}\n\t\t},\n\t\tmap: dataMap // If jsObservable loaded first, use that definition of dataMap\n\t};\n\nfunction getDerivedMethod(baseMethod, method) {\n\treturn function() {\n\t\tvar ret,\n\t\t\ttag = this,\n\t\t\tprevBase = tag.base;\n\n\t\ttag.base = baseMethod; // Within method call, calling this.base will call the base method\n\t\tret = method.apply(tag, arguments); // Call the method\n\t\ttag.base = prevBase; // Replace this.base to be the base method of the previous call, for chained calls\n\t\treturn ret;\n\t};\n}\n\nfunction getMethod(baseMethod, method) {\n\t// For derived methods (or handlers declared declaratively as in {{:foo onChange=~fooChanged}} replace by a derived method, to allow using this.base(...)\n\t// or this.baseApply(arguments) to call the base implementation. (Equivalent to this._super(...) and this._superApply(arguments) in jQuery UI)\n\tif ($isFunction(method)) {\n\t\tmethod = getDerivedMethod(\n\t\t\t\t!baseMethod\n\t\t\t\t\t? noop // no base method implementation, so use noop as base method\n\t\t\t\t\t: baseMethod._d\n\t\t\t\t\t\t? baseMethod // baseMethod is a derived method, so use it\n\t\t\t\t\t\t: getDerivedMethod(noop, baseMethod), // baseMethod is not derived so make its base method be the noop method\n\t\t\t\tmethod\n\t\t\t);\n\t\tmethod._d = (baseMethod \u0026\u0026 baseMethod._d || 0) + 1; // Add flag for derived method (incremented for derived of derived...)\n\t}\n\treturn method;\n}\n\nfunction tagHandlersFromProps(tag, tagCtx) {\n\tvar prop,\n\t\tprops = tagCtx.props;\n\tfor (prop in props) {\n\t\tif (rHasHandlers.test(prop) \u0026\u0026 !(tag[prop] \u0026\u0026 tag[prop].fix)) { // Don't override handlers with fix expando (used in datepicker and spinner)\n\t\t\ttag[prop] = prop !== \"convert\" ? getMethod(tag.constructor.prototype[prop], props[prop]) : props[prop];\n\t\t\t// Copy over the onFoo props, convert and convertBack from tagCtx.props to tag (overrides values in tagDef).\n\t\t\t// Note: unsupported scenario: if handlers are dynamically added ^onFoo=expression this will work, but dynamically removing will not work.\n\t\t}\n\t}\n}\n\nfunction retVal(val) {\n\treturn val;\n}\n\nfunction noop() {\n\treturn \"\";\n}\n\nfunction dbgBreak(val) {\n\t// Usage examples: {{dbg:...}}, {{:~dbg(...)}}, {{dbg .../}}, {^{for ... onAfterLink=~dbg}} etc.\n\ttry {\n\t\tconsole.log(\"JsRender dbg breakpoint: \" + val);\n\t\tthrow \"dbg breakpoint\"; // To break here, stop on caught exceptions.\n\t}\n\tcatch (e) {}\n\treturn this.base ? this.baseApply(arguments) : val;\n}\n\nfunction JsViewsError(message) {\n\t// Error exception type for JsViews/JsRender\n\t// Override of $.views.sub.Error is possible\n\tthis.name = ($.link ? \"JsViews\" : \"JsRender\") + \" Error\";\n\tthis.message = message || this.name;\n}\n\nfunction $extend(target, source) {\n\tif (target) {\n\t\tfor (var name in source) {\n\t\t\ttarget[name] = source[name];\n\t\t}\n\t\treturn target;\n\t}\n}\n\n(JsViewsError.prototype = new Error()).constructor = JsViewsError;\n\n//========================== Top-level functions ==========================\n\n//===================\n// views.delimiters\n//===================\n\nfunction $viewsDelimiters(openChars, closeChars, link) {\n\t// Set the tag opening and closing delimiters and 'link' character. Default is \"{{\", \"}}\" and \"^\"\n\t// openChars, closeChars: opening and closing strings, each with two characters\n\tif (!openChars) {\n\t\treturn $subSettings.delimiters;\n\t}\n\tif ($isArray(openChars)) {\n\t\treturn $viewsDelimiters.apply($views, openChars);\n\t}\n\n\t$subSettings.delimiters = [openChars, closeChars, linkChar = link ? link.charAt(0) : linkChar];\n\n\tdelimOpenChar0 = openChars.charAt(0); // Escape the characters - since they could be regex special characters\n\tdelimOpenChar1 = openChars.charAt(1);\n\tdelimCloseChar0 = closeChars.charAt(0);\n\tdelimCloseChar1 = closeChars.charAt(1);\n\topenChars = \"\\\\\" + delimOpenChar0 + \"(\\\\\" + linkChar + \")?\\\\\" + delimOpenChar1; // Default is \"{^{\"\n\tcloseChars = \"\\\\\" + delimCloseChar0 + \"\\\\\" + delimCloseChar1; // Default is \"}}\"\n\t// Build regex with new delimiters\n\t// [tag (followed by / space or }) or cvtr+colon or html or code] followed by space+params then convertBack?\n\trTag = \"(?:(\\\\w+(?=[\\\\/\\\\s\\\\\" + delimCloseChar0 + \"]))|(\\\\w+)?(:)|(\u003e)|(\\\\*))\\\\s*((?:[^\\\\\"\n\t\t+ delimCloseChar0 + \"]|\\\\\" + delimCloseChar0 + \"(?!\\\\\" + delimCloseChar1 + \"))*?)\";\n\n\t// Make rTag available to JsViews (or other components) for parsing binding expressions\n\t$sub.rTag = \"(?:\" + rTag + \")\";\n\t// { ^? { tag+params slash? or closingTag or comment\n\trTag = new RegExp(\"(?:\" + openChars + rTag + \"(\\\\/)?|\\\\\" + delimOpenChar0 + \"(\\\\\" + linkChar + \")?\\\\\" + delimOpenChar1 + \"(?:(?:\\\\/(\\\\w+))\\\\s*|!--[\\\\s\\\\S]*?--))\" + closeChars, \"g\");\n\n\t// Default: bind tagName cvt cln html code params slash bind2 closeBlk comment\n\t// /(?:{(\\^)?{(?:(\\w+(?=[\\/\\s}]))|(\\w+)?(:)|(\u003e)|(\\*))\\s*((?:[^}]|}(?!}))*?)(\\/)?|{(\\^)?{(?:(?:\\/(\\w+))\\s*|!--[\\s\\S]*?--))}}\n\n\t$sub.rTmpl = new RegExp(\"^\\\\s|\\\\s$|\u003c.*\u003e|([^\\\\\\\\]|^)[{}]|\" + openChars + \".*\" + closeChars);\n\t// $sub.rTmpl looks for initial or final white space, html tags or { or } char not preceded by \\\\, or JsRender tags {{xxx}}.\n\t// Each of these strings are considered NOT to be jQuery selectors\n\treturn $viewsSettings;\n}\n\n//=========\n// View.get\n//=========\n\nfunction getView(inner, type) { //view.get(inner, type)\n\tif (!type \u0026\u0026 inner !== true) {\n\t\t// view.get(type)\n\t\ttype = inner;\n\t\tinner = undefined;\n\t}\n\n\tvar views, i, l, found,\n\t\tview = this,\n\t\troot = !type || type === \"root\";\n\t\t// If type is undefined, returns root view (view under top view).\n\n\tif (inner) {\n\t\t// Go through views - this one, and all nested ones, depth-first - and return first one with given type.\n\t\t// If type is undefined, i.e. view.get(true), return first child view.\n\t\tfound = type \u0026\u0026 view.type === type \u0026\u0026 view;\n\t\tif (!found) {\n\t\t\tviews = view.views;\n\t\t\tif (view._.useKey) {\n\t\t\t\tfor (i in views) {\n\t\t\t\t\tif (found = type ? views[i].get(inner, type) : views[i]) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0, l = views.length; !found \u0026\u0026 i \u003c l; i++) {\n\t\t\t\t\tfound = type ? views[i].get(inner, type) : views[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (root) {\n\t\t// Find root view. (view whose parent is top view)\n\t\tfound = view.root;\n\t} else {\n\t\twhile (view \u0026\u0026 !found) {\n\t\t\t// Go through views - this one, and all parent ones - and return first one with given type.\n\t\t\tfound = view.type === type ? view : undefined;\n\t\t\tview = view.parent;\n\t\t}\n\t}\n\treturn found;\n}\n\nfunction getNestedIndex() {\n\tvar view = this.get(\"item\");\n\treturn view ? view.index : undefined;\n}\n\ngetNestedIndex.depends = function() {\n\treturn [this.get(\"item\"), \"index\"];\n};\n\nfunction getIndex() {\n\treturn this.index;\n}\n\ngetIndex.depends = \"index\";\n\n//==========\n// View.hlp\n//==========\n\nfunction getPathObject(ob, path, ltOb, fn) { // Iterate through path to late paths: @a.b.c paths\n\t// Return \"\" (or noop if leaf is a function @a.b.c(...) ) if intermediate object not yet available\n\tvar prevOb, tokens, l,\n\t\ti = 0;\n\tif (ltOb === 1) {\n\t\tfn = 1;\n\t\tltOb = undefined;\n\t}\n\t// Paths like ^a^b^c or ~^a^b^c will not throw if an object in path is undefined.\n\tif (path) {\n\t\ttokens = path.split(\".\");\n\t\tl = tokens.length;\n\n\t\tfor (; ob \u0026\u0026 i \u003c l; i++) {\n\t\t\tprevOb = ob;\n\t\t\tob = tokens[i] ? ob[tokens[i]] : ob;\n\t\t}\n\t}\n\tif (ltOb) {\n\t\tltOb.lt = ltOb.lt || i\u003cl; // If i \u003c l there was an object in the path not yet available\n\t}\n\treturn ob === undefined\n\t\t? fn ? noop : \"\"\n\t\t: fn ? function() {\n\t\t\treturn ob.apply(prevOb, arguments);\n\t\t} : ob;\n}\n\nfunction contextParameter(key, value, get) {\n\t// Helper method called as view.ctxPrm(key) for helpers or template parameters ~foo - from compiled template or from context callback\n\tvar wrapped, deps, res, obsCtxPrm, tagElse, callView, newRes,\n\t\tstoreView = this,\n\t\tisUpdate = !isRenderCall \u0026\u0026 arguments.length \u003e 1,\n\t\tstore = storeView.ctx;\n\n\tif (key) {\n\t\tif (!storeView._) { // tagCtx.ctxPrm() call\n\t\t\ttagElse = storeView.index;\n\t\t\tstoreView = storeView.tag;\n\t\t}\n\t\tcallView = storeView;\n\t\tif (store \u0026\u0026 store.hasOwnProperty(key) || (store = $helpers).hasOwnProperty(key)) {\n\t\t\tres = store[key];\n\t\t\tif (key === \"tag\" || key === \"tagCtx\" || key === \"root\" || key === \"parentTags\" || storeView._.it === key ) {\n\t\t\t\treturn res;\n\t\t\t}\n\t\t} else {\n\t\t\tstore = undefined;\n\t\t}\n\t\tif (storeView.tagCtx || storeView.linked) { // Data-linked view, or tag instance\n\t\t\tif (!res || !res._cxp) {\n\t\t\t\t// Not a contextual parameter\n\t\t\t\t// Set storeView to tag (if this is a tag.ctxPrm() call) or to root view (\"data\" view of linked template)\n\t\t\t\tstoreView = storeView.tagCtx || $isFunction(res)\n\t\t\t\t\t? storeView // Is a tag, not a view, or is a computed contextual parameter, so scope to the callView, no the 'scope view'\n\t\t\t\t\t: (storeView = storeView.scope || storeView,\n\t\t\t\t\t\t!storeView.isTop \u0026\u0026 storeView.ctx.tag // If this view is in a tag, set storeView to the tag\n\t\t\t\t\t\t\t|| storeView);\n\t\t\t\tif (res !== undefined \u0026\u0026 storeView.tagCtx) {\n\t\t\t\t\t// If storeView is a tag, but the contextual parameter has been set at at higher level (e.g. helpers)...\n\t\t\t\t\tstoreView = storeView.tagCtx.view.scope; // then move storeView to the outer level (scope of tag container view)\n\t\t\t\t}\n\t\t\t\tstore = storeView._ocps;\n\t\t\t\tres = store \u0026\u0026 store.hasOwnProperty(key) \u0026\u0026 store[key] || res;\n\t\t\t\tif (!(res \u0026\u0026 res._cxp) \u0026\u0026 (get || isUpdate)) {\n\t\t\t\t\t// Create observable contextual parameter\n\t\t\t\t\t(store || (storeView._ocps = storeView._ocps || {}))[key]\n\t\t\t\t\t\t= res\n\t\t\t\t\t\t= [{\n\t\t\t\t\t\t\t_ocp: res, // The observable contextual parameter value\n\t\t\t\t\t\t\t_vw: callView,\n\t\t\t\t\t\t\t_key: key\n\t\t\t\t\t\t}];\n\t\t\t\t\tres._cxp = {\n\t\t\t\t\t\tpath: _ocp,\n\t\t\t\t\t\tind: 0,\n\t\t\t\t\t\tupdateValue: function(val, path) {\n\t\t\t\t\t\t\t$.observable(res[0]).setProperty(_ocp, val); // Set the value (res[0]._ocp)\n\t\t\t\t\t\t\treturn this;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (obsCtxPrm = res \u0026\u0026 res._cxp) {\n\t\t\t\t// If this helper resource is an observable contextual parameter\n\t\t\t\tif (arguments.length \u003e 2) {\n\t\t\t\t\tdeps = res[1] ? $sub._ceo(res[1].deps) : [_ocp]; // fn deps (with any exprObs cloned using $sub._ceo)\n\t\t\t\t\tdeps.unshift(res[0]); // view\n\t\t\t\t\tdeps._cxp = obsCtxPrm;\n\t\t\t\t\t// In a context callback for a contextual param, we set get = true, to get ctxPrm [view, dependencies...] array - needed for observe call\n\t\t\t\t\treturn deps;\n\t\t\t\t}\n\t\t\t\ttagElse = obsCtxPrm.tagElse;\n\t\t\t\tnewRes = res[1] // linkFn for compiled expression\n\t\t\t\t\t? obsCtxPrm.tag \u0026\u0026 obsCtxPrm.tag.cvtArgs\n\t\t\t\t\t\t? obsCtxPrm.tag.cvtArgs(1, tagElse)[obsCtxPrm.ind] // = tag.bndArgs() - for tag contextual parameter\n\t\t\t\t\t\t: res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression\n\t\t\t\t\t: res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies)\n\t\t\t\tif (isUpdate) {\n\t\t\t\t\tif (res \u0026\u0026 newRes !== value) {\n\t\t\t\t\t\t$sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter\n\t\t\t\t\t}\n\t\t\t\t\treturn storeView;\n\t\t\t\t}\n\t\t\t\tres = newRes;\n\t\t\t}\n\t\t}\n\t\tif (res \u0026\u0026 $isFunction(res)) {\n\t\t\t// If a helper is of type function we will wrap it, so if called with no this pointer it will be called with the\n\t\t\t// view as 'this' context. If the helper ~foo() was in a data-link expression, the view will have a 'temporary' linkCtx property too.\n\t\t\t// Note that helper functions on deeper paths will have specific this pointers, from the preceding path.\n\t\t\t// For example, ~util.foo() will have the ~util object as 'this' pointer\n\t\t\twrapped = function() {\n\t\t\t\treturn res.apply((!this || this === global) ? callView : this, arguments);\n\t\t\t};\n\t\t\t$extend(wrapped, res); // Attach same expandos (if any) to the wrapped function\n\t\t\twrapped._vw = callView;\n\t\t}\n\t\treturn wrapped || res;\n\t}\n}\n\nfunction getTemplate(tmpl) {\n\treturn tmpl \u0026\u0026 (tmpl.fn\n\t\t? tmpl\n\t\t: this.getRsc(\"templates\", tmpl) || $templates(tmpl)); // not yet compiled\n}\n\n//==============\n// views._cnvt\n//==============\n\nfunction convertVal(converter, view, tagCtx, onError) {\n\t// Called from compiled template code for {{:}}\n\t// self is template object or linkCtx object\n\tvar tag, value, argsLen, bindTo,\n\t\t// If tagCtx is an integer, then it is the key for the compiled function to return the boundTag tagCtx\n\t\tboundTag = typeof tagCtx === \"number\" \u0026\u0026 view.tmpl.bnds[tagCtx-1],\n\t\tlinkCtx = view.linkCtx; // For data-link=\"{cvt:...}\"...\n\n\tif (onError === undefined \u0026\u0026 boundTag \u0026\u0026 boundTag._lr) { // lateRender\n\t\tonError = \"\";\n\t}\n\tif (onError !== undefined) {\n\t\ttagCtx = onError = {props: {}, args: [onError]};\n\t} else if (boundTag) {\n\t\ttagCtx = boundTag(view.data, view, $sub);\n\t}\n\tboundTag = boundTag._bd \u0026\u0026 boundTag;\n\tif (converter || boundTag) {\n\t\ttag = linkCtx \u0026\u0026 linkCtx.tag;\n\t\ttagCtx.view = view;\n\t\tif (!tag) {\n\t\t\ttag = $extend(new $sub._tg(), {\n\t\t\t\t_: {\n\t\t\t\t\tbnd: boundTag,\n\t\t\t\t\tunlinked: true,\n\t\t\t\t\tlt: tagCtx.lt // If a late path @some.path has not returned @some object, mark tag as late\n\t\t\t\t},\n\t\t\t\tinline: !linkCtx,\n\t\t\t\ttagName: \":\",\n\t\t\t\tconvert: converter,\n\t\t\t\tflow: true,\n\t\t\t\ttagCtx: tagCtx,\n\t\t\t\ttagCtxs: [tagCtx],\n\t\t\t\t_is: \"tag\"\n\t\t\t});\n\t\t\targsLen = tagCtx.args.length;\n\t\t\tif (argsLen\u003e1) {\n\t\t\t\tbindTo = tag.bindTo = [];\n\t\t\t\twhile (argsLen--) {\n\t\t\t\t\tbindTo.unshift(argsLen); // Bind to all the arguments - generate bindTo array: [0,1,2...]\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (linkCtx) {\n\t\t\t\tlinkCtx.tag = tag;\n\t\t\t\ttag.linkCtx = linkCtx;\n\t\t\t}\n\t\t\ttagCtx.ctx = extendCtx(tagCtx.ctx, (linkCtx ? linkCtx.view : view).ctx);\n\t\t\ttagHandlersFromProps(tag, tagCtx);\n\t\t}\n\t\ttag._er = onError \u0026\u0026 value;\n\t\ttag.ctx = tagCtx.ctx || tag.ctx || {};\n\t\ttagCtx.ctx = undefined;\n\t\tvalue = tag.cvtArgs()[0]; // If there is a convertBack but no convert, converter will be \"true\"\n\t\ttag._er = onError \u0026\u0026 value;\n\t} else {\n\t\tvalue = tagCtx.args[0];\n\t}\n\n\t// Call onRender (used by JsViews if present, to add binding annotations around rendered content)\n\tvalue = boundTag \u0026\u0026 view._.onRender\n\t\t? view._.onRender(value, view, tag)\n\t\t: value;\n\treturn value != undefined ? value : \"\";\n}\n\nfunction convertArgs(bound, tagElse) { // tag.cvtArgs() or tag.cvtArgs(trueOrFalse, tagElse)\n\tvar l, key, boundArgs, args, bindFrom, tag, converter,\n\t\ttagCtx = this;\n\n\tif (tagCtx.tagName) {\n\t\ttag = tagCtx;\n\t\ttagCtx = tag.tagCtxs ? tag.tagCtxs[tagElse || 0] : tag.tagCtx;\n\t} else {\n\t\ttag = tagCtx.tag;\n\t}\n\n\tbindFrom = tag.bindFrom;\n\targs = tagCtx.args;\n\n\tif ((converter = tag.convert) \u0026\u0026 \"\" + converter === converter) {\n\t\tconverter = converter === \"true\"\n\t\t\t? undefined\n\t\t\t: (tagCtx.view.getRsc(\"converters\", converter) || error(\"Unknown converter: '\" + converter + \"'\"));\n\t}\n\n\tif (converter \u0026\u0026 !bound) { // If there is a converter, use a copy of the tagCtx.args array for rendering, and replace the args[0] in\n\t\targs = args.slice(); // the copied array with the converted value. But we do not modify the value of tag.tagCtx.args[0] (the original args array)\n\t}\n\tif (bindFrom) { // Get the values of the boundArgs\n\t\tboundArgs = [];\n\t\tl = bindFrom.length;\n\t\twhile (l--) {\n\t\t\tkey = bindFrom[l];\n\t\t\tboundArgs.unshift(argOrProp(tagCtx, key));\n\t\t}\n\t\tif (bound) {\n\t\t\targs = boundArgs; // Call to bndArgs() - returns the boundArgs\n\t\t}\n\t}\n\tif (converter) {\n\t\tconverter = converter.apply(tag, boundArgs || args);\n\t\tif (converter === undefined) {\n\t\t\treturn args; // Returning undefined from a converter is equivalent to not having a converter.\n\t\t}\n\t\tbindFrom = bindFrom || [0];\n\t\tl = bindFrom.length;\n\t\tif (!$isArray(converter) || converter.length !== l) {\n\t\t\tconverter = [converter];\n\t\t\tbindFrom = [0];\n\t\t\tl = 1;\n\t\t}\n\t\tif (bound) { // Call to bndArgs() - so apply converter to all boundArgs\n\t\t\targs = converter; // The array of values returned from the converter\n\t\t} else { // Call to cvtArgs()\n\t\t\twhile (l--) {\n\t\t\t\tkey = bindFrom[l];\n\t\t\t\tif (+key === key) {\n\t\t\t\t\targs[key] = converter[l];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn args;\n}\n\nfunction argOrProp(context, key) {\n\tcontext = context[+key === key ? \"args\" : \"props\"];\n\treturn context \u0026\u0026 context[key];\n}\n\nfunction convertBoundArgs(tagElse) { // tag.bndArgs()\n\treturn this.cvtArgs(1, tagElse);\n}\n\n//=============\n// views._tag\n//=============\n\nfunction getResource(resourceType, itemName) {\n\tvar res, store,\n\t\tview = this;\n\tif (\"\" + itemName === itemName) {\n\t\twhile ((res === undefined) \u0026\u0026 view) {\n\t\t\tstore = view.tmpl \u0026\u0026 view.tmpl[resourceType];\n\t\t\tres = store \u0026\u0026 store[itemName];\n\t\t\tview = view.parent;\n\t\t}\n\t\treturn res || $views[resourceType][itemName];\n\t}\n}\n\nfunction renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) {\n\tfunction bindToOrBindFrom(type) {\n\t\tvar bindArray = tag[type];\n\n\t\tif (bindArray !== undefined) {\n\t\t\tbindArray = $isArray(bindArray) ? bindArray : [bindArray];\n\t\t\tm = bindArray.length;\n\t\t\twhile (m--) {\n\t\t\t\tkey = bindArray[m];\n\t\t\t\tif (!isNaN(parseInt(key))) {\n\t\t\t\t\tbindArray[m] = parseInt(key); // Convert \"0\" to 0, etc.\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn bindArray || [0];\n\t}\n\n\tparentView = parentView || topView;\n\tvar tag, tagDef, template, tags, attr, parentTag, l, m, n, itemRet, tagCtx, tagCtxCtx, ctxPrm, bindTo, bindFrom, initVal,\n\t\tcontent, callInit, mapDef, thisMap, args, bdArgs, props, tagDataMap, contentCtx, key, bindFromLength, bindToLength, linkedElement, defaultCtx,\n\t\ti = 0,\n\t\tret = \"\",\n\t\tlinkCtx = parentView.linkCtx || 0,\n\t\tctx = parentView.ctx,\n\t\tparentTmpl = tmpl || parentView.tmpl,\n\t\t// If tagCtxs is an integer, then it is the key for the compiled function to return the boundTag tagCtxs\n\t\tboundTag = typeof tagCtxs === \"number\" \u0026\u0026 parentView.tmpl.bnds[tagCtxs-1];\n\n\tif (tagName._is === \"tag\") {\n\t\ttag = tagName;\n\t\ttagName = tag.tagName;\n\t\ttagCtxs = tag.tagCtxs;\n\t\ttemplate = tag.template;\n\t} else {\n\t\ttagDef = parentView.getRsc(\"tags\", tagName) || error(\"Unknown tag: {{\" + tagName + \"}} \");\n\t\ttemplate = tagDef.template;\n\t}\n\tif (onError === undefined \u0026\u0026 boundTag \u0026\u0026 (boundTag._lr = (tagDef.lateRender \u0026\u0026 boundTag._lr!== false || boundTag._lr))) {\n\t\tonError = \"\"; // If lateRender, set temporary onError, to skip initial rendering (and render just \"\")\n\t}\n\tif (onError !== undefined) {\n\t\tret += onError;\n\t\ttagCtxs = onError = [{props: {}, args: [], params: {props:{}}}];\n\t} else if (boundTag) {\n\t\ttagCtxs = boundTag(parentView.data, parentView, $sub);\n\t}\n\n\tl = tagCtxs.length;\n\tfor (; i \u003c l; i++) {\n\t\ttagCtx = tagCtxs[i];\n\t\tcontent = tagCtx.tmpl;\n\t\tif (!linkCtx || !linkCtx.tag || i \u0026\u0026 !linkCtx.tag.inline || tag._er || content \u0026\u0026 +content===content) {\n\t\t\t// Initialize tagCtx\n\t\t\t// For block tags, tagCtx.tmpl is an integer \u003e 0\n\t\t\tif (content \u0026\u0026 parentTmpl.tmpls) {\n\t\t\t\ttagCtx.tmpl = tagCtx.content = parentTmpl.tmpls[content - 1]; // Set the tmpl property to the content of the block tag\n\t\t\t}\n\t\t\ttagCtx.index = i;\n\t\t\ttagCtx.ctxPrm = contextParameter;\n\t\t\ttagCtx.render = renderContent;\n\t\t\ttagCtx.cvtArgs = convertArgs;\n\t\t\ttagCtx.bndArgs = convertBoundArgs;\n\t\t\ttagCtx.view = parentView;\n\t\t\ttagCtx.ctx = extendCtx(extendCtx(tagCtx.ctx, tagDef \u0026\u0026 tagDef.ctx), ctx); // Clone and extend parentView.ctx\n\t\t}\n\t\tif (tmpl = tagCtx.props.tmpl) {\n\t\t\t// If the tmpl property is overridden, set the value (when initializing, or, in case of binding: ^tmpl=..., when updating)\n\t\t\ttagCtx.tmpl = parentView.getTmpl(tmpl);\n\t\t\ttagCtx.content = tagCtx.content || tagCtx.tmpl;\n\t\t}\n\n\t\tif (!tag) {\n\t\t\t// This will only be hit for initial tagCtx (not for {{else}}) - if the tag instance does not exist yet\n\t\t\t// If the tag has not already been instantiated, we will create a new instance.\n\t\t\t// ~tag will access the tag, even within the rendering of the template content of this tag.\n\t\t\t// From child/descendant tags, can access using ~tag.parent, or ~parentTags.tagName\n\t\t\ttag = new tagDef._ctr();\n\t\t\tcallInit = !!tag.init;\n\n\t\t\ttag.parent = parentTag = ctx \u0026\u0026 ctx.tag;\n\t\t\ttag.tagCtxs = tagCtxs;\n\n\t\t\tif (linkCtx) {\n\t\t\t\ttag.inline = false;\n\t\t\t\tlinkCtx.tag = tag;\n\t\t\t\ttag.linkCtx = linkCtx;\n\t\t\t}\n\t\t\tif (tag._.bnd = boundTag || linkCtx.fn) {\n\t\t\t\t// Bound if {^{tag...}} or data-link=\"{tag...}\"\n\t\t\t\ttag._.ths = tagCtx.params.props.this; // Tag has a this=expr binding, to get javascript reference to tag instance\n\t\t\t\ttag._.lt = tagCtxs.lt; // If a late path @some.path has not returned @some object, mark tag as late\n\t\t\t\ttag._.arrVws = {};\n\t\t\t} else if (tag.dataBoundOnly) {\n\t\t\t\terror(tagName + \" must be data-bound:\\n{^{\" + tagName + \"}}\");\n\t\t\t}\n\t\t\t//TODO better perf for childTags() - keep child tag.tags array, (and remove child, when disposed)\n\t\t\t// tag.tags = [];\n\t\t} else if (linkCtx \u0026\u0026 linkCtx.fn._lr) {\n\t\t\tcallInit = !!tag.init;\n\t\t}\n\t\ttagDataMap = tag.dataMap;\n\n\t\ttagCtx.tag = tag;\n\t\tif (tagDataMap \u0026\u0026 tagCtxs) {\n\t\t\ttagCtx.map = tagCtxs[i].map; // Copy over the compiled map instance from the previous tagCtxs to the refreshed ones\n\t\t}\n\t\tif (!tag.flow) {\n\t\t\ttagCtxCtx = tagCtx.ctx = tagCtx.ctx || {};\n\n\t\t\t// tags hash: tag.ctx.tags, merged with parentView.ctx.tags,\n\t\t\ttags = tag.parents = tagCtxCtx.parentTags = ctx \u0026\u0026 extendCtx(tagCtxCtx.parentTags, ctx.parentTags) || {};\n\t\t\tif (parentTag) {\n\t\t\t\ttags[parentTag.tagName] = parentTag;\n\t\t\t\t//TODO better perf for childTags: parentTag.tags.push(tag);\n\t\t\t}\n\t\t\ttags[tag.tagName] = tagCtxCtx.tag = tag;\n\t\t\ttagCtxCtx.tagCtx = tagCtx;\n\t\t}\n\t}\n\tif (!(tag._er = onError)) {\n\t\ttagHandlersFromProps(tag, tagCtxs[0]);\n\t\ttag.rendering = {rndr: tag.rendering}; // Provide object for state during render calls to tag and elses. (Used by {{if}} and {{for}}...)\n\t\tfor (i = 0; i \u003c l; i++) { // Iterate tagCtx for each {{else}} block\n\t\t\ttagCtx = tag.tagCtx = tagCtxs[i];\n\t\t\tprops = tagCtx.props;\n\t\t\ttag.ctx = tagCtx.ctx;\n\n\t\t\tif (!i) {\n\t\t\t\tif (callInit) {\n\t\t\t\t\ttag.init(tagCtx, linkCtx, tag.ctx);\n\t\t\t\t\tcallInit = undefined;\n\t\t\t\t}\n\t\t\t\tif (!tagCtx.args.length \u0026\u0026 tagCtx.argDefault !== false \u0026\u0026 tag.argDefault !== false) {\n\t\t\t\t\ttagCtx.args = args = [tagCtx.view.data]; // Missing first arg defaults to the current data context\n\t\t\t\t\ttagCtx.params.args = [\"#data\"];\n\t\t\t\t}\n\n\t\t\t\tbindTo = bindToOrBindFrom(\"bindTo\");\n\n\t\t\t\tif (tag.bindTo !== undefined) {\n\t\t\t\t\ttag.bindTo = bindTo;\n\t\t\t\t}\n\n\t\t\t\tif (tag.bindFrom !== undefined) {\n\t\t\t\t\ttag.bindFrom = bindToOrBindFrom(\"bindFrom\");\n\t\t\t\t} else if (tag.bindTo) {\n\t\t\t\t\ttag.bindFrom = tag.bindTo = bindTo;\n\t\t\t\t}\n\t\t\t\tbindFrom = tag.bindFrom || bindTo;\n\n\t\t\t\tbindToLength = bindTo.length;\n\t\t\t\tbindFromLength = bindFrom.length;\n\n\t\t\t\tif (tag._.bnd \u0026\u0026 (linkedElement = tag.linkedElement)) {\n\t\t\t\t\ttag.linkedElement = linkedElement = $isArray(linkedElement) ? linkedElement: [linkedElement];\n\n\t\t\t\t\tif (bindToLength !== linkedElement.length) {\n\t\t\t\t\t\terror(\"linkedElement not same length as bindTo\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (linkedElement = tag.linkedCtxParam) {\n\t\t\t\t\ttag.linkedCtxParam = linkedElement = $isArray(linkedElement) ? linkedElement: [linkedElement];\n\n\t\t\t\t\tif (bindFromLength !== linkedElement.length) {\n\t\t\t\t\t\terror(\"linkedCtxParam not same length as bindFrom/bindTo\");\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (bindFrom) {\n\t\t\t\t\ttag._.fromIndex = {}; // Hash of bindFrom index which has same path value as bindTo index. fromIndex = tag._.fromIndex[toIndex]\n\t\t\t\t\ttag._.toIndex = {}; // Hash of bindFrom index which has same path value as bindTo index. fromIndex = tag._.fromIndex[toIndex]\n\t\t\t\t\tn = bindFromLength;\n\t\t\t\t\twhile (n--) {\n\t\t\t\t\t\tkey = bindFrom[n];\n\t\t\t\t\t\tm = bindToLength;\n\t\t\t\t\t\twhile (m--) {\n\t\t\t\t\t\t\tif (key === bindTo[m]) {\n\t\t\t\t\t\t\t\ttag._.fromIndex[m] = n;\n\t\t\t\t\t\t\t\ttag._.toIndex[n] = m;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (linkCtx) {\n\t\t\t\t\t// Set attr on linkCtx to ensure outputting to the correct target attribute.\n\t\t\t\t\t// Setting either linkCtx.attr or this.attr in the init() allows per-instance choice of target attrib.\n\t\t\t\t\tlinkCtx.attr = tag.attr = linkCtx.attr || tag.attr || linkCtx._dfAt;\n\t\t\t\t}\n\t\t\t\tattr = tag.attr;\n\t\t\t\ttag._.noVws = attr \u0026\u0026 attr !== HTML;\n\t\t\t}\n\t\t\targs = tag.cvtArgs(undefined, i);\n\t\t\tif (tag.linkedCtxParam) {\n\t\t\t\tbdArgs = tag.cvtArgs(1, i);\n\t\t\t\tm = bindFromLength;\n\t\t\t\tdefaultCtx = tag.constructor.prototype.ctx;\n\t\t\t\twhile (m--) {\n\t\t\t\t\tif (ctxPrm = tag.linkedCtxParam[m]) {\n\t\t\t\t\t\tkey = bindFrom[m];\n\t\t\t\t\t\tinitVal = bdArgs[m];\n\t\t\t\t\t\t// Create tag contextual parameter\n\t\t\t\t\t\ttagCtx.ctx[ctxPrm] = $sub._cp(\n\t\t\t\t\t\t\tdefaultCtx \u0026\u0026 initVal === undefined ? defaultCtx[ctxPrm]: initVal,\n\t\t\t\t\t\t\tinitVal !== undefined \u0026\u0026 argOrProp(tagCtx.params, key),\n\t\t\t\t\t\t\ttagCtx.view,\n\t\t\t\t\t\t\ttag._.bnd \u0026\u0026 {tag: tag, cvt: tag.convert, ind: m, tagElse: i}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ((mapDef = props.dataMap || tagDataMap) \u0026\u0026 (args.length || props.dataMap)) {\n\t\t\t\tthisMap = tagCtx.map;\n\t\t\t\tif (!thisMap || thisMap.src !== args[0] || isUpdate) {\n\t\t\t\t\tif (thisMap \u0026\u0026 thisMap.src) {\n\t\t\t\t\t\tthisMap.unmap(); // only called if observable map - not when only used in JsRender, e.g. by {{props}}\n\t\t\t\t\t}\n\t\t\t\t\tmapDef.map(args[0], tagCtx, thisMap, !tag._.bnd);\n\t\t\t\t\tthisMap = tagCtx.map;\n\t\t\t\t}\n\t\t\t\targs = [thisMap.tgt];\n\t\t\t}\n\n\t\t\titemRet = undefined;\n\t\t\tif (tag.render) {\n\t\t\t\titemRet = tag.render.apply(tag, args);\n\t\t\t\tif (parentView.linked \u0026\u0026 itemRet \u0026\u0026 !rWrappedInViewMarker.test(itemRet)) {\n\t\t\t\t\t// When a tag renders content from the render method, with data linking then we need to wrap with view markers, if absent,\n\t\t\t\t\t// to provide a contentView for the tag, which will correctly dispose bindings if deleted. The 'tmpl' for this view will\n\t\t\t\t\t// be a dumbed-down template which will always return the itemRet string (no matter what the data is). The itemRet string\n\t\t\t\t\t// is not compiled as template markup, so can include \"{{\" or \"}}\" without triggering syntax errors\n\t\t\t\t\ttmpl = { // 'Dumbed-down' template which always renders 'static' itemRet string\n\t\t\t\t\t\tlinks: []\n\t\t\t\t\t};\n\t\t\t\t\ttmpl.render = tmpl.fn = function() {\n\t\t\t\t\t\treturn itemRet;\n\t\t\t\t\t};\n\t\t\t\t\titemRet = renderWithViews(tmpl, parentView.data, undefined, true, parentView, undefined, undefined, tag);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!args.length) {\n\t\t\t\targs = [parentView]; // no arguments - (e.g. {{else}}) get data context from view.\n\t\t\t}\n\t\t\tif (itemRet === undefined) {\n\t\t\t\tcontentCtx = args[0]; // Default data context for wrapped block content is the first argument\n\t\t\t\tif (tag.contentCtx) { // Set tag.contentCtx to true, to inherit parent context, or to a function to provide alternate context.\n\t\t\t\t\tcontentCtx = tag.contentCtx === true ? parentView : tag.contentCtx(contentCtx);\n\t\t\t\t}\n\t\t\t\titemRet = tagCtx.render(contentCtx, true) || (isUpdate ? undefined : \"\");\n\t\t\t}\n\t\t\t// No return value from render, and no template/content tagCtx.render(...), so return undefined\n\t\t\tret = ret ? ret + (itemRet || \"\") : itemRet; // If no rendered content, this will be undefined\n\t\t}\n\t\ttag.rendering = tag.rendering.rndr; // Remove tag.rendering object (if this is outermost render call. (In case of nested calls)\n\t}\n\ttag.tagCtx = tagCtxs[0];\n\ttag.ctx = tag.tagCtx.ctx;\n\n\tif (tag._.noVws \u0026\u0026 tag.inline) {\n\t\t// inline tag with attr set to \"text\" will insert HTML-encoded content - as if it was element-based innerText\n\t\tret = attr === \"text\"\n\t\t\t? $converters.html(ret)\n\t\t\t: \"\";\n\t}\n\treturn boundTag \u0026\u0026 parentView._.onRender\n\t\t// Call onRender (used by JsViews if present, to add binding annotations around rendered content)\n\t\t? parentView._.onRender(ret, parentView, tag)\n\t\t: ret;\n}\n\n//=================\n// View constructor\n//=================\n\nfunction View(context, type, parentView, data, template, key, onRender, contentTmpl) {\n\t// Constructor for view object in view hierarchy. (Augmented by JsViews if JsViews is loaded)\n\tvar views, parentView_, tag, self_,\n\t\tself = this,\n\t\tisArray = type === \"array\";\n\t\t// If the data is an array, this is an 'array view' with a views array for each child 'item view'\n\t\t// If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views\n\n\tself.content = contentTmpl;\n\tself.views = isArray ? [] : {};\n\tself.data = data;\n\tself.tmpl = template;\n\tself_ = self._ = {\n\t\tkey: 0,\n\t\t// ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash\n\t\tuseKey: isArray ? 0 : 1,\n\t\tid: \"\" + viewId++,\n\t\tonRender: onRender,\n\t\tbnds: {}\n\t};\n\tself.linked = !!onRender;\n\tself.type = type || \"top\";\n\tif (self.parent = parentView) {\n\t\tself.root = parentView.root || self; // view whose parent is top view\n\t\tviews = parentView.views;\n\t\tparentView_ = parentView._;\n\t\tself.isTop = parentView_.scp; // Is top content view of a link(\"#container\", ...) call\n\t\tself.scope = (!context.tag || context.tag === parentView.ctx.tag) \u0026\u0026 !self.isTop \u0026\u0026 parentView.scope || self;\n\t\t// Scope for contextParams - closest non flow tag ancestor or root view\n\t\tif (parentView_.useKey) {\n\t\t\t// Parent is not an 'array view'. Add this view to its views object\n\t\t\t// self._key = is the key in the parent view hash\n\t\t\tviews[self_.key = \"_\" + parentView_.useKey++] = self;\n\t\t\tself.index = indexStr;\n\t\t\tself.getIndex = getNestedIndex;\n\t\t} else if (views.length === (self_.key = self.index = key)) { // Parent is an 'array view'. Add this view to its views array\n\t\t\tviews.push(self); // Adding to end of views array. (Using push when possible - better perf than splice)\n\t\t} else {\n\t\t\tviews.splice(key, 0, self); // Inserting in views array\n\t\t}\n\t\t// If no context was passed in, use parent context\n\t\t// If context was passed in, it should have been merged already with parent context\n\t\tself.ctx = context || parentView.ctx;\n\t} else {\n\t\tself.ctx = context || {};\n\t}\n}\n\nView.prototype = {\n\tget: getView,\n\tgetIndex: getIndex,\n\tgetRsc: getResource,\n\tgetTmpl: getTemplate,\n\tctxPrm: contextParameter,\n\tgetOb: getPathObject,\n\t_is: \"view\"\n};\n\n//====================================================\n// Registration\n//====================================================\n\nfunction compileChildResources(parentTmpl) {\n\tvar storeName, storeNames, resources;\n\tfor (storeName in jsvStores) {\n\t\tstoreNames = storeName + \"s\";\n\t\tif (parentTmpl[storeNames]) {\n\t\t\tresources = parentTmpl[storeNames]; // Resources not yet compiled\n\t\t\tparentTmpl[storeNames] = {}; // Remove uncompiled resources\n\t\t\t$views[storeNames](resources, parentTmpl); // Add back in the compiled resources\n\t\t}\n\t}\n}\n\n//===============\n// compileTag\n//===============\n\nfunction compileTag(name, tagDef, parentTmpl) {\n\tvar tmpl, baseTag, prop,\n\t\tcompiledDef = new $sub._tg();\n\n\tfunction Tag() {\n\t\tvar tag = this;\n\t\ttag._ = {\n\t\t\tunlinked: true\n\t\t};\n\t\ttag.inline = true;\n\t\ttag.tagName = name;\n\t}\n\n\tif ($isFunction(tagDef)) {\n\t\t// Simple tag declared as function. No presenter instantation.\n\t\ttagDef = {\n\t\t\tdepends: tagDef.depends,\n\t\t\trender: tagDef\n\t\t};\n\t} else if (\"\" + tagDef === tagDef) {\n\t\ttagDef = {template: tagDef};\n\t}\n\n\tif (baseTag = tagDef.baseTag) {\n\t\ttagDef.flow = !!tagDef.flow; // Set flow property, so defaults to false even if baseTag has flow=true\n\t\tbaseTag = \"\" + baseTag === baseTag\n\t\t\t? (parentTmpl \u0026\u0026 parentTmpl.tags[baseTag] || $tags[baseTag])\n\t\t\t: baseTag;\n\t\tif (!baseTag) {\n\t\t\terror('baseTag: \"' + tagDef.baseTag + '\" not found');\n\t\t}\n\t\tcompiledDef = $extend(compiledDef, baseTag);\n\n\t\tfor (prop in tagDef) {\n\t\t\tcompiledDef[prop] = getMethod(baseTag[prop], tagDef[prop]);\n\t\t}\n\t} else {\n\t\tcompiledDef = $extend(compiledDef, tagDef);\n\t}\n\n\t// Tag declared as object, used as the prototype for tag instantiation (control/presenter)\n\tif ((tmpl = compiledDef.template) !== undefined) {\n\t\tcompiledDef.template = \"\" + tmpl === tmpl ? ($templates[tmpl] || $templates(tmpl)) : tmpl;\n\t}\n\t(Tag.prototype = compiledDef).constructor = compiledDef._ctr = Tag;\n\n\tif (parentTmpl) {\n\t\tcompiledDef._parentTmpl = parentTmpl;\n\t}\n\treturn compiledDef;\n}\n\nfunction baseApply(args) {\n\t// In derived method (or handler declared declaratively as in {{:foo onChange=~fooChanged}} can call base method,\n\t// using this.baseApply(arguments) (Equivalent to this._superApply(arguments) in jQuery UI)\n\treturn this.base.apply(this, args);\n}\n\n//===============\n// compileTmpl\n//===============\n\nfunction compileTmpl(name, tmpl, parentTmpl, options) {\n\t// tmpl is either a template object, a selector for a template script block, the name of a compiled template, or a template object\n\n\t//==== nested functions ====\n\tfunction lookupTemplate(value) {\n\t\t// If value is of type string - treat as selector, or name of compiled template\n\t\t// Return the template object, if already compiled, or the markup string\n\t\tvar currentName, tmpl;\n\t\tif ((\"\" + value === value) || value.nodeType \u003e 0 \u0026\u0026 (elem = value)) {\n\t\t\tif (!elem) {\n\t\t\t\tif (/^\\.\\/[^\\\\:*?\"\u003c\u003e]*$/.test(value)) {\n\t\t\t\t\t// tmpl=\"./some/file.html\"\n\t\t\t\t\t// If the template is not named, use \"./some/file.html\" as name.\n\t\t\t\t\tif (tmpl = $templates[name = name || value]) {\n\t\t\t\t\t\tvalue = tmpl;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// BROWSER-SPECIFIC CODE (not on Node.js):\n\t\t\t\t\t\t// Look for server-generated script block with id \"./some/file.html\"\n\t\t\t\t\t\telem = document.getElementById(value);\n\t\t\t\t\t}\n\t\t\t\t} else if ($.fn \u0026\u0026 !$sub.rTmpl.test(value)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\telem = $ (value, document)[0]; // if jQuery is loaded, test for selector returning elements, and get first element\n\t\t\t\t\t} catch (e) {}\n\t\t\t\t}// END BROWSER-SPECIFIC CODE\n\t\t\t} //BROWSER-SPECIFIC CODE\n\t\t\tif (elem) {\n\t\t\t\tif (elem.tagName !== \"SCRIPT\") {\n\t\t\t\t\terror(value + \": Use script block, not \" + elem.tagName);\n\t\t\t\t}\n\t\t\t\tif (options) {\n\t\t\t\t\t// We will compile a new template using the markup in the script element\n\t\t\t\t\tvalue = elem.innerHTML;\n\t\t\t\t} else {\n\t\t\t\t\t// We will cache a single copy of the compiled template, and associate it with the name\n\t\t\t\t\t// (renaming from a previous name if there was one).\n\t\t\t\t\tcurrentName = elem.getAttribute(tmplAttr);\n\t\t\t\t\tif (currentName) {\n\t\t\t\t\t\tif (currentName !== jsvTmpl) {\n\t\t\t\t\t\t\tvalue = $templates[currentName];\n\t\t\t\t\t\t\tdelete $templates[currentName];\n\t\t\t\t\t\t} else if ($.fn) {\n\t\t\t\t\t\t\tvalue = $.data(elem)[jsvTmpl]; // Get cached compiled template\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (!currentName || !value) { // Not yet compiled, or cached version lost\n\t\t\t\t\t\tname = name || ($.fn ? jsvTmpl : value);\n\t\t\t\t\t\tvalue = compileTmpl(name, elem.innerHTML, parentTmpl, options);\n\t\t\t\t\t}\n\t\t\t\t\tvalue.tmplName = name = name || currentName;\n\t\t\t\t\tif (name !== jsvTmpl) {\n\t\t\t\t\t\t$templates[name] = value;\n\t\t\t\t\t}\n\t\t\t\t\telem.setAttribute(tmplAttr, name);\n\t\t\t\t\tif ($.fn) {\n\t\t\t\t\t\t$.data(elem, jsvTmpl, value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} // END BROWSER-SPECIFIC CODE\n\t\t\telem = undefined;\n\t\t} else if (!value.fn) {\n\t\t\tvalue = undefined;\n\t\t\t// If value is not a string. HTML element, or compiled template, return undefined\n\t\t}\n\t\treturn value;\n\t}\n\n\tvar elem, compiledTmpl,\n\t\ttmplOrMarkup = tmpl = tmpl || \"\";\n\t$sub._html = $converters.html;\n\n\t//==== Compile the template ====\n\tif (options === 0) {\n\t\toptions = undefined;\n\t\ttmplOrMarkup = lookupTemplate(tmplOrMarkup); // Top-level compile so do a template lookup\n\t}\n\n\t// If options, then this was already compiled from a (script) element template declaration.\n\t// If not, then if tmpl is a template object, use it for options\n\toptions = options || (tmpl.markup\n\t\t? tmpl.bnds\n\t\t\t? $extend({}, tmpl)\n\t\t\t: tmpl\n\t\t: {}\n\t);\n\n\toptions.tmplName = options.tmplName || name || \"unnamed\";\n\tif (parentTmpl) {\n\t\toptions._parentTmpl = parentTmpl;\n\t}\n\t// If tmpl is not a markup string or a selector string, then it must be a template object\n\t// In that case, get it from the markup property of the object\n\tif (!tmplOrMarkup \u0026\u0026 tmpl.markup \u0026\u0026 (tmplOrMarkup = lookupTemplate(tmpl.markup)) \u0026\u0026 tmplOrMarkup.fn) {\n\t\t// If the string references a compiled template object, need to recompile to merge any modified options\n\t\ttmplOrMarkup = tmplOrMarkup.markup;\n\t}\n\tif (tmplOrMarkup !== undefined) {\n\t\tif (tmplOrMarkup.render || tmpl.render) {\n\t\t\t// tmpl is already compiled, so use it\n\t\t\tif (tmplOrMarkup.tmpls) {\n\t\t\t\tcompiledTmpl = tmplOrMarkup;\n\t\t\t}\n\t\t} else {\n\t\t\t// tmplOrMarkup is a markup string, not a compiled template\n\t\t\t// Create template object\n\t\t\ttmpl = tmplObject(tmplOrMarkup, options);\n\t\t\t// Compile to AST and then to compiled function\n\t\t\ttmplFn(tmplOrMarkup.replace(rEscapeQuotes, \"\\\\$\u0026\"), tmpl);\n\t\t}\n\t\tif (!compiledTmpl) {\n\t\t\tcompiledTmpl = $extend(function() {\n\t\t\t\treturn compiledTmpl.render.apply(compiledTmpl, arguments);\n\t\t\t}, tmpl);\n\n\t\t\tcompileChildResources(compiledTmpl);\n\t\t}\n\t\treturn compiledTmpl;\n\t}\n}\n\n//==== /end of function compileTmpl ====\n\n//=================\n// compileViewModel\n//=================\n\nfunction getDefaultVal(defaultVal, data) {\n\treturn $isFunction(defaultVal)\n\t\t? defaultVal.call(data)\n\t\t: defaultVal;\n}\n\nfunction unmapArray(modelArr) {\n\t\tvar arr = [],\n\t\t\ti = 0,\n\t\t\tl = modelArr.length;\n\t\tfor (; i\u003cl; i++) {\n\t\t\tarr.push(modelArr[i].unmap());\n\t\t}\n\t\treturn arr;\n}\n\nfunction compileViewModel(name, type) {\n\tvar i, constructor,\n\t\tviewModels = this,\n\t\tgetters = type.getters,\n\t\textend = type.extend,\n\t\tid = type.id,\n\t\tproto = $.extend({\n\t\t\t_is: name || \"unnamed\",\n\t\t\tunmap: unmap,\n\t\t\tmerge: merge\n\t\t}, extend),\n\t\targs = \"\",\n\t\tbody = \"\",\n\t\tg = getters ? getters.length : 0,\n\t\t$observable = $.observable,\n\t\tgetterNames = {};\n\n\tfunction GetNew(args) {\n\t\tconstructor.apply(this, args);\n\t}\n\n\tfunction vm() {\n\t\treturn new GetNew(arguments);\n\t}\n\n\tfunction iterate(data, action) {\n\t\tvar getterType, defaultVal, prop, ob,\n\t\t\tj = 0;\n\t\tfor (; j\u003cg; j++) {\n\t\t\tprop = getters[j];\n\t\t\tgetterType = undefined;\n\t\t\tif (prop + \"\" !== prop) {\n\t\t\t\tgetterType = prop;\n\t\t\t\tprop = getterType.getter;\n\t\t\t}\n\t\t\tif ((ob = data[prop]) === undefined \u0026\u0026 getterType \u0026\u0026 (defaultVal = getterType.defaultVal) !== undefined) {\n\t\t\t\tob = getDefaultVal(defaultVal, data);\n\t\t\t}\n\t\t\taction(ob, getterType \u0026\u0026 viewModels[getterType.type], prop);\n\t\t}\n\t}\n\n\tfunction map(data) {\n\t\tdata = data + \"\" === data\n\t\t\t? JSON.parse(data) // Accept JSON string\n\t\t\t: data; // or object/array\n\t\tvar l, prop,\n\t\t\tj = 0,\n\t\t\tob = data,\n\t\t\tarr = [];\n\n\t\tif ($isArray(data)) {\n\t\t\tdata = data || [];\n\t\t\tl = data.length;\n\t\t\tfor (; j\u003cl; j++) {\n\t\t\t\tarr.push(this.map(data[j]));\n\t\t\t}\n\t\t\tarr._is = name;\n\t\t\tarr.unmap = unmap;\n\t\t\tarr.merge = merge;\n\t\t\treturn arr;\n\t\t}\n\n\t\tif (data) {\n\t\t\titerate(data, function(ob, viewModel) {\n\t\t\t\tif (viewModel) { // Iterate to build getters arg array (value, or mapped value)\n\t\t\t\t\tob = viewModel.map(ob);\n\t\t\t\t}\n\t\t\t\tarr.push(ob);\n\t\t\t});\n\n\t\t\tob = this.apply(this, arr); // Insantiate this View Model, passing getters args array to constructor\n\t\t\tfor (prop in data) { // Copy over any other properties. that are not get/set properties\n\t\t\t\tif (prop !== $expando \u0026\u0026 !getterNames[prop]) {\n\t\t\t\t\tob[prop] = data[prop];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn ob;\n\t}\n\n\tfunction merge(data) {\n\t\tdata = data + \"\" === data\n\t\t\t? JSON.parse(data) // Accept JSON string\n\t\t\t: data; // or object/array\n\t\tvar j, l, m, prop, mod, found, assigned, ob, newModArr,\n\t\t\tk = 0,\n\t\t\tmodel = this;\n\n\t\tif ($isArray(model)) {\n\t\t\tassigned = {};\n\t\t\tnewModArr = [];\n\t\t\tl = data.length;\n\t\t\tm = model.length;\n\t\t\tfor (; k\u003cl; k++) {\n\t\t\t\tob = data[k];\n\t\t\t\tfound = false;\n\t\t\t\tfor (j=0; j\u003cm \u0026\u0026 !found; j++) {\n\t\t\t\t\tif (assigned[j]) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tmod = model[j];\n\n\t\t\t\t\tif (id) {\n\t\t\t\t\t\tassigned[j] = found = id + \"\" === id\n\t\t\t\t\t\t? (ob[id] \u0026\u0026 (getterNames[id] ? mod[id]() : mod[id]) === ob[id])\n\t\t\t\t\t\t: id(mod, ob);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (found) {\n\t\t\t\t\tmod.merge(ob);\n\t\t\t\t\tnewModArr.push(mod);\n\t\t\t\t} else {\n\t\t\t\t\tnewModArr.push(vm.map(ob));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ($observable) {\n\t\t\t\t$observable(model).refresh(newModArr, true);\n\t\t\t} else {\n\t\t\t\tmodel.splice.apply(model, [0, model.length].concat(newModArr));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\titerate(data, function(ob, viewModel, getter) {\n\t\t\tif (viewModel) {\n\t\t\t\tmodel[getter]().merge(ob); // Update typed property\n\t\t\t} else {\n\t\t\t\tmodel[getter](ob); // Update non-typed property\n\t\t\t}\n\t\t});\n\t\tfor (prop in data) {\n\t\t\tif (prop !== $expando \u0026\u0026 !getterNames[prop]) {\n\t\t\t\tmodel[prop] = data[prop];\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction unmap() {\n\t\tvar ob, prop, getterType, arr, value,\n\t\t\tk = 0,\n\t\t\tmodel = this;\n\n\t\tif ($isArray(model)) {\n\t\t\treturn unmapArray(model);\n\t\t}\n\t\tob = {};\n\t\tfor (; k\u003cg; k++) {\n\t\t\tprop = getters[k];\n\t\t\tgetterType = undefined;\n\t\t\tif (prop + \"\" !== prop) {\n\t\t\t\tgetterType = prop;\n\t\t\t\tprop = getterType.getter;\n\t\t\t}\n\t\t\tvalue = model[prop]();\n\t\t\tob[prop] = getterType \u0026\u0026 value \u0026\u0026 viewModels[getterType.type]\n\t\t\t\t? $isArray(value)\n\t\t\t\t\t? unmapArray(value)\n\t\t\t\t\t: value.unmap()\n\t\t\t\t: value;\n\t\t}\n\t\tfor (prop in model) {\n\t\t\tif (prop !== \"_is\" \u0026\u0026 !getterNames[prop] \u0026\u0026 prop !== $expando \u0026\u0026 (prop.charAt(0) !== \"_\" || !getterNames[prop.slice(1)]) \u0026\u0026 !$isFunction(model[prop])) {\n\t\t\t\tob[prop] = model[prop];\n\t\t\t}\n\t\t}\n\t\treturn ob;\n\t}\n\n\tGetNew.prototype = proto;\n\n\tfor (i=0; i\u003cg; i++) {\n\t\t(function(getter) {\n\t\t\tgetter = getter.getter || getter;\n\t\t\tgetterNames[getter] = i+1;\n\t\t\tvar privField = \"_\" + getter;\n\n\t\t\targs += (args ? \",\" : \"\") + getter;\n\t\t\tbody += \"this.\" + privField + \" = \" + getter + \";\\n\";\n\t\t\tproto[getter] = proto[getter] || function(val) {\n\t\t\t\tif (!arguments.length) {\n\t\t\t\t\treturn this[privField]; // If there is no argument, use as a getter\n\t\t\t\t}\n\t\t\t\tif ($observable) {\n\t\t\t\t\t$observable(this).setProperty(getter, val);\n\t\t\t\t} else {\n\t\t\t\t\tthis[privField] = val;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif ($observable) {\n\t\t\t\tproto[getter].set = proto[getter].set || function(val) {\n\t\t\t\t\tthis[privField] = val; // Setter called by observable property change\n\t\t\t\t};\n\t\t\t}\n\t\t})(getters[i]);\n\t}\n\n\tconstructor = new Function(args, body.slice(0, -1));\n\tconstructor.prototype = proto;\n\tproto.constructor = constructor;\n\n\tvm.map = map;\n\tvm.getters = getters;\n\tvm.extend = extend;\n\tvm.id = id;\n\treturn vm;\n}\n\nfunction tmplObject(markup, options) {\n\t// Template object constructor\n\tvar htmlTag,\n\t\twrapMap = $subSettingsAdvanced._wm || {}, // Only used in JsViews. Otherwise empty: {}\n\t\ttmpl = {\n\t\t\ttmpls: [],\n\t\t\tlinks: {}, // Compiled functions for link expressions\n\t\t\tbnds: [],\n\t\t\t_is: \"template\",\n\t\t\trender: renderContent\n\t\t};\n\n\tif (options) {\n\t\ttmpl = $extend(tmpl, options);\n\t}\n\n\ttmpl.markup = markup;\n\tif (!tmpl.htmlTag) {\n\t\t// Set tmpl.tag to the top-level HTML tag used in the template, if any...\n\t\thtmlTag = rFirstElem.exec(markup);\n\t\ttmpl.htmlTag = htmlTag ? htmlTag[1].toLowerCase() : \"\";\n\t}\n\thtmlTag = wrapMap[tmpl.htmlTag];\n\tif (htmlTag \u0026\u0026 htmlTag !== wrapMap.div) {\n\t\t// When using JsViews, we trim templates which are inserted into HTML contexts where text nodes are not rendered (i.e. not 'Phrasing Content').\n\t\t// Currently not trimmed for \u003cli\u003e tag. (Not worth adding perf cost)\n\t\ttmpl.markup = $.trim(tmpl.markup);\n\t}\n\n\treturn tmpl;\n}\n\n//==============\n// registerStore\n//==============\n\nfunction registerStore(storeName, storeSettings) {\n\n\tfunction theStore(name, item, parentTmpl) {\n\t\t// The store is also the function used to add items to the store. e.g. $.templates, or $.views.tags\n\n\t\t// For store of name 'thing', Call as:\n\t\t// $.views.things(items[, parentTmpl]),\n\t\t// or $.views.things(name, item[, parentTmpl])\n\n\t\tvar compile, itemName, thisStore, cnt,\n\t\t\tonStore = $sub.onStore[storeName];\n\n\t\tif (name \u0026\u0026 typeof name === OBJECT \u0026\u0026 !name.nodeType \u0026\u0026 !name.markup \u0026\u0026 !name.getTgt \u0026\u0026 !(storeName === \"viewModel\" \u0026\u0026 name.getters || name.extend)) {\n\t\t\t// Call to $.views.things(items[, parentTmpl]),\n\n\t\t\t// Adding items to the store\n\t\t\t// If name is a hash, then item is parentTmpl. Iterate over hash and call store for key.\n\t\t\tfor (itemName in name) {\n\t\t\t\ttheStore(itemName, name[itemName], item);\n\t\t\t}\n\t\t\treturn item || $views;\n\t\t}\n\t\t// Adding a single unnamed item to the store\n\t\tif (item === undefined) {\n\t\t\titem = name;\n\t\t\tname = undefined;\n\t\t}\n\t\tif (name \u0026\u0026 \"\" + name !== name) { // name must be a string\n\t\t\tparentTmpl = item;\n\t\t\titem = name;\n\t\t\tname = undefined;\n\t\t}\n\t\tthisStore = parentTmpl\n\t\t\t? storeName === \"viewModel\"\n\t\t\t\t? parentTmpl\n\t\t\t\t: (parentTmpl[storeNames] = parentTmpl[storeNames] || {})\n\t\t\t: theStore;\n\t\tcompile = storeSettings.compile;\n\n\t\tif (item === null) {\n\t\t\t// If item is null, delete this entry\n\t\t\tif (name) {\n\t\t\t\tdelete thisStore[name];\n\t\t\t}\n\t\t} else {\n\t\t\tif (compile) {\n\t\t\t\titem = compile.call(thisStore, name, item, parentTmpl, 0) || {};\n\t\t\t\titem._is = storeName; // Only do this for compiled objects (tags, templates...)\n\t\t\t}\n\t\t\tif (name) {\n\t\t\t\tthisStore[name] = item;\n\t\t\t}\n\t\t}\n\t\tif (onStore) {\n\t\t\t// e.g. JsViews integration\n\t\t\tonStore(name, item, parentTmpl, compile);\n\t\t}\n\t\treturn item;\n\t}\n\n\tvar storeNames = storeName + \"s\";\n\t$views[storeNames] = theStore;\n}\n\nfunction addSetting(st) {\n\t$viewsSettings[st] = function(value) {\n\t\treturn arguments.length\n\t\t\t? ($subSettings[st] = value, $viewsSettings)\n\t\t\t: $subSettings[st];\n\t};\n}\n\n//========================\n// dataMap for render only\n//========================\n\nfunction dataMap(mapDef) {\n\tfunction Map(source, options) {\n\t\tthis.tgt = mapDef.getTgt(source, options);\n\t\toptions.map = this;\n\t}\n\n\tif ($isFunction(mapDef)) {\n\t\t// Simple map declared as function\n\t\tmapDef = {\n\t\t\tgetTgt: mapDef\n\t\t};\n\t}\n\n\tif (mapDef.baseMap) {\n\t\tmapDef = $extend($extend({}, mapDef.baseMap), mapDef);\n\t}\n\n\tmapDef.map = function(source, options) {\n\t\treturn new Map(source, options);\n\t};\n\treturn mapDef;\n}\n\n//==============\n// renderContent\n//==============\n\nfunction renderContent(data, context, noIteration, parentView, key, onRender) {\n\tvar i, l, tag, tmpl, tagCtx, isTopRenderCall, prevData, prevIndex,\n\t\tview = parentView,\n\t\tresult = \"\";\n\n\tif (context === true) {\n\t\tnoIteration = context; // passing boolean as second param - noIteration\n\t\tcontext = undefined;\n\t} else if (typeof context !== OBJECT) {\n\t\tcontext = undefined; // context must be a boolean (noIteration) or a plain object\n\t}\n\n\tif (tag = this.tag) {\n\t\t// This is a call from renderTag or tagCtx.render(...)\n\t\ttagCtx = this;\n\t\tview = view || tagCtx.view;\n\t\ttmpl = view.getTmpl(tag.template || tagCtx.tmpl);\n\t\tif (!arguments.length) {\n\t\t\tdata = tag.contentCtx \u0026\u0026 $isFunction(tag.contentCtx)\n\t\t\t\t? data = tag.contentCtx(data)\n\t\t\t\t: view; // Default data context for wrapped block content is the first argument\n\t\t}\n\t} else {\n\t\t// This is a template.render(...) call\n\t\ttmpl = this;\n\t}\n\n\tif (tmpl) {\n\t\tif (!parentView \u0026\u0026 data \u0026\u0026 data._is === \"view\") {\n\t\t\tview = data; // When passing in a view to render or link (and not passing in a parent view) use the passed-in view as parentView\n\t\t}\n\n\t\tif (view \u0026\u0026 data === view) {\n\t\t\t// Inherit the data from the parent view.\n\t\t\tdata = view.data;\n\t\t}\n\n\t\tisTopRenderCall = !view;\n\t\tisRenderCall = isRenderCall || isTopRenderCall;\n\t\tif (!view) {\n\t\t\t(context = context || {}).root = data; // Provide ~root as shortcut to top-level data.\n\t\t}\n\t\tif (!isRenderCall || $subSettingsAdvanced.useViews || tmpl.useViews || view \u0026\u0026 view !== topView) {\n\t\t\tresult = renderWithViews(tmpl, data, context, noIteration, view, key, onRender, tag);\n\t\t} else {\n\t\t\tif (view) { // In a block\n\t\t\t\tprevData = view.data;\n\t\t\t\tprevIndex = view.index;\n\t\t\t\tview.index = indexStr;\n\t\t\t} else {\n\t\t\t\tview = topView;\n\t\t\t\tprevData = view.data;\n\t\t\t\tview.data = data;\n\t\t\t\tview.ctx = context;\n\t\t\t}\n\t\t\tif ($isArray(data) \u0026\u0026 !noIteration) {\n\t\t\t\t// Create a view for the array, whose child views correspond to each data item. (Note: if key and parentView are passed in\n\t\t\t\t// along with parent view, treat as insert -e.g. from view.addViews - so parentView is already the view item for array)\n\t\t\t\tfor (i = 0, l = data.length; i \u003c l; i++) {\n\t\t\t\t\tview.index = i;\n\t\t\t\t\tview.data = data[i];\n\t\t\t\t\tresult += tmpl.fn(data[i], view, $sub);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tview.data = data;\n\t\t\t\tresult += tmpl.fn(data, view, $sub);\n\t\t\t}\n\t\t\tview.data = prevData;\n\t\t\tview.index = prevIndex;\n\t\t}\n\t\tif (isTopRenderCall) {\n\t\t\tisRenderCall = undefined;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction renderWithViews(tmpl, data, context, noIteration, view, key, onRender, tag) {\n\tfunction setItemVar(item) {\n\t\t// When itemVar is specified, set modified ctx with user-named ~item\n\t\tnewCtx = $extend({}, context);\n\t\tnewCtx[itemVar] = item;\n\t}\n\n\t// Render template against data as a tree of subviews (nested rendered template instances), or as a string (top-level template).\n\t// If the data is the parent view, treat as noIteration, re-render with the same data context.\n\t// tmpl can be a string (e.g. rendered by a tag.render() method), or a compiled template.\n\tvar i, l, newView, childView, itemResult, swapContent, contentTmpl, outerOnRender, tmplName, itemVar, newCtx, tagCtx, noLinking,\n\t\tresult = \"\";\n\n\tif (tag) {\n\t\t// This is a call from renderTag or tagCtx.render(...)\n\t\ttmplName = tag.tagName;\n\t\ttagCtx = tag.tagCtx;\n\t\tcontext = context ? extendCtx(context, tag.ctx) : tag.ctx;\n\n\t\tif (tmpl === view.content) { // {{xxx tmpl=#content}}\n\t\t\tcontentTmpl = tmpl !== view.ctx._wrp // We are rendering the #content\n\t\t\t\t? view.ctx._wrp // #content was the tagCtx.props.tmpl wrapper of the block content - so within this view, #content will now be the view.ctx._wrp block content\n\t\t\t\t: undefined; // #content was the view.ctx._wrp block content - so within this view, there is no longer any #content to wrap.\n\t\t} else if (tmpl !== tagCtx.content) {\n\t\t\tif (tmpl === tag.template) { // Rendering {{tag}} tag.template, replacing block content.\n\t\t\t\tcontentTmpl = tagCtx.tmpl; // Set #content to block content (or wrapped block content if tagCtx.props.tmpl is set)\n\t\t\t\tcontext._wrp = tagCtx.content; // Pass wrapped block content to nested views\n\t\t\t} else { // Rendering tagCtx.props.tmpl wrapper\n\t\t\t\tcontentTmpl = tagCtx.content || view.content; // Set #content to wrapped block content\n\t\t\t}\n\t\t} else {\n\t\t\tcontentTmpl = view.content; // Nested views inherit same wrapped #content property\n\t\t}\n\n\t\tif (tagCtx.props.link === false) {\n\t\t\t// link=false setting on block tag\n\t\t\t// We will override inherited value of link by the explicit setting link=false taken from props\n\t\t\t// The child views of an unlinked view are also unlinked. So setting child back to true will not have any effect.\n\t\t\tcontext = context || {};\n\t\t\tcontext.link = false;\n\t\t}\n\t\tif (itemVar = tagCtx.props.itemVar) {\n\t\t\tif (itemVar.charAt(0) !== \"~\") {\n\t\t\t\tsyntaxError(\"Use itemVar='~myItem'\");\n\t\t\t}\n\t\t\titemVar = itemVar.slice(1);\n\t\t}\n\t}\n\n\tif (view) {\n\t\tonRender = onRender || view._.onRender;\n\t\tnoLinking = context \u0026\u0026 context.link === false;\n\n\t\tif (noLinking \u0026\u0026 view._.nl) {\n\t\t\tonRender = undefined;\n\t\t}\n\n\t\tcontext = extendCtx(context, view.ctx);\n\t}\n\n\tif (key === true) {\n\t\tswapContent = true;\n\t\tkey = 0;\n\t}\n\n\t// If link===false, do not call onRender, so no data-linking marker nodes\n\tif (onRender \u0026\u0026 tag \u0026\u0026 tag._.noVws) {\n\t\tonRender = undefined;\n\t}\n\touterOnRender = onRender;\n\tif (onRender === true) {\n\t\t// Used by view.refresh(). Don't create a new wrapper view.\n\t\touterOnRender = undefined;\n\t\tonRender = view._.onRender;\n\t}\n\t// Set additional context on views created here, (as modified context inherited from the parent, and to be inherited by child views)\n\tcontext = tmpl.helpers\n\t\t? extendCtx(tmpl.helpers, context)\n\t\t: context;\n\n\tnewCtx = context;\n\tif ($isArray(data) \u0026\u0026 !noIteration) {\n\t\t// Create a view for the array, whose child views correspond to each data item. (Note: if key and view are passed in\n\t\t// along with parent view, treat as insert -e.g. from view.addViews - so view is already the view item for array)\n\t\tnewView = swapContent\n\t\t\t? view\n\t\t\t: (key !== undefined \u0026\u0026 view)\n\t\t\t\t|| new View(context, \"array\", view, data, tmpl, key, onRender, contentTmpl);\n\t\tnewView._.nl= noLinking;\n\t\tif (view \u0026\u0026 view._.useKey) {\n\t\t\t// Parent is not an 'array view'\n\t\t\tnewView._.bnd = !tag || tag._.bnd \u0026\u0026 tag; // For array views that are data bound for collection change events, set the\n\t\t\t// view._.bnd property to true for top-level link() or data-link=\"{for}\", or to the tag instance for a data-bound tag, e.g. {^{for ...}}\n\t\t\tnewView.tag = tag;\n\t\t}\n\t\tfor (i = 0, l = data.length; i \u003c l; i++) {\n\t\t\t// Create a view for each data item.\n\t\t\tif (itemVar) {\n\t\t\t\tsetItemVar(data[i]); // use modified ctx with user-named ~item\n\t\t\t}\n\t\t\tchildView = new View(newCtx, \"item\", newView, data[i], tmpl, (key || 0) + i, onRender, newView.content);\n\t\t\tchildView._.it = itemVar;\n\n\t\t\titemResult = tmpl.fn(data[i], childView, $sub);\n\t\t\tresult += newView._.onRender ? newView._.onRender(itemResult, childView) : itemResult;\n\t\t}\n\t} else {\n\t\t// Create a view for singleton data object. The type of the view will be the tag name, e.g. \"if\" or \"mytag\" except for\n\t\t// \"item\", \"array\" and \"data\" views. A \"data\" view is from programmatic render(object) against a 'singleton'.\n\t\tif (itemVar) {\n\t\t\tsetItemVar(data);\n\t\t}\n\t\tnewView = swapContent ? view : new View(newCtx, tmplName || \"data\", view, data, tmpl, key, onRender, contentTmpl);\n\t\tnewView._.it = itemVar;\n\t\tnewView.tag = tag;\n\t\tnewView._.nl = noLinking;\n\t\tresult += tmpl.fn(data, newView, $sub);\n\t}\n\tif (tag) {\n\t\tnewView.tagElse = tagCtx.index;\n\t\ttagCtx.contentView = newView;\n\t}\n\treturn outerOnRender ? outerOnRender(result, newView) : result;\n}\n\n//===========================\n// Build and compile template\n//===========================\n\n// Generate a reusable function that will serve to render a template against data\n// (Compile AST then build template function)\n\nfunction onRenderError(e, view, fallback) {\n\tvar message = fallback !== undefined\n\t\t? $isFunction(fallback)\n\t\t\t? fallback.call(view.data, e, view)\n\t\t\t: fallback || \"\"\n\t\t: \"{Error: \" + (e.message||e) + \"}\";\n\n\tif ($subSettings.onError \u0026\u0026 (fallback = $subSettings.onError.call(view.data, e, fallback \u0026\u0026 message, view)) !== undefined) {\n\t\tmessage = fallback; // There is a settings.debugMode(handler) onError override. Call it, and use return value (if any) to replace message\n\t}\n\n\treturn view \u0026\u0026 !view.linkCtx ? $converters.html(message) : message;\n}\n\nfunction error(message) {\n\tthrow new $sub.Err(message);\n}\n\nfunction syntaxError(message) {\n\terror(\"Syntax error\\n\" + message);\n}\n\nfunction tmplFn(markup, tmpl, isLinkExpr, convertBack, hasElse) {\n\t// Compile markup to AST (abtract syntax tree) then build the template function code from the AST nodes\n\t// Used for compiling templates, and also by JsViews to build functions for data link expressions\n\n\t//==== nested functions ====\n\tfunction pushprecedingContent(shift) {\n\t\tshift -= loc;\n\t\tif (shift) {\n\t\t\tcontent.push(markup.substr(loc, shift).replace(rNewLine, \"\\\\n\"));\n\t\t}\n\t}\n\n\tfunction blockTagCheck(tagName, block) {\n\t\tif (tagName) {\n\t\t\ttagName += '}}';\n\t\t\t//\t\t\t'{{include}} block has {{/for}} with no open {{for}}'\n\t\t\tsyntaxError((\n\t\t\t\tblock\n\t\t\t\t\t? '{{' + block + '}} block has {{/' + tagName + ' without {{' + tagName\n\t\t\t\t\t: 'Unmatched or missing {{/' + tagName) + ', in template:\\n' + markup);\n\t\t}\n\t}\n\n\tfunction parseTag(all, bind, tagName, converter, colon, html, codeTag, params, slash, bind2, closeBlock, index) {\n/*\n\n bind tagName cvt cln html code params slash bind2 closeBlk comment\n/(?:{(\\^)?{(?:(\\w+(?=[\\/\\s}]))|(\\w+)?(:)|(\u003e)|(\\*))\\s*((?:[^}]|}(?!}))*?)(\\/)?|{(\\^)?{(?:(?:\\/(\\w+))\\s*|!--[\\s\\S]*?--))}}/g\n\n(?:\n {(\\^)?{ bind\n (?:\n (\\w+ tagName\n (?=[\\/\\s}])\n )\n |\n (\\w+)?(:) converter colon\n |\n (\u003e) html\n |\n (\\*) codeTag\n )\n \\s*\n ( params\n (?:[^}]|}(?!}))*?\n )\n (\\/)? slash\n |\n {(\\^)?{ bind2\n (?:\n (?:\\/(\\w+))\\s* closeBlock\n |\n !--[\\s\\S]*?-- comment\n )\n)\n}}/g\n\n*/\n\t\tif (codeTag \u0026\u0026 bind || slash \u0026\u0026 !tagName || params \u0026\u0026 params.slice(-1) === \":\" || bind2) {\n\t\t\tsyntaxError(all);\n\t\t}\n\n\t\t// Build abstract syntax tree (AST): [tagName, converter, params, content, hash, bindings, contentMarkup]\n\t\tif (html) {\n\t\t\tcolon = \":\";\n\t\t\tconverter = HTML;\n\t\t}\n\t\tslash = slash || isLinkExpr \u0026\u0026 !hasElse;\n\n\t\tvar late, openTagName, isLateOb,\n\t\t\tpathBindings = (bind || isLinkExpr) \u0026\u0026 [[]], // pathBindings is an array of arrays for arg bindings and a hash of arrays for prop bindings\n\t\t\tprops = \"\",\n\t\t\targs = \"\",\n\t\t\tctxProps = \"\",\n\t\t\tparamsArgs = \"\",\n\t\t\tparamsProps = \"\",\n\t\t\tparamsCtxProps = \"\",\n\t\t\tonError = \"\",\n\t\t\tuseTrigger = \"\",\n\t\t\t// Block tag if not self-closing and not {{:}} or {{\u003e}} (special case) and not a data-link expression\n\t\t\tblock = !slash \u0026\u0026 !colon;\n\n\t\t//==== nested helper function ====\n\t\ttagName = tagName || (params = params || \"#data\", colon); // {{:}} is equivalent to {{:#data}}\n\t\tpushprecedingContent(index);\n\t\tloc = index + all.length; // location marker - parsed up to here\n\t\tif (codeTag) {\n\t\t\tif (allowCode) {\n\t\t\t\tcontent.push([\"*\", \"\\n\" + params.replace(/^:/, \"ret+= \").replace(rUnescapeQuotes, \"$1\") + \";\\n\"]);\n\t\t\t}\n\t\t} else if (tagName) {\n\t\t\tif (tagName === \"else\") {\n\t\t\t\tif (rTestElseIf.test(params)) {\n\t\t\t\t\tsyntaxError('For \"{{else if expr}}\" use \"{{else expr}}\"');\n\t\t\t\t}\n\t\t\t\tpathBindings = current[9] \u0026\u0026 [[]];\n\t\t\t\tcurrent[10] = markup.substring(current[10], index); // contentMarkup for block tag\n\t\t\t\topenTagName = current[11] || current[0] || syntaxError(\"Mismatched: \" + all);\n\t\t\t\t// current[0] is tagName, but for {{else}} nodes, current[11] is tagName of preceding open tag\n\t\t\t\tcurrent = stack.pop();\n\t\t\t\tcontent = current[2];\n\t\t\t\tblock = true;\n\t\t\t}\n\t\t\tif (params) {\n\t\t\t\t// remove newlines from the params string, to avoid compiled code errors for unterminated strings\n\t\t\t\tparseParams(params.replace(rNewLine, \" \"), pathBindings, tmpl, isLinkExpr)\n\t\t\t\t\t.replace(rBuildHash, function(all, onerror, isCtxPrm, key, keyToken, keyValue, arg, param) {\n\t\t\t\t\t\tif (key === \"this:\") {\n\t\t\t\t\t\t\tkeyValue = \"undefined\"; // this=some.path is always a to parameter (one-way), so don't need to compile/evaluate some.path initialization\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (param) {\n\t\t\t\t\t\t\tisLateOb = isLateOb || param.charAt(0) === \"@\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tkey = \"'\" + keyToken + \"':\";\n\t\t\t\t\t\tif (arg) {\n\t\t\t\t\t\t\targs += isCtxPrm + keyValue + \",\";\n\t\t\t\t\t\t\tparamsArgs += \"'\" + param + \"',\";\n\t\t\t\t\t\t} else if (isCtxPrm) { // Contextual parameter, ~foo=expr\n\t\t\t\t\t\t\tctxProps += key + 'j._cp(' + keyValue + ',\"' + param + '\",view),';\n\t\t\t\t\t\t\t// Compiled code for evaluating tagCtx on a tag will have: ctx:{'foo':j._cp(compiledExpr, \"expr\", view)}\n\t\t\t\t\t\t\tparamsCtxProps += key + \"'\" + param + \"',\";\n\t\t\t\t\t\t} else if (onerror) {\n\t\t\t\t\t\t\tonError += keyValue;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (keyToken === \"trigger\") {\n\t\t\t\t\t\t\t\tuseTrigger += keyValue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (keyToken === \"lateRender\") {\n\t\t\t\t\t\t\t\tlate = param !== \"false\"; // Render after first pass\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprops += key + keyValue + \",\";\n\t\t\t\t\t\t\tparamsProps += key + \"'\" + param + \"',\";\n\t\t\t\t\t\t\thasHandlers = hasHandlers || rHasHandlers.test(keyToken);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn \"\";\n\t\t\t\t\t}).slice(0, -1);\n\t\t\t}\n\n\t\t\tif (pathBindings \u0026\u0026 pathBindings[0]) {\n\t\t\t\tpathBindings.pop(); // Remove the binding that was prepared for next arg. (There is always an extra one ready).\n\t\t\t}\n\n\t\t\tnewNode = [\n\t\t\t\t\ttagName,\n\t\t\t\t\tconverter || !!convertBack || hasHandlers || \"\",\n\t\t\t\t\tblock \u0026\u0026 [],\n\t\t\t\t\tparsedParam(paramsArgs || (tagName === \":\" ? \"'#data',\" : \"\"), paramsProps, paramsCtxProps), // {{:}} equivalent to {{:#data}}\n\t\t\t\t\tparsedParam(args || (tagName === \":\" ? \"data,\" : \"\"), props, ctxProps),\n\t\t\t\t\tonError,\n\t\t\t\t\tuseTrigger,\n\t\t\t\t\tlate,\n\t\t\t\t\tisLateOb,\n\t\t\t\t\tpathBindings || 0\n\t\t\t\t];\n\t\t\tcontent.push(newNode);\n\t\t\tif (block) {\n\t\t\t\tstack.push(current);\n\t\t\t\tcurrent = newNode;\n\t\t\t\tcurrent[10] = loc; // Store current location of open tag, to be able to add contentMarkup when we reach closing tag\n\t\t\t\tcurrent[11] = openTagName; // Used for checking syntax (matching close tag)\n\t\t\t}\n\t\t} else if (closeBlock) {\n\t\t\tblockTagCheck(closeBlock !== current[0] \u0026\u0026 closeBlock !== current[11] \u0026\u0026 closeBlock, current[0]); // Check matching close tag name\n\t\t\tcurrent[10] = markup.substring(current[10], index); // contentMarkup for block tag\n\t\t\tcurrent = stack.pop();\n\t\t}\n\t\tblockTagCheck(!current \u0026\u0026 closeBlock);\n\t\tcontent = current[2];\n\t}\n\t//==== /end of nested functions ====\n\n\tvar i, result, newNode, hasHandlers, bindings,\n\t\tallowCode = $subSettings.allowCode || tmpl \u0026\u0026 tmpl.allowCode\n\t\t\t|| $viewsSettings.allowCode === true, // include direct setting of settings.allowCode true for backward compat only\n\t\tastTop = [],\n\t\tloc = 0,\n\t\tstack = [],\n\t\tcontent = astTop,\n\t\tcurrent = [,,astTop];\n\n\tif (allowCode \u0026\u0026 tmpl._is) {\n\t\ttmpl.allowCode = allowCode;\n\t}\n\n//TODO\tresult = tmplFnsCache[markup]; // Only cache if template is not named and markup length \u003c ...,\n//and there are no bindings or subtemplates?? Consider standard optimization for data-link=\"a.b.c\"\n//\t\tif (result) {\n//\t\t\ttmpl.fn = result;\n//\t\t} else {\n\n//\t\tresult = markup;\n\tif (isLinkExpr) {\n\t\tif (convertBack !== undefined) {\n\t\t\tmarkup = markup.slice(0, -convertBack.length - 2) + delimCloseChar0;\n\t\t}\n\t\tmarkup = delimOpenChar0 + markup + delimCloseChar1;\n\t}\n\n\tblockTagCheck(stack[0] \u0026\u0026 stack[0][2].pop()[0]);\n\t// Build the AST (abstract syntax tree) under astTop\n\tmarkup.replace(rTag, parseTag);\n\n\tpushprecedingContent(markup.length);\n\n\tif (loc = astTop[astTop.length - 1]) {\n\t\tblockTagCheck(\"\" + loc !== loc \u0026\u0026 (+loc[10] === loc[10]) \u0026\u0026 loc[0]);\n\t}\n//\t\t\tresult = tmplFnsCache[markup] = buildCode(astTop, tmpl);\n//\t\t}\n\n\tif (isLinkExpr) {\n\t\tresult = buildCode(astTop, markup, isLinkExpr);\n\t\tbindings = [];\n\t\ti = astTop.length;\n\t\twhile (i--) {\n\t\t\tbindings.unshift(astTop[i][9]); // With data-link expressions, pathBindings array for tagCtx[i] is astTop[i][9]\n\t\t}\n\t\tsetPaths(result, bindings);\n\t} else {\n\t\tresult = buildCode(astTop, tmpl);\n\t}\n\treturn result;\n}\n\nfunction setPaths(fn, pathsArr) {\n\tvar key, paths,\n\t\ti = 0,\n\t\tl = pathsArr.length;\n\tfn.deps = [];\n\tfn.paths = []; // The array of path binding (array/dictionary)s for each tag/else block's args and props\n\tfor (; i \u003c l; i++) {\n\t\tfn.paths.push(paths = pathsArr[i]);\n\t\tfor (key in paths) {\n\t\t\tif (key !== \"_jsvto\" \u0026\u0026 paths.hasOwnProperty(key) \u0026\u0026 paths[key].length \u0026\u0026 !paths[key].skp) {\n\t\t\t\tfn.deps = fn.deps.concat(paths[key]); // deps is the concatenation of the paths arrays for the different bindings\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parsedParam(args, props, ctx) {\n\treturn [args.slice(0, -1), props.slice(0, -1), ctx.slice(0, -1)];\n}\n\nfunction paramStructure(parts, type) {\n\treturn '\\n\\t'\n\t\t+ (type\n\t\t\t? type + ':{'\n\t\t\t: '')\n\t\t+ 'args:[' + parts[0] + '],\\n\\tprops:{' + parts[1] + '}'\n\t\t+ (parts[2] ? ',\\n\\tctx:{' + parts[2] + '}' : \"\");\n}\n\nfunction parseParams(params, pathBindings, tmpl, isLinkExpr) {\n\n\tfunction parseTokens(all, lftPrn0, lftPrn, bound, path, operator, err, eq, path2, late, prn, comma, lftPrn2, apos, quot, rtPrn, rtPrnDot, prn2, space, index, full) {\n\t// /(\\()(?=\\s*\\()|(?:([([])\\s*)?(?:(\\^?)(~?[\\w$.^]+)?\\s*((\\+\\+|--)|\\+|-|\u0026\u0026|\\|\\||===|!==|==|!=|\u003c=|\u003e=|[\u003c\u003e%*:?\\/]|(=))\\s*|(!*?(@)?[#~]?[\\w$.^]+)([([])?)|(,\\s*)|(\\(?)\\\\?(?:(')|(\"))|(?:\\s*(([)\\]])(?=[.^]|\\s*$|[^([])|[)\\]])([([]?))|(\\s+)/g,\n\t// lftPrn0 lftPrn bound path operator err eq path2 late prn comma lftPrn2 apos quot rtPrn rtPrnDot prn2 space\n\t\t// (left paren? followed by (path? followed by operator) or (path followed by paren?)) or comma or apos or quot or right paren or space\n\t\tfunction parsePath(allPath, not, object, helper, view, viewProperty, pathTokens, leafToken) {\n\t\t\t//rPath = /^(!*?)(?:null|true|false|\\d[\\d.]*|([\\w$]+|\\.|~([\\w$]+)|#(view|([\\w$]+))?)([\\w$.^]*?)(?:[.[^]([\\w$]+)\\]?)?)$/g,\n\t\t\t// not object helper view viewProperty pathTokens leafToken\n\t\t\tvar subPath = object === \".\";\n\t\t\tif (object) {\n\t\t\t\tpath = path.slice(not.length);\n\t\t\t\tif (/^\\.?constructor$/.test(leafToken||path)) {\n\t\t\t\t\tsyntaxError(allPath);\n\t\t\t\t}\n\t\t\t\tif (!subPath) {\n\t\t\t\t\tallPath = (late // late path @a.b.c: not throw on 'property of undefined' if a undefined, and will use getOb() after linking to resolve late.\n\t\t\t\t\t\t\t? (isLinkExpr ? '' : '(ltOb.lt=ltOb.lt||') + '(ob='\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t)\n\t\t\t\t\t\t+ (helper\n\t\t\t\t\t\t\t? 'view.ctxPrm(\"' + helper + '\")'\n\t\t\t\t\t\t\t: view\n\t\t\t\t\t\t\t\t? \"view\"\n\t\t\t\t\t\t\t\t: \"data\")\n\t\t\t\t\t\t+ (late\n\t\t\t\t\t\t\t? ')===undefined' + (isLinkExpr ? '' : ')') + '?\"\":view.getOb(ob,\"'\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t)\n\t\t\t\t\t\t+ (leafToken\n\t\t\t\t\t\t\t? (viewProperty\n\t\t\t\t\t\t\t\t? \".\" + viewProperty\n\t\t\t\t\t\t\t\t: helper\n\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t: (view ? \"\" : \".\" + object)\n\t\t\t\t\t\t\t\t) + (pathTokens || \"\")\n\t\t\t\t\t\t\t: (leafToken = helper ? \"\" : view ? viewProperty || \"\" : object, \"\"));\n\t\t\t\t\tallPath = allPath + (leafToken ? \".\" + leafToken : \"\");\n\n\t\t\t\t\tallPath = not + (allPath.slice(0, 9) === \"view.data\"\n\t\t\t\t\t\t? allPath.slice(5) // convert #view.data... to data...\n\t\t\t\t\t\t: allPath)\n\t\t\t\t\t+ (late\n\t\t\t\t\t\t\t? (isLinkExpr ? '\"': '\",ltOb') + (prn ? ',1)':')')\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (bindings) {\n\t\t\t\t\tbinds = named === \"_linkTo\" ? (bindto = pathBindings._jsvto = pathBindings._jsvto || []) : bndCtx.bd;\n\t\t\t\t\tif (theOb = subPath \u0026\u0026 binds[binds.length-1]) {\n\t\t\t\t\t\tif (theOb._cpfn) { // Computed property exprOb\n\t\t\t\t\t\t\twhile (theOb.sb) {\n\t\t\t\t\t\t\t\ttheOb = theOb.sb;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (theOb.bnd) {\n\t\t\t\t\t\t\t\tpath = \"^\" + path.slice(1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttheOb.sb = path;\n\t\t\t\t\t\t\ttheOb.bnd = theOb.bnd || path.charAt(0) === \"^\";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbinds.push(path);\n\t\t\t\t\t}\n\t\t\t\t\tpathStart[parenDepth] = index + (subPath ? 1 : 0);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn allPath;\n\t\t}\n\n\t\t//bound = bindings \u0026\u0026 bound;\n\t\tif (bound \u0026\u0026 !eq) {\n\t\t\tpath = bound + path; // e.g. some.fn(...)^some.path - so here path is \"^some.path\"\n\t\t}\n\t\toperator = operator || \"\";\n\t\tlftPrn = lftPrn || lftPrn0 || lftPrn2;\n\t\tpath = path || path2;\n\n\t\tif (late \u0026\u0026 (late = !/\\)|]/.test(full.charAt(index-1)))) {\n\t\t\tpath = path.slice(1).split(\".\").join(\"^\"); // Late path @z.b.c. Use \"^\" rather than \".\" to ensure that deep binding will be used\n\t\t}\n\t\t// Could do this - but not worth perf cost?? :-\n\t\t// if (!path.lastIndexOf(\"#data.\", 0)) { path = path.slice(6); } // If path starts with \"#data.\", remove that.\n\t\tprn = prn || prn2 || \"\";\n\n\t\tvar expr, exprFn, binds, theOb, newOb,\n\t\t\trtSq = \")\";\n\n\t\tif (prn === \"[\") {\n\t\t\tprn = \"[j._sq(\";\n\t\t\trtSq = \")]\";\n\t\t}\n\n\t\tif (err \u0026\u0026 !aposed \u0026\u0026 !quoted) {\n\t\t\tsyntaxError(params);\n\t\t} else {\n\t\t\tif (bindings \u0026\u0026 rtPrnDot \u0026\u0026 !aposed \u0026\u0026 !quoted) {\n\t\t\t\t// This is a binding to a path in which an object is returned by a helper/data function/expression, e.g. foo()^x.y or (a?b:c)^x.y\n\t\t\t\t// We create a compiled function to get the object instance (which will be called when the dependent data of the subexpression changes, to return the new object, and trigger re-binding of the subsequent path)\n\t\t\t\tif (parenDepth \u0026\u0026 (!named || boundName || bindto)) {\n\t\t\t\t\texpr = pathStart[parenDepth - 1];\n\t\t\t\t\tif (full.length - 1 \u003e index - (expr || 0)) { // We need to compile a subexpression\n\t\t\t\t\t\texpr = full.slice(expr, index + all.length);\n\t\t\t\t\t\tif (exprFn !== true) { // If not reentrant call during compilation\n\t\t\t\t\t\t\tbinds = bindto || bndStack[parenDepth-1].bd;\n\t\t\t\t\t\t\t// Insert exprOb object, to be used during binding to return the computed object\n\t\t\t\t\t\t\ttheOb = binds[binds.length-1];\n\t\t\t\t\t\t\tif (theOb \u0026\u0026 theOb.prm) {\n\t\t\t\t\t\t\t\twhile (theOb.sb \u0026\u0026 theOb.sb.prm) {\n\t\t\t\t\t\t\t\t\ttheOb = theOb.sb;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tnewOb = theOb.sb = {path: theOb.sb, bnd: theOb.bnd};\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbinds.push(newOb = {path: binds.pop()}); // Insert exprOb object, to be used during binding to return the computed object\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t // (e.g. \"some.object()\" in \"some.object().a.b\" - to be used as context for binding the following tokens \"a.b\")\n\t\t\t\t\t\t}\n\t\t\t\t\t\trtPrnDot = delimOpenChar1 + \":\" + expr // The parameter or function subexpression\n\t\t\t\t\t\t\t+ \" onerror=''\" // set onerror='' in order to wrap generated code with a try catch - returning '' as object instance if there is an error/missing parent\n\t\t\t\t\t\t\t+ delimCloseChar0;\n\t\t\t\t\t\texprFn = tmplLinks[rtPrnDot];\n\t\t\t\t\t\tif (!exprFn) {\n\t\t\t\t\t\t\ttmplLinks[rtPrnDot] = true; // Flag that this exprFn (for rtPrnDot) is being compiled\n\t\t\t\t\t\t\ttmplLinks[rtPrnDot] = exprFn = tmplFn(rtPrnDot, tmpl, true); // Compile the expression (or use cached copy already in tmpl.links)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (exprFn !== true \u0026\u0026 newOb) {\n\t\t\t\t\t\t\t// If not reentrant call during compilation\n\t\t\t\t\t\t\tnewOb._cpfn = exprFn;\n\t\t\t\t\t\t\tnewOb.prm = bndCtx.bd;\n\t\t\t\t\t\t\tnewOb.bnd = newOb.bnd || newOb.path \u0026\u0026 newOb.path.indexOf(\"^\") \u003e= 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (aposed\n\t\t\t\t// within single-quoted string\n\t\t\t\t? (aposed = !apos, (aposed ? all : lftPrn2 + '\"'))\n\t\t\t\t: quoted\n\t\t\t\t// within double-quoted string\n\t\t\t\t\t? (quoted = !quot, (quoted ? all : lftPrn2 + '\"'))\n\t\t\t\t\t:\n\t\t\t\t(\n\t\t\t\t\t(lftPrn\n\t\t\t\t\t\t? (pathStart[parenDepth] = index++, bndCtx = bndStack[++parenDepth] = {bd: []}, lftPrn)\n\t\t\t\t\t\t: \"\")\n\t\t\t\t\t+ (space\n\t\t\t\t\t\t? (parenDepth\n\t\t\t\t\t\t\t? \"\"\n\t\t\t\t// New arg or prop - so insert backspace \\b (\\x08) as separator for named params, used subsequently by rBuildHash, and prepare new bindings array\n\t\t\t\t\t\t\t: (paramIndex = full.slice(paramIndex, index), named\n\t\t\t\t\t\t\t\t? (named = boundName = bindto = false, \"\\b\")\n\t\t\t\t\t\t\t\t: \"\\b,\") + paramIndex + (paramIndex = index + all.length, bindings \u0026\u0026 pathBindings.push(bndCtx.bd = []), \"\\b\")\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: eq\n\t\t\t\t// named param. Remove bindings for arg and create instead bindings array for prop\n\t\t\t\t\t\t\t? (parenDepth \u0026\u0026 syntaxError(params), bindings \u0026\u0026 pathBindings.pop(), named = \"_\" + path, boundName = bound, paramIndex = index + all.length,\n\t\t\t\t\t\t\t\t\tbindings \u0026\u0026 ((bindings = bndCtx.bd = pathBindings[named] = []), bindings.skp = !bound), path + ':')\n\t\t\t\t\t\t\t: path\n\t\t\t\t// path\n\t\t\t\t\t\t\t\t? (path.split(\"^\").join(\".\").replace(rPath, parsePath)\n\t\t\t\t\t\t\t\t\t+ (prn\n\t\t\t\t// some.fncall(\n\t\t\t\t\t\t\t\t\t\t? (bndCtx = bndStack[++parenDepth] = {bd: []}, fnCall[parenDepth] = rtSq, prn)\n\t\t\t\t\t\t\t\t\t\t: operator)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: operator\n\t\t\t\t// operator\n\t\t\t\t\t\t\t\t\t? operator\n\t\t\t\t\t\t\t\t\t: rtPrn\n\t\t\t\t// function\n\t\t\t\t\t\t\t\t\t\t? ((rtPrn = fnCall[parenDepth] || rtPrn, fnCall[parenDepth] = false, bndCtx = bndStack[--parenDepth], rtPrn)\n\t\t\t\t\t\t\t\t\t\t\t+ (prn // rtPrn and prn, e.g )( in (a)() or a()(), or )[ in a()[]\n\t\t\t\t\t\t\t\t\t\t\t\t? (bndCtx = bndStack[++parenDepth], fnCall[parenDepth] = rtSq, prn)\n\t\t\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t: comma\n\t\t\t\t\t\t\t\t\t\t\t? (fnCall[parenDepth] || syntaxError(params), \",\") // We don't allow top-level literal arrays or objects\n\t\t\t\t\t\t\t\t\t\t\t: lftPrn0\n\t\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t: (aposed = apos, quoted = quot, '\"')\n\t\t\t\t))\n\t\t\t);\n\t\t}\n\t}\n\n\tvar named, bindto, boundName,\n\t\tquoted, // boolean for string content in double quotes\n\t\taposed, // or in single quotes\n\t\tbindings = pathBindings \u0026\u0026 pathBindings[0], // bindings array for the first arg\n\t\tbndCtx = {bd: bindings},\n\t\tbndStack = {0: bndCtx},\n\t\tparamIndex = 0, // list,\n\t\ttmplLinks = (tmpl ? tmpl.links : bindings \u0026\u0026 (bindings.links = bindings.links || {})) || topView.tmpl.links,\n\t\t// The following are used for tracking path parsing including nested paths, such as \"a.b(c^d + (e))^f\", and chained computed paths such as\n\t\t// \"a.b().c^d().e.f().g\" - which has four chained paths, \"a.b()\", \"^c.d()\", \".e.f()\" and \".g\"\n\t\tparenDepth = 0,\n\t\tfnCall = {}, // We are in a function call\n\t\tpathStart = {}, // tracks the start of the current path such as c^d() in the above example\n\t\tresult;\n\n\tif (params.charAt(0) === \"@\") {\n\t\tparams = params.replace(rBracketQuote, \".\");\n\t}\n\tresult = (params + (tmpl ? \" \" : \"\")).replace(rParams, parseTokens);\n\n\treturn !parenDepth \u0026\u0026 result || syntaxError(params); // Syntax error if unbalanced parens in params expression\n}\n\nfunction buildCode(ast, tmpl, isLinkExpr) {\n\t// Build the template function code from the AST nodes, and set as property on the passed-in template object\n\t// Used for compiling templates, and also by JsViews to build functions for data link expressions\n\tvar i, node, tagName, converter, tagCtx, hasTag, hasEncoder, getsVal, hasCnvt, useCnvt, tmplBindings, pathBindings, params, boundOnErrStart,\n\t\tboundOnErrEnd, tagRender, nestedTmpls, tmplName, nestedTmpl, tagAndElses, content, markup, nextIsElse, oldCode, isElse, isGetVal, tagCtxFn,\n\t\tonError, tagStart, trigger, lateRender, retStrOpen, retStrClose,\n\t\ttmplBindingKey = 0,\n\t\tuseViews = $subSettingsAdvanced.useViews || tmpl.useViews || tmpl.tags || tmpl.templates || tmpl.helpers || tmpl.converters,\n\t\tcode = \"\",\n\t\ttmplOptions = {},\n\t\tl = ast.length;\n\n\tif (\"\" + tmpl === tmpl) {\n\t\ttmplName = isLinkExpr ? 'data-link=\"' + tmpl.replace(rNewLine, \" \").slice(1, -1) + '\"' : tmpl;\n\t\ttmpl = 0;\n\t} else {\n\t\ttmplName = tmpl.tmplName || \"unnamed\";\n\t\tif (tmpl.allowCode) {\n\t\t\ttmplOptions.allowCode = true;\n\t\t}\n\t\tif (tmpl.debug) {\n\t\t\ttmplOptions.debug = true;\n\t\t}\n\t\ttmplBindings = tmpl.bnds;\n\t\tnestedTmpls = tmpl.tmpls;\n\t}\n\tfor (i = 0; i \u003c l; i++) {\n\t\t// AST nodes: [0: tagName, 1: converter, 2: content, 3: params, 4: code, 5: onError, 6: trigger, 7:pathBindings, 8: contentMarkup]\n\t\tnode = ast[i];\n\n\t\t// Add newline for each callout to t() c() etc. and each markup string\n\t\tif (\"\" + node === node) {\n\t\t\t// a markup string to be inserted\n\t\t\tcode += '\\n+\"' + node + '\"';\n\t\t} else {\n\t\t\t// a compiled tag expression to be inserted\n\t\t\ttagName = node[0];\n\t\t\tif (tagName === \"*\") {\n\t\t\t\t// Code tag: {{* }}\n\t\t\t\tcode += \";\\n\" + node[1] + \"\\nret=ret\";\n\t\t\t} else {\n\t\t\t\tconverter = node[1];\n\t\t\t\tcontent = !isLinkExpr \u0026\u0026 node[2];\n\t\t\t\ttagCtx = paramStructure(node[3], 'params') + '},' + paramStructure(params = node[4]);\n\t\t\t\ttrigger = node[6];\n\t\t\t\tlateRender = node[7];\n\t\t\t\tif (node[8]) { // latePath @a.b.c or @~a.b.c\n\t\t\t\t\tretStrOpen = \"\\nvar ob,ltOb={},ctxs=\";\n\t\t\t\t\tretStrClose = \";\\nctxs.lt=ltOb.lt;\\nreturn ctxs;\";\n\t\t\t\t} else {\n\t\t\t\t\tretStrOpen = \"\\nreturn \";\n\t\t\t\t\tretStrClose = \"\";\n\t\t\t\t}\n\t\t\t\tmarkup = node[10] \u0026\u0026 node[10].replace(rUnescapeQuotes, \"$1\");\n\t\t\t\tif (isElse = tagName === \"else\") {\n\t\t\t\t\tif (pathBindings) {\n\t\t\t\t\t\tpathBindings.push(node[9]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tonError = node[5] || $subSettings.debugMode !== false \u0026\u0026 \"undefined\"; // If debugMode not false, set default onError handler on tag to \"undefined\" (see onRenderError)\n\t\t\t\t\tif (tmplBindings \u0026\u0026 (pathBindings = node[9])) { // Array of paths, or false if not data-bound\n\t\t\t\t\t\tpathBindings = [pathBindings];\n\t\t\t\t\t\ttmplBindingKey = tmplBindings.push(1); // Add placeholder in tmplBindings for compiled function\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tuseViews = useViews || params[1] || params[2] || pathBindings || /view.(?!index)/.test(params[0]);\n\t\t\t\t// useViews is for perf optimization. For render() we only use views if necessary - for the more advanced scenarios.\n\t\t\t\t// We use views if there are props, contextual properties or args with #... (other than #index) - but you can force\n\t\t\t\t// using the full view infrastructure, (and pay a perf price) by opting in: Set useViews: true on the template, manually...\n\t\t\t\tif (isGetVal = tagName === \":\") {\n\t\t\t\t\tif (converter) {\n\t\t\t\t\t\ttagName = converter === HTML ? \"\u003e\" : converter + tagName;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (content) { // TODO optimize - if content.length === 0 or if there is a tmpl=\"...\" specified - set content to null / don't run this compilation code - since content won't get used!!\n\t\t\t\t\t\t// Create template object for nested template\n\t\t\t\t\t\tnestedTmpl = tmplObject(markup, tmplOptions);\n\t\t\t\t\t\tnestedTmpl.tmplName = tmplName + \"/\" + tagName;\n\t\t\t\t\t\t// Compile to AST and then to compiled function\n\t\t\t\t\t\tnestedTmpl.useViews = nestedTmpl.useViews || useViews;\n\t\t\t\t\t\tbuildCode(content, nestedTmpl);\n\t\t\t\t\t\tuseViews = nestedTmpl.useViews;\n\t\t\t\t\t\tnestedTmpls.push(nestedTmpl);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!isElse) {\n\t\t\t\t\t\t// This is not an else tag.\n\t\t\t\t\t\ttagAndElses = tagName;\n\t\t\t\t\t\tuseViews = useViews || tagName \u0026\u0026 (!$tags[tagName] || !$tags[tagName].flow);\n\t\t\t\t\t\t// Switch to a new code string for this bound tag (and its elses, if it has any) - for returning the tagCtxs array\n\t\t\t\t\t\toldCode = code;\n\t\t\t\t\t\tcode = \"\";\n\t\t\t\t\t}\n\t\t\t\t\tnextIsElse = ast[i + 1];\n\t\t\t\t\tnextIsElse = nextIsElse \u0026\u0026 nextIsElse[0] === \"else\";\n\t\t\t\t}\n\t\t\t\ttagStart = onError ? \";\\ntry{\\nret+=\" : \"\\n+\";\n\t\t\t\tboundOnErrStart = \"\";\n\t\t\t\tboundOnErrEnd = \"\";\n\n\t\t\t\tif (isGetVal \u0026\u0026 (pathBindings || trigger || converter \u0026\u0026 converter !== HTML || lateRender)) {\n\t\t\t\t\t// For convertVal we need a compiled function to return the new tagCtx(s)\n\t\t\t\t\ttagCtxFn = new Function(\"data,view,j,u\", \"// \" + tmplName + \" \" + (++tmplBindingKey) + \" \" + tagName\n\t\t\t\t\t\t+ retStrOpen + \"{\" + tagCtx + \"};\" + retStrClose);\n\t\t\t\t\ttagCtxFn._er = onError;\n\t\t\t\t\ttagCtxFn._tag = tagName;\n\t\t\t\t\ttagCtxFn._bd = !!pathBindings; // data-linked tag {^{.../}}\n\t\t\t\t\ttagCtxFn._lr = lateRender;\n\n\t\t\t\t\tif (isLinkExpr) {\n\t\t\t\t\t\treturn tagCtxFn;\n\t\t\t\t\t}\n\n\t\t\t\t\tsetPaths(tagCtxFn, pathBindings);\n\t\t\t\t\ttagRender = 'c(\"' + converter + '\",view,';\n\t\t\t\t\tuseCnvt = true;\n\t\t\t\t\tboundOnErrStart = tagRender + tmplBindingKey + \",\";\n\t\t\t\t\tboundOnErrEnd = \")\";\n\t\t\t\t}\n\t\t\t\tcode += (isGetVal\n\t\t\t\t\t? (isLinkExpr ? (onError ? \"try{\\n\" : \"\") + \"return \" : tagStart) + (useCnvt // Call _cnvt if there is a converter: {{cnvt: ... }} or {^{cnvt: ... }}\n\t\t\t\t\t\t? (useCnvt = undefined, useViews = hasCnvt = true, tagRender + (tagCtxFn\n\t\t\t\t\t\t\t? ((tmplBindings[tmplBindingKey - 1] = tagCtxFn), tmplBindingKey) // Store the compiled tagCtxFn in tmpl.bnds, and pass the key to convertVal()\n\t\t\t\t\t\t\t: \"{\" + tagCtx + \"}\") + \")\")\n\t\t\t\t\t\t: tagName === \"\u003e\"\n\t\t\t\t\t\t\t? (hasEncoder = true, \"h(\" + params[0] + \")\")\n\t\t\t\t\t\t\t: (getsVal = true, \"((v=\" + params[0] + ')!=null?v:' + (isLinkExpr ? 'null)' : '\"\")'))\n\t\t\t\t\t\t\t// Non strict equality so data-link=\"title{:expr}\" with expr=null/undefined removes title attribute\n\t\t\t\t\t)\n\t\t\t\t\t: (hasTag = true, \"\\n{view:view,tmpl:\" // Add this tagCtx to the compiled code for the tagCtxs to be passed to renderTag()\n\t\t\t\t\t\t+ (content ? nestedTmpls.length : \"0\") + \",\" // For block tags, pass in the key (nestedTmpls.length) to the nested content template\n\t\t\t\t\t\t+ tagCtx + \"},\"));\n\n\t\t\t\tif (tagAndElses \u0026\u0026 !nextIsElse) {\n\t\t\t\t\t// This is a data-link expression or an inline tag without any elses, or the last {{else}} of an inline tag\n\t\t\t\t\t// We complete the code for returning the tagCtxs array\n\t\t\t\t\tcode = \"[\" + code.slice(0, -1) + \"]\";\n\t\t\t\t\ttagRender = 't(\"' + tagAndElses + '\",view,this,';\n\t\t\t\t\tif (isLinkExpr || pathBindings) {\n\t\t\t\t\t\t// This is a bound tag (data-link expression or inline bound tag {^{tag ...}}) so we store a compiled tagCtxs function in tmp.bnds\n\t\t\t\t\t\tcode = new Function(\"data,view,j,u\", \" // \" + tmplName + \" \" + tmplBindingKey + \" \" + tagAndElses + retStrOpen + code\n\t\t\t\t\t\t\t+ retStrClose);\n\t\t\t\t\t\tcode._er = onError;\n\t\t\t\t\t\tcode._tag = tagAndElses;\n\t\t\t\t\t\tif (pathBindings) {\n\t\t\t\t\t\t\tsetPaths(tmplBindings[tmplBindingKey - 1] = code, pathBindings);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcode._lr = lateRender;\n\t\t\t\t\t\tif (isLinkExpr) {\n\t\t\t\t\t\t\treturn code; // For a data-link expression we return the compiled tagCtxs function\n\t\t\t\t\t\t}\n\t\t\t\t\t\tboundOnErrStart = tagRender + tmplBindingKey + \",undefined,\";\n\t\t\t\t\t\tboundOnErrEnd = \")\";\n\t\t\t\t\t}\n\n\t\t\t\t\t// This is the last {{else}} for an inline tag.\n\t\t\t\t\t// For a bound tag, pass the tagCtxs fn lookup key to renderTag.\n\t\t\t\t\t// For an unbound tag, include the code directly for evaluating tagCtxs array\n\t\t\t\t\tcode = oldCode + tagStart + tagRender + (pathBindings \u0026\u0026 tmplBindingKey || code) + \")\";\n\t\t\t\t\tpathBindings = 0;\n\t\t\t\t\ttagAndElses = 0;\n\t\t\t\t}\n\t\t\t\tif (onError \u0026\u0026 !nextIsElse) {\n\t\t\t\t\tuseViews = true;\n\t\t\t\t\tcode += ';\\n}catch(e){ret' + (isLinkExpr ? \"urn \" : \"+=\") + boundOnErrStart + 'j._err(e,view,' + onError + ')' + boundOnErrEnd + ';}' + (isLinkExpr ? \"\" : 'ret=ret');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Include only the var references that are needed in the code\n\tcode = \"// \" + tmplName\n\t\t+ (tmplOptions.debug ? \"\\ndebugger;\" : \"\")\n\t\t+ \"\\nvar v\"\n\t\t+ (hasTag ? \",t=j._tag\" : \"\") // has tag\n\t\t+ (hasCnvt ? \",c=j._cnvt\" : \"\") // converter\n\t\t+ (hasEncoder ? \",h=j._html\" : \"\") // html converter\n\t\t+ (isLinkExpr\n\t\t\t\t? (node[8] // late @... path?\n\t\t\t\t\t\t? \", ob\"\n\t\t\t\t\t\t: \"\"\n\t\t\t\t\t) + \";\\n\"\n\t\t\t\t: ',ret=\"\"')\n\t\t+ code\n\t\t+ (isLinkExpr ? \"\\n\" : \";\\nreturn ret;\");\n\n\ttry {\n\t\tcode = new Function(\"data,view,j,u\", code);\n\t} catch (e) {\n\t\tsyntaxError(\"Compiled template code:\\n\\n\" + code + '\\n: \"' + (e.message||e) + '\"');\n\t}\n\tif (tmpl) {\n\t\ttmpl.fn = code;\n\t\ttmpl.useViews = !!useViews;\n\t}\n\treturn code;\n}\n\n//==========\n// Utilities\n//==========\n\n// Merge objects, in particular contexts which inherit from parent contexts\nfunction extendCtx(context, parentContext) {\n\t// Return copy of parentContext, unless context is defined and is different, in which case return a new merged context\n\t// If neither context nor parentContext are defined, return undefined\n\treturn context \u0026\u0026 context !== parentContext\n\t\t? (parentContext\n\t\t\t? $extend($extend({}, parentContext), context)\n\t\t\t: context)\n\t\t: parentContext \u0026\u0026 $extend({}, parentContext);\n}\n\nfunction getTargetProps(source, tagCtx) {\n\t// this pointer is theMap - which has tagCtx.props too\n\t// arguments: tagCtx.args.\n\tvar key, prop,\n\t\tprops = [];\n\n\tif (typeof source === OBJECT || $isFunction(source)) {\n\t\tfor (key in source) {\n\t\t\tprop = source[key];\n\t\t\tif (key !== $expando \u0026\u0026 source.hasOwnProperty(key) \u0026\u0026 (!tagCtx.props.noFunctions || !$.isFunction(prop))) {\n\t\t\t\tprops.push({key: key, prop: prop});\n\t\t\t}\n\t\t}\n\t}\n\treturn getTargetSorted(props, tagCtx);\n}\n\nfunction getTargetSorted(value, tagCtx) {\n\t// getTgt\n\tvar mapped, start, end,\n\t\ttag = tagCtx.tag,\n\t\tprops = tagCtx.props,\n\t\tpropParams = tagCtx.params.props,\n\t\tfilter = props.filter,\n\t\tsort = props.sort,\n\t\tdirectSort = sort === true,\n\t\tstep = parseInt(props.step),\n\t\treverse = props.reverse ? -1 : 1;\n\n\tif (!$isArray(value)) {\n\t\treturn value;\n\t}\n\tif (directSort || sort \u0026\u0026 \"\" + sort === sort) {\n\t\t// Temporary mapped array holds objects with index and sort-value\n\t\tmapped = value.map(function(item, i) {\n\t\t\titem = directSort ? item : getPathObject(item, sort);\n\t\t\treturn {i: i, v: \"\" + item === item ? item.toLowerCase() : item};\n\t\t});\n\t\t// Sort mapped array\n\t\tmapped.sort(function(a, b) {\n\t\t\treturn a.v \u003e b.v ? reverse : a.v \u003c b.v ? -reverse : 0;\n\t\t});\n\t\t// Map to new array with resulting order\n\t\tvalue = mapped.map(function(item){\n\t\t\treturn value[item.i];\n\t\t});\n\t} else if ((sort || reverse \u003c 0) \u0026\u0026 !tag.dataMap) {\n\t\tvalue = value.slice(); // Clone array first if not already a new array\n\t}\n\tif ($isFunction(sort)) {\n\t\tvalue = value.sort(sort);\n\t}\n\tif (reverse \u003c 0 \u0026\u0026 !sort) { // Reverse result if not already reversed in sort\n\t\tvalue = value.reverse();\n\t}\n\n\tif (value.filter \u0026\u0026 filter) { // IE8 does not support filter\n\t\tvalue = value.filter(filter, tagCtx);\n\t\tif (tagCtx.tag.onFilter) {\n\t\t\ttagCtx.tag.onFilter(tagCtx);\n\t\t}\n\t}\n\n\tif (propParams.sorted) {\n\t\tmapped = (sort || reverse \u003c 0) ? value : value.slice();\n\t\tif (tag.sorted) {\n\t\t\t$.observable(tag.sorted).refresh(mapped); // Note that this might cause the start and end props to be modified - e.g. by pager tag control\n\t\t} else {\n\t\t\ttagCtx.map.sorted = mapped;\n\t\t}\n\t}\n\n\tstart = props.start; // Get current value - after possible changes triggered by tag.sorted refresh() above\n\tend = props.end;\n\tif (propParams.start \u0026\u0026 start === undefined || propParams.end \u0026\u0026 end === undefined) {\n\t\tstart = end = 0;\n\t}\n\tif (!isNaN(start) || !isNaN(end)) { // start or end specified, but not the auto-create Number array scenario of {{for start=xxx end=yyy}}\n\t\tstart = +start || 0;\n\t\tend = end === undefined || end \u003e value.length ? value.length : +end;\n//\t\tend = end === undefined ? value.length : +end;\n\t\tvalue = value.slice(start, end);\n\t}\n\tif (step \u003e 1) {\n\t\tstart = 0;\n\t\tend = value.length;\n\t\tmapped = [];\n\t\tfor (; start\u003cend; start+=step) {\n\t\t\tmapped.push(value[start]);\n\t\t}\n\t\tvalue = mapped;\n\t}\n\tif (propParams.paged \u0026\u0026 tag.paged) {\n\t\t$observable(tag.paged).refresh(value);\n\t}\n\n\treturn value;\n}\n\nfunction $fnRender(data, context, noIteration) {\n\tvar tmplElem = this.jquery \u0026\u0026 (this[0] || error('Unknown template')), // Targeted element not found for jQuery template selector such as \"#myTmpl\"\n\t\ttmpl = tmplElem.getAttribute(tmplAttr);\n\n\treturn renderContent.call(tmpl \u0026\u0026 $.data(tmplElem)[jsvTmpl] || $templates(tmplElem),\n\t\tdata, context, noIteration);\n}\n\n//========================== Register converters ==========================\n\nfunction getCharEntity(ch) {\n\t// Get character entity for HTML, Attribute and optional data encoding\n\treturn charEntities[ch] || (charEntities[ch] = \"\u0026#\" + ch.charCodeAt(0) + \";\");\n}\n\nfunction getCharFromEntity(match, token) {\n\t// Get character from HTML entity, for optional data unencoding\n\treturn charsFromEntities[token] || \"\";\n}\n\nfunction htmlEncode(text) {\n\t// HTML encode: Replace \u003c \u003e \u0026 ' \" ` etc. by corresponding entities.\n\treturn text != undefined ? rIsHtml.test(text) \u0026\u0026 (\"\" + text).replace(rHtmlEncode, getCharEntity) || text : \"\";\n}\n\nfunction dataEncode(text) {\n\t// Encode just \u003c \u003e and \u0026 - intended for 'safe data' along with {{:}} rather than {{\u003e}}\n return \"\" + text === text ? text.replace(rDataEncode, getCharEntity) : text;\n}\n\nfunction dataUnencode(text) {\n // Unencode just \u003c \u003e and \u0026 - intended for 'safe data' along with {{:}} rather than {{\u003e}}\n return \"\" + text === text ? text.replace(rDataUnencode, getCharFromEntity) : text;\n}\n\n//========================== Initialize ==========================\n\n$sub = $views.sub;\n$viewsSettings = $views.settings;\n\nif (!(jsr || $ \u0026\u0026 $.render)) {\n\t// JsRender not already loaded, or loaded without jQuery, and we are now moving from jsrender namespace to jQuery namepace\n\tfor (jsvStoreName in jsvStores) {\n\t\tregisterStore(jsvStoreName, jsvStores[jsvStoreName]);\n\t}\n\n\t$converters = $views.converters;\n\t$helpers = $views.helpers;\n\t$tags = $views.tags;\n\n\t$sub._tg.prototype = {\n\t\tbaseApply: baseApply,\n\t\tcvtArgs: convertArgs,\n\t\tbndArgs: convertBoundArgs,\n\t\tctxPrm: contextParameter\n\t};\n\n\ttopView = $sub.topView = new View();\n\n\t//BROWSER-SPECIFIC CODE\n\tif ($) {\n\n\t\t////////////////////////////////////////////////////////////////////////////////////////////////\n\t\t// jQuery (= $) is loaded\n\n\t\t$.fn.render = $fnRender;\n\t\t$expando = $.expando;\n\t\tif ($.observable) {\n\t\t\tif (versionNumber !== (versionNumber = $.views.jsviews)) {\n\t\t\t\t// Different version of jsRender was loaded\n\t\t\t\tthrow \"JsObservable requires JsRender \" + versionNumber;\n\t\t\t}\n\t\t\t$extend($sub, $.views.sub); // jquery.observable.js was loaded before jsrender.js\n\t\t\t$views.map = $.views.map;\n\t\t}\n\n\t} else {\n\t\t////////////////////////////////////////////////////////////////////////////////////////////////\n\t\t// jQuery is not loaded.\n\n\t\t$ = {};\n\n\t\tif (setGlobals) {\n\t\t\tglobal.jsrender = $; // We are loading jsrender.js from a script element, not AMD or CommonJS, so set global\n\t\t}\n\n\t\t// Error warning if jsrender.js is used as template engine on Node.js (e.g. Express or Hapi...)\n\t\t// Use jsrender-node.js instead...\n\t\t$.renderFile = $.__express = $.compile = function() { throw \"Node.js: use npm jsrender, or jsrender-node.js\"; };\n\n\t\t//END BROWSER-SPECIFIC CODE\n\t\t$.isFunction = function(ob) {\n\t\t\treturn typeof ob === \"function\";\n\t\t};\n\n\t\t$.isArray = Array.isArray || function(obj) {\n\t\t\treturn ({}.toString).call(obj) === \"[object Array]\";\n\t\t};\n\n\t\t$sub._jq = function(jq) { // private method to move from JsRender APIs from jsrender namespace to jQuery namespace\n\t\t\tif (jq !== $) {\n\t\t\t\t$extend(jq, $); // map over from jsrender namespace to jQuery namespace\n\t\t\t\t$ = jq;\n\t\t\t\t$.fn.render = $fnRender;\n\t\t\t\tdelete $.jsrender;\n\t\t\t\t$expando = $.expando;\n\t\t\t}\n\t\t};\n\n\t\t$.jsrender = versionNumber;\n\t}\n\t$subSettings = $sub.settings;\n\t$subSettings.allowCode = false;\n\t$isFunction = $.isFunction;\n\t$.render = $render;\n\t$.views = $views;\n\t$.templates = $templates = $views.templates;\n\n\tfor (setting in $subSettings) {\n\t\taddSetting(setting);\n\t}\n\n\t($viewsSettings.debugMode = function(debugMode) {\n\t\treturn debugMode === undefined\n\t\t\t? $subSettings.debugMode\n\t\t\t: (\n\t\t\t\t$subSettings.debugMode = debugMode,\n\t\t\t\t$subSettings.onError = debugMode + \"\" === debugMode\n\t\t\t\t\t? function() { return debugMode; }\n\t\t\t\t\t: $isFunction(debugMode)\n\t\t\t\t\t\t? debugMode\n\t\t\t\t\t\t: undefined,\n\t\t\t\t$viewsSettings);\n\t})(false); // jshint ignore:line\n\n\t$subSettingsAdvanced = $subSettings.advanced = {\n\t\tuseViews: false,\n\t\t_jsv: false // For global access to JsViews store\n\t};\n\n\t//========================== Register tags ==========================\n\n\t$tags({\n\t\t\"if\": {\n\t\t\trender: function(val) {\n\t\t\t\t// This function is called once for {{if}} and once for each {{else}}.\n\t\t\t\t// We will use the tag.rendering object for carrying rendering state across the calls.\n\t\t\t\t// If not done (a previous block has not been rendered), look at expression for this block and render the block if expression is truthy\n\t\t\t\t// Otherwise return \"\"\n\t\t\t\tvar self = this,\n\t\t\t\t\ttagCtx = self.tagCtx,\n\t\t\t\t\tret = (self.rendering.done || !val \u0026\u0026 (tagCtx.args.length || !tagCtx.index))\n\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t: (self.rendering.done = true,\n\t\t\t\t\t\t\tself.selected = tagCtx.index,\n\t\t\t\t\t\t\tundefined); // Test is satisfied, so render content on current context\n\t\t\t\treturn ret;\n\t\t\t},\n\t\t\tcontentCtx: true, // Inherit parent view data context\n\t\t\tflow: true\n\t\t},\n\t\t\"for\": {\n\t\t\tsortDataMap: dataMap(getTargetSorted),\n\t\t\tinit: function(val, cloned) {\n\t\t\t\tvar l, tagCtx, props, sort,\n\t\t\t\t\tself = this,\n\t\t\t\t\ttagCtxs = self.tagCtxs;\n\t\t\t\tl = tagCtxs.length;\n\t\t\t\twhile (l--) {\n\t\t\t\t\ttagCtx = tagCtxs[l];\n\t\t\t\t\tprops = tagCtx.props;\n\t\t\t\t\ttagCtx.argDefault = props.end === undefined || tagCtx.args.length \u003e 0; // Default to #data except for auto-create range scenario {{for start=xxx end=yyy step=zzz}}\n\n\t\t\t\t\tif (tagCtx.argDefault !== false \u0026\u0026 $isArray(tagCtx.args[0])\n\t\t\t\t\t\t\u0026\u0026 (props.sort !== undefined || tagCtx.params.props.start || tagCtx.params.props.end || props.step !== undefined || props.filter || props.reverse)) {\n\t\t\t\t\t\tprops.dataMap = self.sortDataMap;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function(val) {\n\t\t\t\t// This function is called once for {{for}} and once for each {{else}}.\n\t\t\t\t// We will use the tag.rendering object for carrying rendering state across the calls.\n\t\t\t\tvar value, filter, srtField, isArray, i, sorted, end, step,\n\t\t\t\t\tself = this,\n\t\t\t\t\ttagCtx = self.tagCtx,\n\t\t\t\t\trange = tagCtx.argDefault === false,\n\t\t\t\t\tprops = tagCtx.props,\n\t\t\t\t\titerate = range || tagCtx.args.length, // Not final else and not auto-create range\n\t\t\t\t\tresult = \"\",\n\t\t\t\t\tdone = 0;\n\n\t\t\t\tif (!self.rendering.done) {\n\t\t\t\t\tvalue = iterate ? val : tagCtx.view.data; // For the final else, defaults to current data without iteration.\n\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\trange = props.reverse ? \"unshift\" : \"push\";\n\t\t\t\t\t\tend = +props.end;\n\t\t\t\t\t\tstep = +props.step || 1;\n\t\t\t\t\t\tvalue = []; // auto-create integer array scenario of {{for start=xxx end=yyy}}\n\t\t\t\t\t\tfor (i = +props.start || 0; (end - i) * step \u003e 0; i += step) {\n\t\t\t\t\t\t\tvalue[range](i);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\tisArray = $isArray(value);\n\t\t\t\t\t\tresult += tagCtx.render(value, !iterate || props.noIteration);\n\t\t\t\t\t\t// Iterates if data is an array, except on final else - or if noIteration property\n\t\t\t\t\t\t// set to true. (Use {{include}} to compose templates without array iteration)\n\t\t\t\t\t\tdone += isArray ? value.length : 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (self.rendering.done = done) {\n\t\t\t\t\t\tself.selected = tagCtx.index;\n\t\t\t\t\t}\n\t\t\t\t\t// If nothing was rendered we will look at the next {{else}}. Otherwise, we are done.\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tflow: true\n\t\t},\n\t\tprops: {\n\t\t\tbaseTag: \"for\",\n\t\t\tdataMap: dataMap(getTargetProps),\n\t\t\tinit: noop, // Don't execute the base init() of the \"for\" tag\n\t\t\tflow: true\n\t\t},\n\t\tinclude: {\n\t\t\tflow: true\n\t\t},\n\t\t\"*\": {\n\t\t\t// {{* code... }} - Ignored if template.allowCode and $.views.settings.allowCode are false. Otherwise include code in compiled template\n\t\t\trender: retVal,\n\t\t\tflow: true\n\t\t},\n\t\t\":*\": {\n\t\t\t// {{:* returnedExpression }} - Ignored if template.allowCode and $.views.settings.allowCode are false. Otherwise include code in compiled template\n\t\t\trender: retVal,\n\t\t\tflow: true\n\t\t},\n\t\tdbg: $helpers.dbg = $converters.dbg = dbgBreak // Register {{dbg/}}, {{dbg:...}} and ~dbg() to throw and catch, as breakpoints for debugging.\n\t});\n\n\t$converters({\n\t\thtml: htmlEncode,\n\t\tattr: htmlEncode, // Includes \u003e encoding since rConvertMarkers in JsViews does not skip \u003e characters in attribute strings\n\t\tencode: dataEncode,\n\t\tunencode: dataUnencode, // Includes \u003e encoding since rConvertMarkers in JsViews does not skip \u003e characters in attribute strings\n\t\turl: function(text) {\n\t\t\t// URL encoding helper.\n\t\t\treturn text != undefined ? encodeURI(\"\" + text) : text === null ? text : \"\"; // null returns null, e.g. to remove attribute. undefined returns \"\"\n\t\t}\n\t});\n}\n//========================== Define default delimiters ==========================\n$subSettings = $sub.settings;\n$isArray = ($||jsr).isArray;\n$viewsSettings.delimiters(\"{{\", \"}}\", \"^\");\n\nif (jsrToJq) { // Moving from jsrender namespace to jQuery namepace - copy over the stored items (templates, converters, helpers...)\n\tjsr.views.sub._jq($);\n}\nreturn $ || jsr;\n}, window));\n'use strict';\n\n// polyfill\nfunction polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style \u0026\u0026\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance \u0026\u0026 w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' \u0026\u0026 firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE \u003c el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE \u003c el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') \u0026\u0026 canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') \u0026\u0026 canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body \u0026\u0026 isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed \u003e 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' \u0026\u0026 arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n}\n\nif (typeof exports === 'object' \u0026\u0026 typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n} else {\n // global\n polyfill();\n};\n(function (global, factory) {\n typeof exports === 'object' \u0026\u0026 typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' \u0026\u0026 define.amd ? define(factory) :\n (global.bsCustomFileInput = factory());\n}(this, (function () { 'use strict';\n\n var Selector = {\n CUSTOMFILE: '.custom-file input[type=\"file\"]',\n CUSTOMFILELABEL: '.custom-file-label',\n FORM: 'form',\n INPUT: 'input'\n };\n\n var textNodeType = 3;\n\n var getDefaultText = function getDefaultText(input) {\n var defaultText = '';\n var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);\n\n if (label) {\n defaultText = label.innerHTML;\n }\n\n return defaultText;\n };\n\n var findFirstChildNode = function findFirstChildNode(element) {\n if (element.childNodes.length \u003e 0) {\n var childNodes = [].slice.call(element.childNodes);\n\n for (var i = 0; i \u003c childNodes.length; i++) {\n var node = childNodes[i];\n\n if (node.nodeType !== textNodeType) {\n return node;\n }\n }\n }\n\n return element;\n };\n\n var restoreDefaultText = function restoreDefaultText(input) {\n var defaultText = input.bsCustomFileInput.defaultText;\n var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);\n\n if (label) {\n var element = findFirstChildNode(label);\n element.innerHTML = defaultText;\n }\n };\n\n var fileApi = !!window.File;\n var FAKE_PATH = 'fakepath';\n var FAKE_PATH_SEPARATOR = '\\\\';\n\n var getSelectedFiles = function getSelectedFiles(input) {\n if (input.hasAttribute('multiple') \u0026\u0026 fileApi) {\n return [].slice.call(input.files).map(function (file) {\n return file.name;\n }).join(', ');\n }\n\n if (input.value.indexOf(FAKE_PATH) !== -1) {\n var splittedValue = input.value.split(FAKE_PATH_SEPARATOR);\n return splittedValue[splittedValue.length - 1];\n }\n\n return input.value;\n };\n\n function handleInputChange() {\n var label = this.parentNode.querySelector(Selector.CUSTOMFILELABEL);\n\n if (label) {\n var element = findFirstChildNode(label);\n var inputValue = getSelectedFiles(this);\n\n if (inputValue.length) {\n element.innerHTML = inputValue;\n } else {\n restoreDefaultText(this);\n }\n }\n }\n\n function handleFormReset() {\n var customFileList = [].slice.call(this.querySelectorAll(Selector.INPUT)).filter(function (input) {\n return !!input.bsCustomFileInput;\n });\n\n for (var i = 0, len = customFileList.length; i \u003c len; i++) {\n restoreDefaultText(customFileList[i]);\n }\n }\n\n var customProperty = 'bsCustomFileInput';\n var Event = {\n FORMRESET: 'reset',\n INPUTCHANGE: 'change'\n };\n var bsCustomFileInput = {\n init: function init(inputSelector, formSelector) {\n if (inputSelector === void 0) {\n inputSelector = Selector.CUSTOMFILE;\n }\n\n if (formSelector === void 0) {\n formSelector = Selector.FORM;\n }\n\n var customFileInputList = [].slice.call(document.querySelectorAll(inputSelector));\n var formList = [].slice.call(document.querySelectorAll(formSelector));\n\n for (var i = 0, len = customFileInputList.length; i \u003c len; i++) {\n var input = customFileInputList[i];\n Object.defineProperty(input, customProperty, {\n value: {\n defaultText: getDefaultText(input)\n },\n writable: true\n });\n input.addEventListener(Event.INPUTCHANGE, handleInputChange);\n }\n\n for (var _i = 0, _len = formList.length; _i \u003c _len; _i++) {\n formList[_i].addEventListener(Event.FORMRESET, handleFormReset);\n\n Object.defineProperty(formList[_i], customProperty, {\n value: true,\n writable: true\n });\n }\n },\n destroy: function destroy() {\n var formList = [].slice.call(document.querySelectorAll(Selector.FORM)).filter(function (form) {\n return !!form.bsCustomFileInput;\n });\n var customFileInputList = [].slice.call(document.querySelectorAll(Selector.INPUT)).filter(function (input) {\n return !!input.bsCustomFileInput;\n });\n\n for (var i = 0, len = customFileInputList.length; i \u003c len; i++) {\n var input = customFileInputList[i];\n restoreDefaultText(input);\n input[customProperty] = undefined;\n input.removeEventListener(Event.INPUTCHANGE, handleInputChange);\n }\n\n for (var _i2 = 0, _len2 = formList.length; _i2 \u003c _len2; _i2++) {\n formList[_i2].removeEventListener(Event.FORMRESET, handleFormReset);\n\n formList[_i2][customProperty] = undefined;\n }\n }\n };\n\n return bsCustomFileInput;\n\n})));\n/*!\n * JavaScript Cookie v2.2.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl \u0026 Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n var registeredInModuleLoader = false;\n if (typeof define === 'function' \u0026\u0026 define.amd) {\n define(factory);\n registeredInModuleLoader = true;\n }\n if (typeof exports === 'object') {\n module.exports = factory();\n registeredInModuleLoader = true;\n }\n if (!registeredInModuleLoader) {\n var OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n api.noConflict = function () {\n window.Cookies = OldCookies;\n return api;\n };\n }\n}(function () {\n function extend () {\n var i = 0;\n var result = {};\n for (; i \u003c arguments.length; i++) {\n var attributes = arguments[ i ];\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n return result;\n }\n\n function init (converter) {\n function api (key, value, attributes) {\n var result;\n if (typeof document === 'undefined') {\n return;\n }\n\n // Write\n\n if (arguments.length \u003e 1) {\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n }\n\n // We're using \"expires\" because \"max-age\" is not supported by IE\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n try {\n result = JSON.stringify(value);\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n if (!converter.write) {\n value = encodeURIComponent(String(value))\n .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n } else {\n value = converter.write(value, key);\n }\n\n key = encodeURIComponent(String(key));\n key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n key = key.replace(/[\\(\\)]/g, escape);\n\n var stringifiedAttributes = '';\n\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue;\n }\n stringifiedAttributes += '; ' + attributeName;\n if (attributes[attributeName] === true) {\n continue;\n }\n stringifiedAttributes += '=' + attributes[attributeName];\n }\n return (document.cookie = key + '=' + value + stringifiedAttributes);\n }\n\n // Read\n\n if (!key) {\n result = {};\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all. Also prevents odd result when\n // calling \"get()\"\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var rdecode = /(%[0-9A-Z]{2})+/g;\n var i = 0;\n\n for (; i \u003c cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n\n if (!this.json \u0026\u0026 cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n var name = parts[0].replace(rdecode, decodeURIComponent);\n cookie = converter.read ?\n converter.read(cookie, name) : converter(cookie, name) ||\n cookie.replace(rdecode, decodeURIComponent);\n\n if (this.json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n if (key === name) {\n result = cookie;\n break;\n }\n\n if (!key) {\n result[name] = cookie;\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n api.set = api;\n api.get = function (key) {\n return api.call(api, key);\n };\n api.getJSON = function () {\n return api.apply({\n json: true\n }, [].slice.call(arguments));\n };\n api.defaults = {};\n\n api.remove = function (key, attributes) {\n api(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n api.withConverter = init;\n\n return api;\n }\n\n return init(function () {});\n }));\n//////////////////////////////////\n// scratch-blocks\\blockly_compressed_vertical.js\n//////////////////////////////////\n\n// Do not edit this file; automatically generated by build.py.\n'use strict';\n\nvar $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return\"string\"==typeof a};goog.isBoolean=function(a){return\"boolean\"==typeof a};goog.isNumber=function(a){return\"number\"==typeof a};\ngoog.exportPath_=function(a,b,c){a=a.split(\".\");c=c||goog.global;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length\u0026\u0026(d=a.shift());)!a.length\u0026\u0026goog.isDef(b)?c[d]=b:c=c[d]\u0026\u0026c[d]!==Object.prototype[d]?c[d]:c[d]={}};\ngoog.define=function(a,b){var c=b;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES\u0026\u0026void 0===goog.global.CLOSURE_UNCOMPILED_DEFINES.nodeType\u0026\u0026Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,a)?c=goog.global.CLOSURE_UNCOMPILED_DEFINES[a]:goog.global.CLOSURE_DEFINES\u0026\u0026void 0===goog.global.CLOSURE_DEFINES.nodeType\u0026\u0026Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,a)\u0026\u0026(c=goog.global.CLOSURE_DEFINES[a]));goog.exportPath_(a,c)};goog.DEBUG=!1;goog.LOCALE=\"en\";\ngoog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED\u0026\u0026!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;goog.provide=function(a){if(goog.isInModuleLoader_())throw Error(\"goog.provide can not be used within a goog.module.\");if(!COMPILED\u0026\u0026goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');goog.constructNamespace_(a)};\ngoog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(\".\")))\u0026\u0026!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error(\"Invalid module identifier\");if(!goog.isInModuleLoader_())throw Error(\"Module \"+a+\" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.\");if(goog.moduleLoaderState_.moduleName)throw Error(\"goog.module may only be called once per module.\");\ngoog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a];if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.moduleLoaderState_=null;\ngoog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_};goog.module.declareLegacyNamespace=function(){if(!COMPILED\u0026\u0026!goog.isInModuleLoader_())throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");if(!COMPILED\u0026\u0026!goog.moduleLoaderState_.moduleName)throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");goog.moduleLoaderState_.declareLegacyNamespace=!0};\ngoog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||\"\",Error(\"Importing test-only code into non-debug environment\"+(a?\": \"+a:\".\"));};goog.forwardDeclare=function(a){};COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]\u0026\u0026goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={\"goog.module\":!0});\ngoog.getObjectByName=function(a,b){for(var c=a.split(\".\"),d=b||goog.global,e=0;e\u003cc.length;e++)if(d=d[c[e]],!goog.isDefAndNotNull(d))return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};\ngoog.addDependency=function(a,b,c,d){if(goog.DEPENDENCIES_ENABLED){var e;a=a.replace(/\\\\/g,\"/\");var f=goog.dependencies_;d\u0026\u0026\"boolean\"!==typeof d||(d=d?{module:\"goog\"}:{});for(var g=0;e=b[g];g++)f.nameToPath[e]=a,f.loadFlags[a]=d;for(d=0;b=c[d];d++)a in f.requires||(f.requires[a]={}),f.requires[a][b]=!0}};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console\u0026\u0026goog.global.console.error(a)};\ngoog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER\u0026\u0026goog.IS_OLD_IE_\u0026\u0026goog.maybeProcessDeferredDep_(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.getPathFromDeps_(a);if(b)goog.writeScripts_(b);else throw a=\"goog.require could not find: \"+a,goog.logToConsole_(a),Error(a);}return null}};goog.basePath=\"\";goog.nullFunction=function(){};\ngoog.abstractMethod=function(){throw Error(\"unimplemented abstract method\");};goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG\u0026\u0026(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED\u0026\u0026goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE=\"detect\";\ngoog.TRANSPILER=\"transpile.js\";\ngoog.DEPENDENCIES_ENABLED\u0026\u0026(goog.dependencies_={loadFlags:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a\u0026\u0026\"write\"in a},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)\u0026\u0026goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;a=b?[b]:a.getElementsByTagName(\"SCRIPT\");for(b=a.length-\n1;0\u003c=b;--b){var c=a[b].src,d=c.lastIndexOf(\"?\");d=-1==d?c.length:d;if(\"base.js\"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.importScript_=function(a,b){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(a,b)\u0026\u0026(goog.dependencies_.written[a]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.oldIeWaiting_=!1,goog.importProcessedScript_=function(a,b,c){goog.importScript_(\"\",'goog.retrieveAndExec_(\"'+a+'\", '+b+\", \"+c+\");\")},goog.queuedModules_=\n[],goog.wrapModule_=function(a,b){return goog.LOAD_MODULE_USING_EVAL\u0026\u0026goog.isDef(goog.global.JSON)?\"goog.loadModule(\"+goog.global.JSON.stringify(b+\"\\n//# sourceURL=\"+a+\"\\n\")+\");\":'goog.loadModule(function(exports) {\"use strict\";'+b+\"\\n;return exports});\\n//# sourceURL=\"+a+\"\\n\"},goog.loadQueuedModules_=function(){var a=goog.queuedModules_.length;if(0\u003ca){var b=goog.queuedModules_;goog.queuedModules_=[];for(var c=0;c\u003ca;c++)goog.maybeProcessDeferredPath_(b[c])}goog.oldIeWaiting_=!1},goog.maybeProcessDeferredDep_=\nfunction(a){goog.isDeferredModule_(a)\u0026\u0026goog.allDepsAreAvailable_(a)\u0026\u0026(a=goog.getPathFromDeps_(a),goog.maybeProcessDeferredPath_(goog.basePath+a))},goog.isDeferredModule_=function(a){var b=(a=goog.getPathFromDeps_(a))\u0026\u0026goog.dependencies_.loadFlags[a]||{},c=b.lang||\"es3\";return a\u0026\u0026(\"goog\"==b.module||goog.needsTranspile_(c))?goog.basePath+a in goog.dependencies_.deferred:!1},goog.allDepsAreAvailable_=function(a){if((a=goog.getPathFromDeps_(a))\u0026\u0026a in goog.dependencies_.requires)for(var b in goog.dependencies_.requires[a])if(!goog.isProvided_(b)\u0026\u0026\n!goog.isDeferredModule_(b))return!1;return!0},goog.maybeProcessDeferredPath_=function(a){if(a in goog.dependencies_.deferred){var b=goog.dependencies_.deferred[a];delete goog.dependencies_.deferred[a];goog.globalEval(b)}},goog.loadModuleFromUrl=function(a){goog.retrieveAndExec_(a,!0,!1)},goog.writeScriptSrcNode_=function(a){goog.global.document.write('\u003cscript type=\"text/javascript\" src=\"'+a+'\"\u003e\\x3c/script\u003e')},goog.appendScriptSrcNode_=function(a){var b=goog.global.document,c=b.createElement(\"script\");\nc.type=\"text/javascript\";c.src=a;c.defer=!1;c.async=!1;b.head.appendChild(c)},goog.writeScriptTag_=function(a,b){if(goog.inHtmlDocument_()){var c=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING\u0026\u0026\"complete\"==c.readyState){if(/\\bdeps.js$/.test(a))return!1;throw Error('Cannot write \"'+a+'\" after document load');}if(void 0===b)if(goog.IS_OLD_IE_){goog.oldIeWaiting_=!0;var d=\" onreadystatechange='goog.onScriptLoad_(this, \"+ ++goog.lastNonModuleScriptIndex_+\")' \";c.write('\u003cscript type=\"text/javascript\" src=\"'+\na+'\"'+d+\"\u003e\\x3c/script\u003e\")}else goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(a):goog.writeScriptSrcNode_(a);else c.write('\u003cscript type=\"text/javascript\"\u003e'+goog.protectScriptTag_(b)+\"\\x3c/script\u003e\");return!0}return!1},goog.protectScriptTag_=function(a){return a.replace(/\u003c\\/(SCRIPT)/ig,\"\\\\x3c/$1\")},goog.needsTranspile_=function(a){if(\"always\"==goog.TRANSPILE)return!0;if(\"never\"==goog.TRANSPILE)return!1;goog.requiresTranspilation_||(goog.requiresTranspilation_=goog.createRequiresTranspilation_());\nif(a in goog.requiresTranspilation_)return goog.requiresTranspilation_[a];throw Error(\"Unknown language mode: \"+a);},goog.requiresTranspilation_=null,goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(a,b){\"complete\"==a.readyState\u0026\u0026goog.lastNonModuleScriptIndex_==b\u0026\u0026goog.loadQueuedModules_();return!0},goog.writeScripts_=function(a){function b(a){if(!(a in e.written||a in e.visited)){e.visited[a]=!0;if(a in e.requires)for(var f in e.requires[a])if(!goog.isProvided_(f))if(f in e.nameToPath)b(e.nameToPath[f]);\nelse throw Error(\"Undefined nameToPath for \"+f);a in d||(d[a]=!0,c.push(a))}}var c=[],d={},e=goog.dependencies_;b(a);for(a=0;a\u003cc.length;a++){var f=c[a];goog.dependencies_.written[f]=!0}var g=goog.moduleLoaderState_;goog.moduleLoaderState_=null;for(a=0;a\u003cc.length;a++)if(f=c[a]){var h=e.loadFlags[f]||{},k=goog.needsTranspile_(h.lang||\"es3\");\"goog\"==h.module||k?goog.importProcessedScript_(goog.basePath+f,\"goog\"==h.module,k):goog.importScript_(goog.basePath+f)}else throw goog.moduleLoaderState_=g,Error(\"Undefined script input\");\ngoog.moduleLoaderState_=g},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+\"deps.js\"));goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('\"use strict\";let x = 1; function f() { return typeof x; };f() == \"number\";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};\ngoog.workaroundSafari10EvalBug=function(a){return\"(function(){\"+a+\"\\n;})();\\n\"};\ngoog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()\u0026\u0026(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error(\"Invalid module definition\");var d=goog.moduleLoaderState_.moduleName;if(!goog.isString(d)||!d)throw Error('Invalid module name \"'+d+'\"');goog.moduleLoaderState_.declareLegacyNamespace?\ngoog.constructNamespace_(d,c):goog.SEAL_MODULE_EXPORTS\u0026\u0026Object.seal\u0026\u0026\"object\"==typeof c\u0026\u0026null!=c\u0026\u0026Object.seal(c);goog.loadedModules_[d]=c}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split(\"/\");for(var b=0;b\u003ca.length;)\".\"==a[b]?a.splice(b,1):b\u0026\u0026\"..\"==a[b]\u0026\u0026a[b-1]\u0026\u0026\"..\"!=a[b-1]?a.splice(--b,2):b++;return a.join(\"/\")};\ngoog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open(\"get\",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};\ngoog.retrieveAndExec_=function(a,b,c){if(!COMPILED){var d=a;a=goog.normalizePath_(a);var e=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,f=goog.loadFileSync_(a);if(null==f)throw Error('Load of \"'+a+'\" failed');c\u0026\u0026(f=goog.transpile_.call(goog.global,f,a));f=b?goog.wrapModule_(a,f):f+(\"\\n//# sourceURL=\"+a);goog.IS_OLD_IE_\u0026\u0026goog.oldIeWaiting_?(goog.dependencies_.deferred[d]=f,goog.queuedModules_.push(d)):e(a,f)}};\ngoog.transpile_=function(a,b){var c=goog.global.$jscomp;c||(goog.global.$jscomp=c={});var d=c.transpile;if(!d){var e=goog.basePath+goog.TRANSPILER,f=goog.loadFileSync_(e);if(f){eval(f+\"\\n//# sourceURL=\"+e);if(goog.global.$gwtExport\u0026\u0026goog.global.$gwtExport.$jscomp\u0026\u0026!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the \"transpile\" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile;\nc=goog.global.$jscomp;d=c.transpile}}d||(d=c.transpile=function(a,b){goog.logToConsole_(b+\" requires transpilation but no transpiler was found.\");return a});return d(a,b)};\ngoog.typeOf=function(a){var b=typeof a;if(\"object\"==b)if(a){if(a instanceof Array)return\"array\";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if(\"[object Window]\"==c)return\"object\";if(\"[object Array]\"==c||\"number\"==typeof a.length\u0026\u0026\"undefined\"!=typeof a.splice\u0026\u0026\"undefined\"!=typeof a.propertyIsEnumerable\u0026\u0026!a.propertyIsEnumerable(\"splice\"))return\"array\";if(\"[object Function]\"==c||\"undefined\"!=typeof a.call\u0026\u0026\"undefined\"!=typeof a.propertyIsEnumerable\u0026\u0026!a.propertyIsEnumerable(\"call\"))return\"function\"}else return\"null\";\nelse if(\"function\"==b\u0026\u0026\"undefined\"==typeof a.call)return\"object\";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return\"array\"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return\"array\"==b||\"object\"==b\u0026\u0026\"number\"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)\u0026\u0026\"function\"==typeof a.getFullYear};goog.isFunction=function(a){return\"function\"==goog.typeOf(a)};\ngoog.isObject=function(a){var b=typeof a;return\"object\"==b\u0026\u0026null!=a||\"function\"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a\u0026\u0026\"removeAttribute\"in a\u0026\u0026a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_=\"closure_uid_\"+(1E9*Math.random()\u003e\u003e\u003e0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;\ngoog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(a.clone)return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};\ngoog.bindJs_=function(a,b,c){if(!a)throw Error();if(2\u003carguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind\u0026\u0026-1!=Function.prototype.bind.toString().indexOf(\"native code\")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};\ngoog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE\u0026\u0026Date.now||function(){return+new Date};\ngoog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,\"JavaScript\");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_)if(goog.global.eval(\"var _evalTest_ = 1;\"),\"undefined\"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement(\"SCRIPT\");c.type=\"text/javascript\";c.defer=!1;c.appendChild(b.createTextNode(a));\nb.body.appendChild(c);b.body.removeChild(c)}}else throw Error(\"goog.globalEval not available\");};goog.evalWorksForGlobals_=null;\ngoog.getCssName=function(a,b){if(\".\"==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with \".\". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split(\"-\");for(var b=[],d=0;d\u003ca.length;d++)b.push(c(a[d]));return b.join(\"-\")};d=goog.cssNameMapping_?\"BY_WHOLE\"==goog.cssNameMappingStyle_?c:d:function(a){return a};d=b?a+\"-\"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};\ngoog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED\u0026\u0026goog.global.CLOSURE_CSS_NAME_MAPPING\u0026\u0026(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b\u0026\u0026(a=a.replace(/\\{\\$([^}]+)}/g,function(a,d){return null!=b\u0026\u0026d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};\ngoog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e\u003carguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};\ngoog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG\u0026\u0026!d)throw Error(\"arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C\");if(d.superClass_){for(var e=Array(arguments.length-1),f=1;f\u003carguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}e=Array(arguments.length-2);for(f=2;f\u003carguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=\ng.superClass_\u0026\u0026g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error(\"goog.base called from a method of one name to a method of a different name\");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error(\"goog.scope is not supported within a goog.module.\");a.call(goog.global)};COMPILED||(goog.global.COMPILED=COMPILED);\ngoog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c\u0026\u0026c!=Object.prototype.constructor||(c=function(){throw Error(\"cannot instantiate an interface (no constructor defined).\");});c=goog.defineClass.createSealingConstructor_(c,a);a\u0026\u0026goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d\u0026\u0026(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;\ngoog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d\u0026\u0026c\u0026\u0026Object.seal instanceof Function\u0026\u0026Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a\u0026\u0026a.prototype\u0026\u0026a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};goog.defineClass.OBJECT_PROTOTYPE_FIELDS_=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)\u0026\u0026(a[c]=b[c]);for(var d=0;d\u003cgoog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)\u0026\u0026(a[c]=b[c])};goog.tagUnsealableClass=function(a){!COMPILED\u0026\u0026goog.defineClass.SEAL_CLASS_INSTANCES\u0026\u0026(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_=\"goog_defineClass_legacy_unsealable\";\ngoog.createRequiresTranspilation_=function(){function a(a,b){d?c[a]=!0:b()?c[a]=!1:d=c[a]=!0}function b(a){try{return!!eval(a)}catch(g){return!1}}var c={es3:!1},d=!1,e=goog.global.navigator\u0026\u0026goog.global.navigator.userAgent?goog.global.navigator.userAgent:\"\";a(\"es5\",function(){return b(\"[1,].length==1\")});a(\"es6\",function(){var a=e.match(/Edge\\/(\\d+)(\\.\\d)*/i);return a\u0026\u002615\u003eNumber(a[1])?!1:b('(()=\u003e{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});\na(\"es6-impl\",function(){return!0});a(\"es7\",function(){return b(\"2 ** 2 == 4\")});a(\"es8\",function(){return b(\"async () =\u003e 1, true\")});return c};goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b\u0026\u0026(this.stack=b)}a\u0026\u0026(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name=\"CustomError\";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:\"\\u00a0\"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0\u003c=c\u0026\u0026a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};\ngoog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split(\"%s\"),d=\"\",e=Array.prototype.slice.call(arguments,1);e.length\u0026\u00261\u003cc.length;)d+=c.shift()+e.shift();return d+c.join(\"%s\")};goog.string.collapseWhitespace=function(a){return a.replace(/[\\s\\xa0]+/g,\" \").replace(/^\\s+|\\s+$/g,\"\")};\ngoog.string.isEmptyOrWhitespace=function(a){return/^[\\s\\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\\t\\n\\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};\ngoog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return\" \"==a};goog.string.isUnicodeChar=function(a){return 1==a.length\u0026\u0026\" \"\u003c=a\u0026\u0026\"~\"\u003e=a||\"\\u0080\"\u003c=a\u0026\u0026\"\\ufffd\"\u003e=a};goog.string.stripNewlines=function(a){return a.replace(/(\\r\\n|\\r|\\n)+/g,\" \")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\\r\\n|\\r|\\n)/g,\"\\n\")};\ngoog.string.normalizeWhitespace=function(a){return a.replace(/\\xa0|\\s/g,\" \")};goog.string.normalizeSpaces=function(a){return a.replace(/\\xa0|[ \\t]+/g,\" \")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\\t\\r\\n ]+/g,\" \").replace(/^[\\t\\r\\n ]+|[\\t\\r\\n ]+$/g,\"\")};goog.string.trim=goog.TRUSTED_SITE\u0026\u0026String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")};goog.string.trimLeft=function(a){return a.replace(/^[\\s\\xa0]+/,\"\")};\ngoog.string.trimRight=function(a){return a.replace(/[\\s\\xa0]+$/,\"\")};goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c\u003cd?-1:c==d?0:1};\ngoog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g\u003cf;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)\u0026\u0026(b=parseInt(h,10),!isNaN(b)\u0026\u0026a-b)?a-b:c\u003ch?-1:1}return d.length!=e.length?d.length-e.length:a\u003cb?-1:1};goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\\d+|\\D+/g)};\ngoog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\\d+|\\.\\d+|\\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\\+/g,\" \"))};goog.string.newLineToBr=function(a,b){return a.replace(/(\\r\\n|\\r|\\n)/g,b?\"\u003cbr /\u003e\":\"\u003cbr\u003e\")};\ngoog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,\"\u0026amp;\").replace(goog.string.LT_RE_,\"\u0026lt;\").replace(goog.string.GT_RE_,\"\u0026gt;\").replace(goog.string.QUOT_RE_,\"\u0026quot;\").replace(goog.string.SINGLE_QUOTE_RE_,\"\u0026#39;\").replace(goog.string.NULL_RE_,\"\u0026#0;\"),goog.string.DETECT_DOUBLE_ESCAPING\u0026\u0026(a=a.replace(goog.string.E_RE_,\"\u0026#101;\"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf(\"\u0026\")\u0026\u0026(a=a.replace(goog.string.AMP_RE_,\"\u0026amp;\"));-1!=a.indexOf(\"\u003c\")\u0026\u0026(a=a.replace(goog.string.LT_RE_,\n\"\u0026lt;\"));-1!=a.indexOf(\"\u003e\")\u0026\u0026(a=a.replace(goog.string.GT_RE_,\"\u0026gt;\"));-1!=a.indexOf('\"')\u0026\u0026(a=a.replace(goog.string.QUOT_RE_,\"\u0026quot;\"));-1!=a.indexOf(\"'\")\u0026\u0026(a=a.replace(goog.string.SINGLE_QUOTE_RE_,\"\u0026#39;\"));-1!=a.indexOf(\"\\x00\")\u0026\u0026(a=a.replace(goog.string.NULL_RE_,\"\u0026#0;\"));goog.string.DETECT_DOUBLE_ESCAPING\u0026\u0026-1!=a.indexOf(\"e\")\u0026\u0026(a=a.replace(goog.string.E_RE_,\"\u0026#101;\"))}return a};goog.string.AMP_RE_=/\u0026/g;goog.string.LT_RE_=/\u003c/g;goog.string.GT_RE_=/\u003e/g;goog.string.QUOT_RE_=/\"/g;\ngoog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\\x00\u0026\u003c\u003e\"'e]/:/[\\x00\u0026\u003c\u003e\"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,\"\u0026\")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING\u0026\u0026\"document\"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};\ngoog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,\"\u0026\")?goog.string.unescapeEntitiesUsingDom_(a,b):a};\ngoog.string.unescapeEntitiesUsingDom_=function(a,b){var c={\"\u0026amp;\":\"\u0026\",\"\u0026lt;\":\"\u003c\",\"\u0026gt;\":\"\u003e\",\"\u0026quot;\":'\"'};var d=b?b.createElement(\"div\"):goog.global.document.createElement(\"div\");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;if(\"#\"==b.charAt(0)){var f=Number(\"0\"+b.substr(1));isNaN(f)||(e=String.fromCharCode(f))}e||(d.innerHTML=a+\" \",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};\ngoog.string.unescapePureXmlEntities_=function(a){return a.replace(/\u0026([^;]+);/g,function(a,c){switch(c){case \"amp\":return\"\u0026\";case \"lt\":return\"\u003c\";case \"gt\":return\"\u003e\";case \"quot\":return'\"';default:if(\"#\"==c.charAt(0)){var b=Number(\"0\"+c.substr(1));if(!isNaN(b))return String.fromCharCode(b)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/\u0026([^;\\s\u003c\u0026]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/ /g,\" \u0026#160;\"),b)};\ngoog.string.preserveSpaces=function(a){return a.replace(/(^|[\\n ]) /g,\"$1\"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d\u003cc;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e\u0026\u0026a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c\u0026\u0026(a=goog.string.unescapeEntities(a));a.length\u003eb\u0026\u0026(a=a.substring(0,b-3)+\"...\");c\u0026\u0026(a=goog.string.htmlEscape(a));return a};\ngoog.string.truncateMiddle=function(a,b,c,d){c\u0026\u0026(a=goog.string.unescapeEntities(a));if(d\u0026\u0026a.length\u003eb){d\u003eb\u0026\u0026(d=b);var e=a.length-d;a=a.substring(0,b-d)+\"...\"+a.substring(e)}else a.length\u003eb\u0026\u0026(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+\"...\"+a.substring(e));c\u0026\u0026(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={\"\\x00\":\"\\\\0\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\",\"\\x0B\":\"\\\\x0B\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\",\"\u003c\":\"\u003c\"};goog.string.jsEscapeCache_={\"'\":\"\\\\'\"};\ngoog.string.quote=function(a){a=String(a);for(var b=['\"'],c=0;c\u003ca.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31\u003ce\u0026\u0026127\u003ee?d:goog.string.escapeChar(d))}b.push('\"');return b.join(\"\")};goog.string.escapeString=function(a){for(var b=[],c=0;c\u003ca.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join(\"\")};\ngoog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31\u003cb\u0026\u0026127\u003eb)var c=a;else{if(256\u003eb){if(c=\"\\\\x\",16\u003eb||256\u003cb)c+=\"0\"}else c=\"\\\\u\",4096\u003eb\u0026\u0026(c+=\"0\");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};\ngoog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a\u0026\u0026b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0\u003c=b\u0026\u0026b\u003ca.length\u0026\u00260\u003cc\u0026\u0026(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,\"\")};goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),\"g\");return a.replace(c,\"\")};\ngoog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),\"g\");return a.replace(b,c.replace(/\\$/g,\"$$$$\"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\\[\\]{}+?*.$\\^|,:#\u003c!\\\\])/g,\"\\\\$1\").replace(/\\x08/g,\"\\\\x08\")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};\ngoog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(\".\");-1==c\u0026\u0026(c=a.length);return goog.string.repeat(\"0\",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?\"\":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,\"\")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};\ngoog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split(\".\"),e=goog.string.trim(String(b)).split(\".\"),f=Math.max(d.length,e.length),g=0;0==c\u0026\u0026g\u003cf;g++){var h=d[g]||\"\",k=e[g]||\"\";do{h=/(\\d*)(\\D*)(.*)/.exec(h)||[\"\",\"\",\"\",\"\"];k=/(\\d*)(\\D*)(.*)/.exec(k)||[\"\",\"\",\"\",\"\"];if(0==h[0].length\u0026\u00260==k[0].length)break;c=0==h[1].length?0:parseInt(h[1],10);var m=0==k[1].length?0:parseInt(k[1],10);c=goog.string.compareElements_(c,m)||goog.string.compareElements_(0==h[2].length,0==k[2].length)||\ngoog.string.compareElements_(h[2],k[2]);h=h[3];k=k[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a\u003cb?-1:a\u003eb?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c\u003ca.length;++c)b=31*b+a.charCodeAt(c)\u003e\u003e\u003e0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return\"goog_\"+goog.string.uniqueStringCounter_++};goog.string.toNumber=function(a){var b=Number(a);return 0==b\u0026\u0026goog.string.isEmptyOrWhitespace(a)?NaN:b};\ngoog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,\"-$1\").toLowerCase()};\ngoog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):\"\\\\s\";return a.replace(new RegExp(\"(^\"+(c?\"|[\"+c+\"]+\":\"\")+\")([a-z])\",\"g\"),function(a,b,c){return b+c.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)\u0026\u0026(a=String(a));return goog.isString(a)?/^\\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};\ngoog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0\u003cc\u0026\u0026a.length;)d.push(a.shift()),c--;a.length\u0026\u0026d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)\"string\"==typeof b\u0026\u0026(b=[b]);else return a;for(var c=-1,d=0;d\u003cb.length;d++)if(\"\"!=b[d]){var e=a.lastIndexOf(b[d]);e\u003ec\u0026\u0026(c=e)}return-1==c?a:a.slice(c+1)};\ngoog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e\u003cb.length+1;e++)c[e]=e;for(e=0;e\u003ca.length;e++){d[0]=e+1;for(var f=0;f\u003cb.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f\u003cc.length;f++)c[f]=d[f]}return d[b.length]};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift();this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name=\"AssertionError\";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;\ngoog.asserts.doAssertFailure_=function(a,b,c,d){var e=\"Assertion failed\";if(c){e+=\": \"+c;var f=d}else a\u0026\u0026(e+=\": \"+a,f=b);a=new goog.asserts.AssertionError(\"\"+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS\u0026\u0026(goog.asserts.errorHandler_=a)};goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!a\u0026\u0026goog.asserts.doAssertFailure_(\"\",null,b,Array.prototype.slice.call(arguments,2));return a};\ngoog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS\u0026\u0026goog.asserts.errorHandler_(new goog.asserts.AssertionError(\"Failure\"+(a?\": \"+a:\"\"),Array.prototype.slice.call(arguments,1)))};goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isNumber(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected number but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};\ngoog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isString(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected string but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isFunction(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected function but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};\ngoog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isObject(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected object but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isArray(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected array but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};\ngoog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS\u0026\u0026!goog.isBoolean(a)\u0026\u0026goog.asserts.doAssertFailure_(\"Expected boolean but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)\u0026\u0026a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_(\"Expected Element but got %s: %s.\",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};\ngoog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_(\"Expected instanceof %s but got %s.\",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+\" should not be enumerable in Object.prototype.\")};\ngoog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||\"unknown type name\":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?\"null\":typeof a};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;\ngoog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0\u003ec?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)\u0026\u00261==b.length?a.indexOf(b,c):-1;for(;c\u003ca.length;c++)if(c in a\u0026\u0026a[c]===b)return c;return-1};\ngoog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0\u003ec\u0026\u0026(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)\u0026\u00261==b.length?a.lastIndexOf(b,c):-1;for(;0\u003c=c;c--)if(c in a\u0026\u0026a[c]===b)return c;return-1};\ngoog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(\"\"):a,f=0;f\u003cd;f++)f in e\u0026\u0026b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(\"\"):a;for(--d;0\u003c=d;--d)d in e\u0026\u0026b.call(c,e[d],d,a)};\ngoog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(\"\"):a,h=0;h\u003cd;h++)if(h in g){var k=g[h];b.call(c,k,h,a)\u0026\u0026(e[f++]=k)}return e};\ngoog.array.map=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(\"\"):a,g=0;g\u003cd;g++)g in f\u0026\u0026(e[g]=b.call(c,f[g],g,a));return e};\ngoog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d\u0026\u0026(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};\ngoog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d\u0026\u0026(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};\ngoog.array.some=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(\"\"):a,f=0;f\u003cd;f++)if(f in e\u0026\u0026b.call(c,e[f],f,a))return!0;return!1};\ngoog.array.every=goog.NATIVE_ARRAY_PROTOTYPES\u0026\u0026(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(\"\"):a,f=0;f\u003cd;f++)if(f in e\u0026\u0026!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)\u0026\u0026++d},c);return d};\ngoog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0\u003eb?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(\"\"):a,f=0;f\u003cd;f++)if(f in e\u0026\u0026b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0\u003eb?null:goog.isString(a)?a.charAt(b):a[b]};\ngoog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(\"\"):a;for(--d;0\u003c=d;d--)if(d in e\u0026\u0026b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0\u003c=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0\u003c=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};\ngoog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0\u003e(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0\u003c=c)\u0026\u0026goog.array.removeAt(a,c);return d};\ngoog.array.removeLast=function(a,b){var c=goog.array.lastIndexOf(a,b);return 0\u003c=c?(goog.array.removeAt(a,c),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0\u003c=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)\u0026\u0026goog.array.removeAt(a,f)\u0026\u0026d++});return d};\ngoog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0\u003cb){for(var c=Array(b),d=0;d\u003cb;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c\u003carguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g\u003cf;g++)a[e+g]=d[g]}else a.push(d)}};\ngoog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2\u003e=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};\ngoog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?\"o\"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f\u003ca.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};\ngoog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f\u003cg;){var k=f+g\u003e\u003e1;var m=c?b.call(e,a[k],k,a):b(d,a[k]);0\u003cm?f=k+1:(g=k,h=!m)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d\u003ca.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d\u003ca.length;d++)a[d]=c[d].value};\ngoog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d\u003ca.length;d++){var e=b(a[d-1],a[d]);if(0\u003ce||0==e\u0026\u0026c)return!1}return!0};\ngoog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e\u003cd;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e\u003cd;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a\u003eb?1:a\u003cb?-1:0};\ngoog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0\u003ec?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0\u003c=b?goog.array.removeAt(a,b):!1};\ngoog.array.bucket=function(a,b,c){for(var d={},e=0;e\u003ca.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)\u0026\u0026(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b\u0026\u0026(e=a,f=b);if(0\u003ec*(f-e))return[];if(0\u003cc)for(a=e;a\u003cf;a+=c)d.push(a);else for(a=e;a\u003ef;a+=c)d.push(a);return d};\ngoog.array.repeat=function(a,b){for(var c=[],d=0;d\u003cb;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c\u003carguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e\u003cd.length;e+=8192){var f=goog.array.slice(d,e,e+8192);f=goog.array.flatten.apply(null,f);for(var g=0;g\u003cf.length;g++)b.push(f[g])}else b.push(d)}return b};\ngoog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length\u0026\u0026(b%=a.length,0\u003cb?Array.prototype.unshift.apply(a,a.splice(-b,b)):0\u003eb\u0026\u0026Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0\u003c=b\u0026\u0026b\u003ca.length);goog.asserts.assert(0\u003c=c\u0026\u0026c\u003ca.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};\ngoog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d\u003carguments.length;d++)arguments[d].length\u003cc\u0026\u0026(c=arguments[d].length);for(d=0;d\u003cc;d++){for(var e=[],f=0;f\u003carguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0\u003cd;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};\ngoog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0\u003ec*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)\u003c=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};\ngoog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};\ngoog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180\u003cc?c-=360:-180\u003e=c\u0026\u0026(c=360+c);return c};goog.math.sign=function(a){return 0\u003ca?1:0\u003ea?-1:a};\ngoog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h\u003ce+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k\u003cf+1;k++)g[0][k]=0;for(h=1;h\u003c=e;h++)for(k=1;k\u003c=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);var m=[];h=e;for(k=f;0\u003ch\u0026\u00260\u003ck;)c(a[h-1],b[k-1])?(m.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]\u003eg[h][k-1]?h--:k--;return m};\ngoog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2\u003eb)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};\ngoog.math.isInt=function(a){return isFinite(a)\u0026\u00260==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a\u0026\u00260\u003e1/a};goog.math.log10Floor=function(a){if(0\u003ca){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat(\"1e\"+b)\u003ea?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0\u003cb);return Math.floor(a+(b||2E-15))};\ngoog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0\u003cb);return Math.ceil(a-(b||2E-15))};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG\u0026\u0026(goog.math.Coordinate.prototype.toString=function(){return\"(\"+this.x+\", \"+this.y+\")\"});goog.math.Coordinate.prototype.equals=function(a){return a instanceof goog.math.Coordinate\u0026\u0026goog.math.Coordinate.equals(this,a)};goog.math.Coordinate.equals=function(a,b){return a==b?!0:a\u0026\u0026b?a.x==b.x\u0026\u0026a.y==b.y:!1};\ngoog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};\ngoog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Coordinate.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};goog.math.Coordinate.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};goog.math.Coordinate.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};\ngoog.math.Coordinate.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=Number(a),goog.isNumber(b)\u0026\u0026(this.y+=b));return this};goog.math.Coordinate.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.x*=a;this.y*=c;return this};goog.math.Coordinate.prototype.rotateRadians=function(a,b){var c=b||new goog.math.Coordinate(0,0),d=this.x,e=this.y,f=Math.cos(a),g=Math.sin(a);this.x=(d-c.x)*f-(e-c.y)*g+c.x;this.y=(d-c.x)*g+(e-c.y)*f+c.y};\ngoog.math.Coordinate.prototype.rotateDegrees=function(a,b){this.rotateRadians(goog.math.toRadians(a),b)};goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP=\"$goog_Thenable\";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0\u003cthis.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_\u003cthis.limit_\u0026\u0026(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};\ngoog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_\u0026\u0026(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};\ngoog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c\u003cb.length;c++)a(goog.bind(b[c].wrap,b[c]))};\ngoog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c\u003cgoog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};\ngoog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],\"Only the most recent monitor can be unwrapped.\");a=goog.bind(a.unwrap,a);for(var c=0;c\u003cgoog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName(\"A\");goog.dom.TagName.ABBR=new goog.dom.TagName(\"ABBR\");goog.dom.TagName.ACRONYM=new goog.dom.TagName(\"ACRONYM\");goog.dom.TagName.ADDRESS=new goog.dom.TagName(\"ADDRESS\");goog.dom.TagName.APPLET=new goog.dom.TagName(\"APPLET\");goog.dom.TagName.AREA=new goog.dom.TagName(\"AREA\");goog.dom.TagName.ARTICLE=new goog.dom.TagName(\"ARTICLE\");\ngoog.dom.TagName.ASIDE=new goog.dom.TagName(\"ASIDE\");goog.dom.TagName.AUDIO=new goog.dom.TagName(\"AUDIO\");goog.dom.TagName.B=new goog.dom.TagName(\"B\");goog.dom.TagName.BASE=new goog.dom.TagName(\"BASE\");goog.dom.TagName.BASEFONT=new goog.dom.TagName(\"BASEFONT\");goog.dom.TagName.BDI=new goog.dom.TagName(\"BDI\");goog.dom.TagName.BDO=new goog.dom.TagName(\"BDO\");goog.dom.TagName.BIG=new goog.dom.TagName(\"BIG\");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName(\"BLOCKQUOTE\");goog.dom.TagName.BODY=new goog.dom.TagName(\"BODY\");\ngoog.dom.TagName.BR=new goog.dom.TagName(\"BR\");goog.dom.TagName.BUTTON=new goog.dom.TagName(\"BUTTON\");goog.dom.TagName.CANVAS=new goog.dom.TagName(\"CANVAS\");goog.dom.TagName.CAPTION=new goog.dom.TagName(\"CAPTION\");goog.dom.TagName.CENTER=new goog.dom.TagName(\"CENTER\");goog.dom.TagName.CITE=new goog.dom.TagName(\"CITE\");goog.dom.TagName.CODE=new goog.dom.TagName(\"CODE\");goog.dom.TagName.COL=new goog.dom.TagName(\"COL\");goog.dom.TagName.COLGROUP=new goog.dom.TagName(\"COLGROUP\");\ngoog.dom.TagName.COMMAND=new goog.dom.TagName(\"COMMAND\");goog.dom.TagName.DATA=new goog.dom.TagName(\"DATA\");goog.dom.TagName.DATALIST=new goog.dom.TagName(\"DATALIST\");goog.dom.TagName.DD=new goog.dom.TagName(\"DD\");goog.dom.TagName.DEL=new goog.dom.TagName(\"DEL\");goog.dom.TagName.DETAILS=new goog.dom.TagName(\"DETAILS\");goog.dom.TagName.DFN=new goog.dom.TagName(\"DFN\");goog.dom.TagName.DIALOG=new goog.dom.TagName(\"DIALOG\");goog.dom.TagName.DIR=new goog.dom.TagName(\"DIR\");goog.dom.TagName.DIV=new goog.dom.TagName(\"DIV\");\ngoog.dom.TagName.DL=new goog.dom.TagName(\"DL\");goog.dom.TagName.DT=new goog.dom.TagName(\"DT\");goog.dom.TagName.EM=new goog.dom.TagName(\"EM\");goog.dom.TagName.EMBED=new goog.dom.TagName(\"EMBED\");goog.dom.TagName.FIELDSET=new goog.dom.TagName(\"FIELDSET\");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName(\"FIGCAPTION\");goog.dom.TagName.FIGURE=new goog.dom.TagName(\"FIGURE\");goog.dom.TagName.FONT=new goog.dom.TagName(\"FONT\");goog.dom.TagName.FOOTER=new goog.dom.TagName(\"FOOTER\");goog.dom.TagName.FORM=new goog.dom.TagName(\"FORM\");\ngoog.dom.TagName.FRAME=new goog.dom.TagName(\"FRAME\");goog.dom.TagName.FRAMESET=new goog.dom.TagName(\"FRAMESET\");goog.dom.TagName.H1=new goog.dom.TagName(\"H1\");goog.dom.TagName.H2=new goog.dom.TagName(\"H2\");goog.dom.TagName.H3=new goog.dom.TagName(\"H3\");goog.dom.TagName.H4=new goog.dom.TagName(\"H4\");goog.dom.TagName.H5=new goog.dom.TagName(\"H5\");goog.dom.TagName.H6=new goog.dom.TagName(\"H6\");goog.dom.TagName.HEAD=new goog.dom.TagName(\"HEAD\");goog.dom.TagName.HEADER=new goog.dom.TagName(\"HEADER\");\ngoog.dom.TagName.HGROUP=new goog.dom.TagName(\"HGROUP\");goog.dom.TagName.HR=new goog.dom.TagName(\"HR\");goog.dom.TagName.HTML=new goog.dom.TagName(\"HTML\");goog.dom.TagName.I=new goog.dom.TagName(\"I\");goog.dom.TagName.IFRAME=new goog.dom.TagName(\"IFRAME\");goog.dom.TagName.IMG=new goog.dom.TagName(\"IMG\");goog.dom.TagName.INPUT=new goog.dom.TagName(\"INPUT\");goog.dom.TagName.INS=new goog.dom.TagName(\"INS\");goog.dom.TagName.ISINDEX=new goog.dom.TagName(\"ISINDEX\");goog.dom.TagName.KBD=new goog.dom.TagName(\"KBD\");\ngoog.dom.TagName.KEYGEN=new goog.dom.TagName(\"KEYGEN\");goog.dom.TagName.LABEL=new goog.dom.TagName(\"LABEL\");goog.dom.TagName.LEGEND=new goog.dom.TagName(\"LEGEND\");goog.dom.TagName.LI=new goog.dom.TagName(\"LI\");goog.dom.TagName.LINK=new goog.dom.TagName(\"LINK\");goog.dom.TagName.MAP=new goog.dom.TagName(\"MAP\");goog.dom.TagName.MARK=new goog.dom.TagName(\"MARK\");goog.dom.TagName.MATH=new goog.dom.TagName(\"MATH\");goog.dom.TagName.MENU=new goog.dom.TagName(\"MENU\");goog.dom.TagName.META=new goog.dom.TagName(\"META\");\ngoog.dom.TagName.METER=new goog.dom.TagName(\"METER\");goog.dom.TagName.NAV=new goog.dom.TagName(\"NAV\");goog.dom.TagName.NOFRAMES=new goog.dom.TagName(\"NOFRAMES\");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName(\"NOSCRIPT\");goog.dom.TagName.OBJECT=new goog.dom.TagName(\"OBJECT\");goog.dom.TagName.OL=new goog.dom.TagName(\"OL\");goog.dom.TagName.OPTGROUP=new goog.dom.TagName(\"OPTGROUP\");goog.dom.TagName.OPTION=new goog.dom.TagName(\"OPTION\");goog.dom.TagName.OUTPUT=new goog.dom.TagName(\"OUTPUT\");\ngoog.dom.TagName.P=new goog.dom.TagName(\"P\");goog.dom.TagName.PARAM=new goog.dom.TagName(\"PARAM\");goog.dom.TagName.PRE=new goog.dom.TagName(\"PRE\");goog.dom.TagName.PROGRESS=new goog.dom.TagName(\"PROGRESS\");goog.dom.TagName.Q=new goog.dom.TagName(\"Q\");goog.dom.TagName.RP=new goog.dom.TagName(\"RP\");goog.dom.TagName.RT=new goog.dom.TagName(\"RT\");goog.dom.TagName.RUBY=new goog.dom.TagName(\"RUBY\");goog.dom.TagName.S=new goog.dom.TagName(\"S\");goog.dom.TagName.SAMP=new goog.dom.TagName(\"SAMP\");\ngoog.dom.TagName.SCRIPT=new goog.dom.TagName(\"SCRIPT\");goog.dom.TagName.SECTION=new goog.dom.TagName(\"SECTION\");goog.dom.TagName.SELECT=new goog.dom.TagName(\"SELECT\");goog.dom.TagName.SMALL=new goog.dom.TagName(\"SMALL\");goog.dom.TagName.SOURCE=new goog.dom.TagName(\"SOURCE\");goog.dom.TagName.SPAN=new goog.dom.TagName(\"SPAN\");goog.dom.TagName.STRIKE=new goog.dom.TagName(\"STRIKE\");goog.dom.TagName.STRONG=new goog.dom.TagName(\"STRONG\");goog.dom.TagName.STYLE=new goog.dom.TagName(\"STYLE\");\ngoog.dom.TagName.SUB=new goog.dom.TagName(\"SUB\");goog.dom.TagName.SUMMARY=new goog.dom.TagName(\"SUMMARY\");goog.dom.TagName.SUP=new goog.dom.TagName(\"SUP\");goog.dom.TagName.SVG=new goog.dom.TagName(\"SVG\");goog.dom.TagName.TABLE=new goog.dom.TagName(\"TABLE\");goog.dom.TagName.TBODY=new goog.dom.TagName(\"TBODY\");goog.dom.TagName.TD=new goog.dom.TagName(\"TD\");goog.dom.TagName.TEMPLATE=new goog.dom.TagName(\"TEMPLATE\");goog.dom.TagName.TEXTAREA=new goog.dom.TagName(\"TEXTAREA\");goog.dom.TagName.TFOOT=new goog.dom.TagName(\"TFOOT\");\ngoog.dom.TagName.TH=new goog.dom.TagName(\"TH\");goog.dom.TagName.THEAD=new goog.dom.TagName(\"THEAD\");goog.dom.TagName.TIME=new goog.dom.TagName(\"TIME\");goog.dom.TagName.TITLE=new goog.dom.TagName(\"TITLE\");goog.dom.TagName.TR=new goog.dom.TagName(\"TR\");goog.dom.TagName.TRACK=new goog.dom.TagName(\"TRACK\");goog.dom.TagName.TT=new goog.dom.TagName(\"TT\");goog.dom.TagName.U=new goog.dom.TagName(\"U\");goog.dom.TagName.UL=new goog.dom.TagName(\"UL\");goog.dom.TagName.VAR=new goog.dom.TagName(\"VAR\");\ngoog.dom.TagName.VIDEO=new goog.dom.TagName(\"VIDEO\");goog.dom.TagName.WBR=new goog.dom.TagName(\"WBR\");goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};\ngoog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};\ngoog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d\u0026\u0026(a=c[d-1].apply(this,arguments));for(var b=d-2;0\u003c=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e\u003cc;e++)a=b[e].apply(this,arguments);return a}};\ngoog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a\u003cc;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a\u003cc;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};\ngoog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};\ngoog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e\u0026\u0026(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a\u0026\u0026(a=a.userAgent)?a:\"\"};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};\ngoog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};\ngoog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=RegExp(\"(\\\\w[\\\\w ]+)/([^\\\\s]+)\\\\s*(?:\\\\((.*?)\\\\))?\",\"g\"),c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a\u0026\u0026b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)\u0026\u0026(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};\ngoog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};\ngoog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){var c=goog.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c\u003cd.length;c++){if(null==a)return;a=a[d[c]]}return a};goog.object.containsKey=function(a,b){return null!==a\u0026\u0026b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};\ngoog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))\u0026\u0026a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)\u0026\u0026delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a\u0026\u0026b in a)throw Error('The object already contains the key \"'+b+'\"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a\u0026\u0026b in a?a[b]:c};\ngoog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};\ngoog.object.unsafeClone=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(goog.isFunction(a.clone))return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.object.extend=function(a,b){for(var c,d,e=1;e\u003carguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f\u003cgoog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)\u0026\u0026(a[c]=d[c])}};\ngoog.object.create=function(a){var b=arguments.length;if(1==b\u0026\u0026goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error(\"Uneven number of arguments\");for(var c={},d=0;d\u003cb;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b\u0026\u0026goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d\u003cb;d++)c[arguments[d]]=!0;return c};\ngoog.object.createImmutableView=function(a){var b=a;Object.isFrozen\u0026\u0026!Object.isFrozen(a)\u0026\u0026(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen\u0026\u0026Object.isFrozen(a)};\ngoog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a\u0026\u0026(a!==Object.prototype||b)\u0026\u0026(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f\u003ce.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Opera\")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Trident\")||goog.labs.userAgent.util.matchUserAgent(\"MSIE\")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Edge\")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Firefox\")};\ngoog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Safari\")\u0026\u0026!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent(\"Android\"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Coast\")};\ngoog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent(\"iPad\")||goog.labs.userAgent.util.matchUserAgent(\"iPhone\"))\u0026\u0026!goog.labs.userAgent.browser.matchSafari_()\u0026\u0026!goog.labs.userAgent.browser.matchChrome_()\u0026\u0026!goog.labs.userAgent.browser.matchCoast_()\u0026\u0026goog.labs.userAgent.util.matchUserAgent(\"AppleWebKit\")};\ngoog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent(\"Chrome\")||goog.labs.userAgent.util.matchUserAgent(\"CriOS\"))\u0026\u0026!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Android\")\u0026\u0026!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};\ngoog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;\ngoog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent(\"Silk\")};\ngoog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||\"\"}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a([\"Version\",\"Opera\"]):goog.labs.userAgent.browser.isEdge()?a([\"Edge\"]):\ngoog.labs.userAgent.browser.isChrome()?a([\"Chrome\",\"CriOS\"]):(b=b[2])\u0026\u0026b[1]||\"\"};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0\u003c=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};\ngoog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\\d\\.]*)/.exec(a);if(b\u0026\u0026b[1])return b[1];b=\"\";var c=/MSIE +([\\d\\.]+)/.exec(a);if(c\u0026\u0026c[1])if(a=/Trident\\/(\\d.\\d)/.exec(a),\"7.0\"==c[1])if(a\u0026\u0026a[1])switch(a[1]){case \"4.0\":b=\"8.0\";break;case \"5.0\":b=\"9.0\";break;case \"6.0\":b=\"10.0\";break;case \"7.0\":b=\"11.0\"}else b=\"7.0\";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent(\"Presto\")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent(\"Trident\")||goog.labs.userAgent.util.matchUserAgent(\"MSIE\")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent(\"Edge\")};\ngoog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase(\"WebKit\")\u0026\u0026!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent(\"Gecko\")\u0026\u0026!goog.labs.userAgent.engine.isWebKit()\u0026\u0026!goog.labs.userAgent.engine.isTrident()\u0026\u0026!goog.labs.userAgent.engine.isEdge()};\ngoog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return\"Gecko\"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,\"Firefox\"):b[1];a=a[0];var c;if(a\u0026\u0026(c=a[2])\u0026\u0026(c=/Trident\\/([^\\s;]+)/.exec(c)))return c[1]}return\"\"};\ngoog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b\u003ca.length;b++){var c=a[b];if(\"Edge\"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0\u003c=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){var c=goog.array.find(a,function(a){return b==a[0]});return c\u0026\u0026c[1]||\"\"};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b\u0026\u0026(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)\u0026\u0026(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};\ngoog.async.nextTick.useSetImmediate_=function(){return goog.global.Window\u0026\u0026goog.global.Window.prototype\u0026\u0026!goog.labs.userAgent.browser.isEdge()\u0026\u0026goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};\ngoog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;\"undefined\"===typeof a\u0026\u0026\"undefined\"!==typeof window\u0026\u0026window.postMessage\u0026\u0026window.addEventListener\u0026\u0026!goog.labs.userAgent.engine.isPresto()\u0026\u0026(a=function(){var a=document.createElement(\"IFRAME\");a.style.display=\"none\";a.src=\"\";document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write(\"\");a.close();var c=\"callImmediate\"+Math.random(),d=\"file:\"==b.location.protocol?\"*\":b.location.protocol+\n\"//\"+b.location.host;a=goog.bind(function(a){if((\"*\"==d||a.origin==d)\u0026\u0026a.data==c)this.port1.onmessage()},this);b.addEventListener(\"message\",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if(\"undefined\"!==typeof a\u0026\u0026!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return\"undefined\"!==typeof document\u0026\u0026\"onreadystatechange\"in\ndocument.createElement(\"SCRIPT\")?function(a){var b=document.createElement(\"SCRIPT\");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(-1!=String(goog.global.Promise).indexOf(\"[native code]\")){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};\ngoog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a\u0026\u0026a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG\u0026\u0026(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});\ngoog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0\u003cgoog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY\u0026\u0026(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES\u0026\u0026(this.stack_=[],this.addStackTrace_(Error(\"created\")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,\na)},function(a){if(goog.DEBUG\u0026\u0026!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error(\"Promise rejected.\");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};\ngoog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);\ngoog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};\ngoog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d\u003ca.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};\ngoog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d\u0026\u0026b(e)},g=function(a){c(a)},h=0,k;h\u003ca.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};\ngoog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d\u0026\u0026b(e)},g=0,h;g\u003ca.length;g++)h=a[g],goog.Promise.resolveThen_(h,goog.partial(f,g,!0),goog.partial(f,g,!1));else b(e)})};\ngoog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d\u0026\u0026c(e)},h=0,k;h\u003ca.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};\ngoog.Promise.prototype.then=function(a,b,c){null!=a\u0026\u0026goog.asserts.assertFunction(a,\"opt_onFulfilled should be a function.\");null!=b\u0026\u0026goog.asserts.assertFunction(b,\"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?\");goog.Promise.LONG_STACK_TRACES\u0026\u0026this.addStackTrace_(Error(\"then\"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);\ngoog.Promise.prototype.thenVoid=function(a,b,c){null!=a\u0026\u0026goog.asserts.assertFunction(a,\"opt_onFulfilled should be a function.\");null!=b\u0026\u0026goog.asserts.assertFunction(b,\"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?\");goog.Promise.LONG_STACK_TRACES\u0026\u0026this.addStackTrace_(Error(\"then\"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};\ngoog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES\u0026\u0026this.addStackTrace_(Error(\"thenAlways\"));var c=goog.Promise.getCallbackEntry_(a,a,b);c.always=!0;this.addCallbackEntry_(c);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES\u0026\u0026this.addStackTrace_(Error(\"thenCatch\"));return this.addChildPromise_(null,a,b)};\ngoog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING\u0026\u0026goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING\u0026\u0026(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};\ngoog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f\u0026\u0026(f.always||(c++,f.child==a\u0026\u0026(d=f),!(d\u0026\u00261\u003cc)));f=f.next)d||(e=f);d\u0026\u0026(this.state_==goog.Promise.State_.PENDING\u0026\u00261==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};\ngoog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED\u0026\u0026this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};\ngoog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)\u0026\u0026a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};\ngoog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};\ngoog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING\u0026\u0026(this===b\u0026\u0026(a=goog.Promise.State_.REJECTED,b=new TypeError(\"Promise cannot resolve to itself\")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};\ngoog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};\ngoog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};\ngoog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_\u0026\u0026(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a\u0026\u0026goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_\u0026\u0026(this.callbackEntriesTail_=a);a.next=a.next.next};\ngoog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES\u0026\u0026this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};\ngoog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED\u0026\u0026a.onRejected\u0026\u0026!a.always\u0026\u0026this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};\ngoog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected\u0026\u0026a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES\u0026\u0026goog.isString(a.stack)){var b=a.stack.split(\"\\n\",4)[3];a=a.message;a+=Array(11-a.length).join(\" \");this.stack_.push(a+b)}};\ngoog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES\u0026\u0026a\u0026\u0026goog.isString(a.stack)\u0026\u0026this.stack_.length){for(var b=[\"Promise trace:\"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0\u003c=d;d--)b.push(c.stack_[d]);b.push(\"Value: [\"+(c.state_==goog.Promise.State_.REJECTED?\"REJECTED\":\"FULFILLED\")+\"] \u003c\"+String(c.result_)+\"\u003e\")}a.stack+=\"\\n\\n\"+b.join(\"\\n\")}};\ngoog.Promise.prototype.removeUnhandledRejection_=function(){if(0\u003cgoog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a\u0026\u0026a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a\u0026\u0026a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};\ngoog.Promise.addUnhandledRejection_=function(a,b){0\u003cgoog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY\u0026\u0026(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_\u0026\u0026(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;\ngoog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name=\"cancel\";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF\u0026\u0026(goog.Disposable.INCLUDE_STACK_ON_CREATION\u0026\u0026(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};\ngoog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)\u0026\u0026a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;\ngoog.Disposable.prototype.dispose=function(){if(!this.disposed_\u0026\u0026(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT\u0026\u0026!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+\" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call\");delete goog.Disposable.instances_[a]}};\ngoog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};\ngoog.Disposable.isDisposed=function(a){return a\u0026\u0026\"function\"==typeof a.isDisposed?a.isDisposed():!1};goog.dispose=function(a){a\u0026\u0026\"function\"==typeof a.dispose\u0026\u0026a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b\u003cc;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.debug.errorcontext={};goog.debug.errorcontext.addErrorContext=function(a,b,c){a[goog.debug.errorcontext.CONTEXT_KEY_]||(a[goog.debug.errorcontext.CONTEXT_KEY_]={});a[goog.debug.errorcontext.CONTEXT_KEY_][b]=c};goog.debug.errorcontext.getErrorContext=function(a){return a[goog.debug.errorcontext.CONTEXT_KEY_]||{}};goog.debug.errorcontext.CONTEXT_KEY_=\"__closure__error__context__984382\";goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent(\"Android\")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPod\")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPhone\")\u0026\u0026!goog.labs.userAgent.util.matchUserAgent(\"iPod\")\u0026\u0026!goog.labs.userAgent.util.matchUserAgent(\"iPad\")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPad\")};\ngoog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent(\"Macintosh\")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent(\"Linux\")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent(\"Windows\")};\ngoog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent(\"CrOS\")};\ngoog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b=\"\";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:\"0.0\"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/,b=(a=b.exec(a))\u0026\u0026a[1].replace(/_/g,\".\")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,\".\"):\"10\"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\\s+([^\\);]+)(\\)|;)/,\nb=(a=b.exec(a))\u0026\u0026a[1]):goog.labs.userAgent.platform.isChromeOS()\u0026\u0026(b=/(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/,b=(a=b.exec(a))\u0026\u0026a[1]);return b||\"\"};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0\u003c=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[\" \"](a);return a};goog.reflect.sinkValue[\" \"]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};\ngoog.userAgent.getNavigator=function(){return goog.global.navigator||null};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;\ngoog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT\u0026\u0026goog.labs.userAgent.util.matchUserAgent(\"Mobile\")};goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigator();return a\u0026\u0026a.platform||\"\"};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;\ngoog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigator();return!!a\u0026\u0026goog.string.contains(a.appVersion||\"\",\"X11\")};goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();\ngoog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.determineVersion_=function(){var a=\"\",b=goog.userAgent.getVersionRegexResult_();b\u0026\u0026(a=b?b[1]:\"\");return goog.userAgent.IE\u0026\u0026(b=goog.userAgent.getDocumentMode_(),null!=b\u0026\u0026b\u003eparseFloat(a))?String(b):a};\ngoog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv\\:([^\\);]+)(\\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\\/([\\d\\.]+)/.exec(a);if(goog.userAgent.IE)return/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\\/(\\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \\/]?(\\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};\ngoog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0\u003c=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;\ngoog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)\u003e=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a\u0026\u0026goog.userAgent.IE)return b||(\"CSS1Compat\"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT\u0026\u0026!goog.userAgent.isVersionOrHigher(\"535.3\")\u0026\u0026(e=!e);c.onerror=function(b,c,h,k,m){d\u0026\u0026d(b,c,h,k,m);a({message:b,fileName:c,line:h,col:k,error:m});return e}};\ngoog.debug.expose=function(a,b){if(\"undefined\"==typeof a)return\"undefined\";if(null==a)return\"NULL\";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+\" = \";try{e+=a[d]}catch(f){e+=\"*** \"+f+\" ***\"}c.push(e)}return c.join(\"\\n\")};\ngoog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,g){var h=g+\" \";try{if(goog.isDef(a))if(goog.isNull(a))c.push(\"NULL\");else if(goog.isString(a))c.push('\"'+a.replace(/\\n/g,\"\\n\"+g)+'\"');else if(goog.isFunction(a))c.push(String(a).replace(/\\n/g,\"\\n\"+g));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var k=goog.getUid(a);if(e[k])c.push(\"*** reference loop detected (id=\"+k+\") ***\");else{e[k]=!0;c.push(\"{\");for(var n in a)if(b||!goog.isFunction(a[n]))c.push(\"\\n\"),c.push(h),c.push(n+\n\" = \"),f(a[n],h);c.push(\"\\n\"+g+\"}\");delete e[k]}}else c.push(a);else c.push(\"undefined\")}catch(p){c.push(\"*** \"+p+\" ***\")}};f(a,\"\");for(var g=0;g\u003cd.length;g++)goog.removeUid(d[g]);return c.join(\"\")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c\u003ca.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return\"[ \"+b.join(\", \")+\" ]\"};\ngoog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName(\"window.location.href\");if(goog.isString(a))return{message:a,name:\"Unknown error\",lineNumber:\"Not available\",fileName:b,stack:\"Not available\"};var c=!1;try{var d=a.lineNumber||a.line||\"Not available\"}catch(f){d=\"Not available\",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e=\"Not available\",c=!0}return!c\u0026\u0026a.lineNumber\u0026\u0026a.fileName\u0026\u0026a.stack\u0026\u0026a.message\u0026\u0026a.name?a:{message:a.message||\"Not available\",\nname:a.name||\"UnknownError\",lineNumber:d,fileName:e,stack:a.stack||\"Not available\"}};goog.debug.enhanceError=function(a,b){if(a instanceof Error)var c=a;else c=Error(a),Error.captureStackTrace\u0026\u0026Error.captureStackTrace(c,goog.debug.enhanceError);c.stack||(c.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var d=0;c[\"message\"+d];)++d;c[\"message\"+d]=String(b)}return c};\ngoog.debug.enhanceErrorWithContext=function(a,b){var c=goog.debug.enhanceError(a);if(b)for(var d in b)goog.debug.errorcontext.addErrorContext(c,d,b[d]);return c};\ngoog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c\u0026\u0026(!a||d\u003ca);){b.push(goog.debug.getFunctionName(c));b.push(\"()\\n\");try{c=c.caller}catch(e){b.push(\"[exception trying to get caller]\\n\");break}d++;if(d\u003e=goog.debug.MAX_STACK_DEPTH){b.push(\"[...long stack...]\");break}}a\u0026\u0026d\u003e=a?b.push(\"[...reached max depth limit...]\"):b.push(\"[end]\");return b.join(\"\")};\ngoog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};\ngoog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push(\"[...circular reference...]\");else if(a\u0026\u0026b.length\u003cgoog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+\"(\");for(var d=a.arguments,e=0;d\u0026\u0026e\u003cd.length;e++){0\u003ce\u0026\u0026c.push(\", \");var f=d[e];switch(typeof f){case \"object\":f=f?\"object\":\"null\";break;case \"string\":break;case \"number\":f=String(f);break;case \"boolean\":f=f?\"true\":\"false\";break;case \"function\":f=(f=goog.debug.getFunctionName(f))?f:\"[fn]\";break;default:f=\ntypeof f}40\u003cf.length\u0026\u0026(f=f.substr(0,40)+\"...\");c.push(f)}b.push(a);c.push(\")\\n\");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push(\"[exception trying to get caller]\\n\")}}else a?c.push(\"[...long stack...]\"):c.push(\"[end]\");return c.join(\"\")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};\ngoog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function ([^\\(]+)/.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:\"[Anonymous]\");return goog.debug.fnNameCache_[a]};\ngoog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,\"[_]\").replace(/\\f/g,\"[f]\").replace(/\\n/g,\"[n]\\n\").replace(/\\r/g,\"[r]\").replace(/\\t/g,\"[t]\")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||\"unknown type name\":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?\"null\":typeof a};goog.debug.fnNameCache_={};goog.debug.freezeInternal_=goog.DEBUG\u0026\u0026Object.freeze||function(a){return a};\ngoog.debug.freeze=function(a){return goog.debug.freezeInternal_(a)};goog.events={};$jscomp.scope.purify=function(a){return a()};\ngoog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"9\"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher(\"528\"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO\u0026\u0026goog.userAgent.isVersionOrHigher(\"1.9b\")||goog.userAgent.IE\u0026\u0026goog.userAgent.isVersionOrHigher(\"8\")||\ngoog.userAgent.OPERA\u0026\u0026goog.userAgent.isVersionOrHigher(\"9.5\")||goog.userAgent.WEBKIT\u0026\u0026goog.userAgent.isVersionOrHigher(\"528\"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO\u0026\u0026!goog.userAgent.isVersionOrHigher(\"8\")||goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"9\"),TOUCH_ENABLED:\"ontouchstart\"in goog.global||!!(goog.global.document\u0026\u0026document.documentElement\u0026\u0026\"ontouchstart\"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints\u0026\u0026!goog.global.navigator.msMaxTouchPoints),\nPOINTER_EVENTS:\"PointerEvent\"in goog.global,MSPOINTER_EVENTS:\"MSPointerEvent\"in goog.global\u0026\u0026!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)(function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},\"passive\",{get:function(){a=!0}});goog.global.addEventListener(\"test\",goog.nullFunction,b);goog.global.removeEventListener(\"test\",goog.nullFunction,b);return a})};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?\"webkit\"+a:goog.userAgent.OPERA?\"o\"+a.toLowerCase():a.toLowerCase()};\ngoog.events.EventType={CLICK:\"click\",RIGHTCLICK:\"rightclick\",DBLCLICK:\"dblclick\",MOUSEDOWN:\"mousedown\",MOUSEUP:\"mouseup\",MOUSEOVER:\"mouseover\",MOUSEOUT:\"mouseout\",MOUSEMOVE:\"mousemove\",MOUSEENTER:\"mouseenter\",MOUSELEAVE:\"mouseleave\",SELECTIONCHANGE:\"selectionchange\",SELECTSTART:\"selectstart\",WHEEL:\"wheel\",KEYPRESS:\"keypress\",KEYDOWN:\"keydown\",KEYUP:\"keyup\",BLUR:\"blur\",FOCUS:\"focus\",DEACTIVATE:\"deactivate\",FOCUSIN:goog.userAgent.IE?\"focusin\":\"DOMFocusIn\",FOCUSOUT:goog.userAgent.IE?\"focusout\":\"DOMFocusOut\",\nCHANGE:\"change\",RESET:\"reset\",SELECT:\"select\",SUBMIT:\"submit\",INPUT:\"input\",PROPERTYCHANGE:\"propertychange\",DRAGSTART:\"dragstart\",DRAG:\"drag\",DRAGENTER:\"dragenter\",DRAGOVER:\"dragover\",DRAGLEAVE:\"dragleave\",DROP:\"drop\",DRAGEND:\"dragend\",TOUCHSTART:\"touchstart\",TOUCHMOVE:\"touchmove\",TOUCHEND:\"touchend\",TOUCHCANCEL:\"touchcancel\",BEFOREUNLOAD:\"beforeunload\",CONSOLEMESSAGE:\"consolemessage\",CONTEXTMENU:\"contextmenu\",DEVICEMOTION:\"devicemotion\",DEVICEORIENTATION:\"deviceorientation\",DOMCONTENTLOADED:\"DOMContentLoaded\",\nERROR:\"error\",HELP:\"help\",LOAD:\"load\",LOSECAPTURE:\"losecapture\",ORIENTATIONCHANGE:\"orientationchange\",READYSTATECHANGE:\"readystatechange\",RESIZE:\"resize\",SCROLL:\"scroll\",UNLOAD:\"unload\",CANPLAY:\"canplay\",CANPLAYTHROUGH:\"canplaythrough\",DURATIONCHANGE:\"durationchange\",EMPTIED:\"emptied\",ENDED:\"ended\",LOADEDDATA:\"loadeddata\",LOADEDMETADATA:\"loadedmetadata\",PAUSE:\"pause\",PLAY:\"play\",PLAYING:\"playing\",RATECHANGE:\"ratechange\",SEEKED:\"seeked\",SEEKING:\"seeking\",STALLED:\"stalled\",SUSPEND:\"suspend\",TIMEUPDATE:\"timeupdate\",\nVOLUMECHANGE:\"volumechange\",WAITING:\"waiting\",SOURCEOPEN:\"sourceopen\",SOURCEENDED:\"sourceended\",SOURCECLOSED:\"sourceclosed\",ABORT:\"abort\",UPDATE:\"update\",UPDATESTART:\"updatestart\",UPDATEEND:\"updateend\",HASHCHANGE:\"hashchange\",PAGEHIDE:\"pagehide\",PAGESHOW:\"pageshow\",POPSTATE:\"popstate\",COPY:\"copy\",PASTE:\"paste\",CUT:\"cut\",BEFORECOPY:\"beforecopy\",BEFORECUT:\"beforecut\",BEFOREPASTE:\"beforepaste\",ONLINE:\"online\",OFFLINE:\"offline\",MESSAGE:\"message\",CONNECT:\"connect\",INSTALL:\"install\",ACTIVATE:\"activate\",\nFETCH:\"fetch\",FOREIGNFETCH:\"foreignfetch\",MESSAGEERROR:\"messageerror\",STATECHANGE:\"statechange\",UPDATEFOUND:\"updatefound\",CONTROLLERCHANGE:\"controllerchange\",ANIMATIONSTART:goog.events.getVendorPrefixedName_(\"AnimationStart\"),ANIMATIONEND:goog.events.getVendorPrefixedName_(\"AnimationEnd\"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_(\"AnimationIteration\"),TRANSITIONEND:goog.events.getVendorPrefixedName_(\"TransitionEnd\"),POINTERDOWN:\"pointerdown\",POINTERUP:\"pointerup\",POINTERCANCEL:\"pointercancel\",\nPOINTERMOVE:\"pointermove\",POINTEROVER:\"pointerover\",POINTEROUT:\"pointerout\",POINTERENTER:\"pointerenter\",POINTERLEAVE:\"pointerleave\",GOTPOINTERCAPTURE:\"gotpointercapture\",LOSTPOINTERCAPTURE:\"lostpointercapture\",MSGESTURECHANGE:\"MSGestureChange\",MSGESTUREEND:\"MSGestureEnd\",MSGESTUREHOLD:\"MSGestureHold\",MSGESTURESTART:\"MSGestureStart\",MSGESTURETAP:\"MSGestureTap\",MSGOTPOINTERCAPTURE:\"MSGotPointerCapture\",MSINERTIASTART:\"MSInertiaStart\",MSLOSTPOINTERCAPTURE:\"MSLostPointerCapture\",MSPOINTERCANCEL:\"MSPointerCancel\",\nMSPOINTERDOWN:\"MSPointerDown\",MSPOINTERENTER:\"MSPointerEnter\",MSPOINTERHOVER:\"MSPointerHover\",MSPOINTERLEAVE:\"MSPointerLeave\",MSPOINTERMOVE:\"MSPointerMove\",MSPOINTEROUT:\"MSPointerOut\",MSPOINTEROVER:\"MSPointerOver\",MSPOINTERUP:\"MSPointerUp\",TEXT:\"text\",TEXTINPUT:goog.userAgent.IE?\"textinput\":\"textInput\",COMPOSITIONSTART:\"compositionstart\",COMPOSITIONUPDATE:\"compositionupdate\",COMPOSITIONEND:\"compositionend\",BEFOREINPUT:\"beforeinput\",EXIT:\"exit\",LOADABORT:\"loadabort\",LOADCOMMIT:\"loadcommit\",LOADREDIRECT:\"loadredirect\",\nLOADSTART:\"loadstart\",LOADSTOP:\"loadstop\",RESPONSIVE:\"responsive\",SIZECHANGED:\"sizechanged\",UNRESPONSIVE:\"unresponsive\",VISIBILITYCHANGE:\"visibilitychange\",STORAGE:\"storage\",DOMSUBTREEMODIFIED:\"DOMSubtreeModified\",DOMNODEINSERTED:\"DOMNodeInserted\",DOMNODEREMOVED:\"DOMNodeRemoved\",DOMNODEREMOVEDFROMDOCUMENT:\"DOMNodeRemovedFromDocument\",DOMNODEINSERTEDINTODOCUMENT:\"DOMNodeInsertedIntoDocument\",DOMATTRMODIFIED:\"DOMAttrModified\",DOMCHARACTERDATAMODIFIED:\"DOMCharacterDataModified\",BEFOREPRINT:\"beforeprint\",\nAFTERPRINT:\"afterprint\"};goog.events.getPointerFallbackEventName_=function(a,b,c){return goog.events.BrowserFeature.POINTER_EVENTS?a:goog.events.BrowserFeature.MSPOINTER_EVENTS?b:c};\ngoog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,\"mousecancel\"),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,\ngoog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,goog.events.EventType.MSPOINTERENTER,\ngoog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:\"\");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key=\"\";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.pointerId=0;this.pointerType=\"\";this.event_=null;a\u0026\u0026this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);\ngoog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.PointerType={MOUSE:\"mouse\",PEN:\"pen\",TOUCH:\"touch\"};goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]);goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap;goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE});\ngoog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;e?goog.userAgent.GECKO\u0026\u0026(goog.reflect.canAccessProperty(e,\"nodeName\")||(e=null)):c==goog.events.EventType.MOUSEOVER?e=a.fromElement:c==goog.events.EventType.MOUSEOUT\u0026\u0026(e=a.toElement);this.relatedTarget=e;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=\ngoog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||\"\";this.charCode=a.charCode||(\"keypress\"==c?a.keyCode:0);this.ctrlKey=\na.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.pointerId=a.pointerId||0;this.pointerType=goog.events.BrowserEvent.getPointerType_(a);this.state=a.state;this.event_=a;a.defaultPrevented\u0026\u0026this.preventDefault()};\ngoog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:\"click\"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button\u0026goog.events.BrowserEvent.IE_BUTTON_MAP[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)\u0026\u0026!(goog.userAgent.WEBKIT\u0026\u0026goog.userAgent.MAC\u0026\u0026this.ctrlKey)};\ngoog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};\ngoog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112\u003c=a.keyCode\u0026\u0026123\u003e=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};\ngoog.events.BrowserEvent.getPointerType_=function(a){return goog.isString(a.pointerType)?a.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[a.pointerType]||\"\"};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP=\"closure_listenable_\"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING\u0026\u0026(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};\ngoog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1\u003cg?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};\ngoog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1\u003cb?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length\u0026\u0026(delete this.listeners[a],this.typeCount_--),!0):!1};\ngoog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c\u0026\u0026(a.markAsRemoved(),0==this.listeners[b].length\u0026\u0026(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a\u0026\u0026a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e\u003cd.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};\ngoog.events.ListenerMap.prototype.getListeners=function(a,b){var c=this.listeners[a.toString()],d=[];if(c)for(var e=0;e\u003cc.length;++e){var f=c[e];f.capture==b\u0026\u0026d.push(f)}return d};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a\u0026\u0026(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1\u003ce?a[e]:null};\ngoog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():\"\",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(var f=0;f\u003ca.length;++f)if(!(c\u0026\u0026a[f].type!=d||e\u0026\u0026a[f].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e\u003ca.length;++e){var f=a[e];if(!f.removed\u0026\u0026f.listener==b\u0026\u0026f.capture==!!c\u0026\u0026f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_=\"closure_lm_\"+(1E6*Math.random()|0);goog.events.onString_=\"on\";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;\ngoog.events.listen=function(a,b,c,d,e){if(d\u0026\u0026d.once)return goog.events.listenOnce(a,b,c,d,e);if(goog.isArray(b)){for(var f=0;f\u003cb.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listen(b,c,d,e)):goog.events.listen_(a,b,c,!1,d,e)};\ngoog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error(\"Invalid event type\");var g=goog.isObject(e)?!!e.capture:!!e;if(g\u0026\u0026!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail(\"Can not register capture listener in IE8-.\"),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=\nh=new goog.events.ListenerMap(a));c=h.add(b,c,d,g,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(e=g),void 0===e\u0026\u0026(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else throw Error(\"addEventListener and attachEvent are unavailable.\");goog.events.listenerCountEstimate_++;return c};\ngoog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};\ngoog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f\u003cb.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listenOnce(b,c,d,e)):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};\ngoog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f\u003cb.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=goog.isObject(d)?!!d.capture:!!d;c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};\ngoog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent\u0026\u0026b.detachEvent(goog.events.getOnString_(c),d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()\u0026\u0026(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=null)):a.markAsRemoved();return!0};\ngoog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);var c=goog.events.getListenerMap_(a);if(!c)return 0;var d=0,e=b\u0026\u0026b.toString(),f;for(f in c.listeners)if(!e||f==e)for(var g=c.listeners[f].concat(),h=0;h\u003cg.length;++h)goog.events.unlistenByKey(g[h])\u0026\u0026++d;return d};\ngoog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};\ngoog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a\u0026\u0026a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]\u0026\u0026a[c].id?b.push(c+\" = \"+a[c]+\" (\"+a[c].id+\")\"):b.push(c+\" = \"+a[c]);return b.join(\"\\n\")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};\ngoog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a\u003cb.length;a++){var f=b[a];f\u0026\u0026f.capture==c\u0026\u0026!f.removed\u0026\u0026(f=goog.events.fireListener(f,d),e=e\u0026\u0026!1!==f)}return e};\ngoog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce\u0026\u0026goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),\"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.\");return a.dispatchEvent(b)};\ngoog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};\ngoog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName(\"window.event\"),d=new goog.events.BrowserEvent(c,this),e=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);c=[];for(var f=d.currentTarget;f;f=f.parentNode)c.push(f);f=a.type;for(var g=c.length-1;!d.propagationStopped_\u0026\u00260\u003c=g;g--){d.currentTarget=c[g];var h=\ngoog.events.fireListeners_(c[g],f,!0,d);e=e\u0026\u0026h}for(g=0;!d.propagationStopped_\u0026\u0026g\u003cc.length;g++)d.currentTarget=c[g],h=goog.events.fireListeners_(c[g],f,!1,d),e=e\u0026\u0026h}}else e=goog.events.fireListener(a,d);return e}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0\u003ea.keyCode||void 0!=a.returnValue};\ngoog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+\"_\"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_=\"__closure_events_fn_\"+(1E9*Math.random()\u003e\u003e\u003e0);\ngoog.events.wrapListener=function(a){goog.asserts.assert(a,\"Listener can not be null.\");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,\"An object listener must have handleEvent method.\");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};\ngoog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};\ngoog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d\u003cgoog.events.EventTarget.MAX_ANCESTORS_,\"infinite loop\")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};\ngoog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};\ngoog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};\ngoog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e\u003ca.length;++e){var f=a[e];if(f\u0026\u0026!f.removed\u0026\u0026f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce\u0026\u0026this.unlistenByKey(f);d=!1!==g.call(h,c)\u0026\u0026d}}return d\u0026\u00260!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};\ngoog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){var c=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(c,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,\"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?\")};\ngoog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_\u0026\u00260\u003c=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)\u0026\u0026e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)\u0026\u0026e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)\u0026\u0026e));\nif(c)for(f=0;!b.propagationStopped_\u0026\u0026f\u003cc.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)\u0026\u0026e;return e};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};\ngoog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_\u0026\u0026this.enabled?(this.stop(),this.start()):this.timer_\u0026\u0026this.stop()};\ngoog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0\u003ca\u0026\u0026a\u003cthis.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_\u0026\u0026(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled\u0026\u0026(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now()))}};goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};\ngoog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_\u0026\u0026(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};goog.Timer.TICK=\"tick\";\ngoog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c\u0026\u0026(a=goog.bind(a,c));else if(a\u0026\u0026\"function\"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error(\"Invalid listener argument\");return Number(b)\u003egoog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};\ngoog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_\u0026\u0026e(Error(\"Failed to schedule timer.\"))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO\u0026\u0026!goog.userAgent.IE||goog.userAgent.IE\u0026\u0026goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO\u0026\u0026goog.userAgent.isVersionOrHigher(\"1.9.1\"),CAN_USE_INNER_TEXT:goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"9\"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,\nLEGACY_IE_RANGES:goog.userAgent.IE\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(9)};goog.dom.asserts={};goog.dom.asserts.assertIsLocation=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.Location\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.Location||!(a instanceof b.Element)),\"Argument is not a Location (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLAnchorElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLAnchorElement\u0026\u0026\"undefined\"!=typeof b.Location\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLAnchorElement||!(a instanceof b.Location||a instanceof b.Element)),\"Argument is not a HTMLAnchorElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLLinkElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLLinkElement\u0026\u0026\"undefined\"!=typeof b.Location\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLLinkElement||!(a instanceof b.Location||a instanceof b.Element)),\"Argument is not a HTMLLinkElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLImageElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLImageElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLImageElement||!(a instanceof b.Element)),\"Argument is not a HTMLImageElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLEmbedElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLEmbedElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLEmbedElement||!(a instanceof b.Element)),\"Argument is not a HTMLEmbedElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLFrameElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLFrameElement||!(a instanceof b.Element)),\"Argument is not a HTMLFrameElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLIFrameElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLIFrameElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLIFrameElement||!(a instanceof b.Element)),\"Argument is not a HTMLIFrameElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLObjectElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLObjectElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLObjectElement||!(a instanceof b.Element)),\"Argument is not a HTMLObjectElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.assertIsHTMLScriptElement=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);\"undefined\"!=typeof b.HTMLScriptElement\u0026\u0026\"undefined\"!=typeof b.Element\u0026\u0026goog.asserts.assert(a\u0026\u0026(a instanceof b.HTMLScriptElement||!(a instanceof b.Element)),\"Argument is not a HTMLScriptElement (or a non-Element mock); got: %s\",goog.dom.asserts.debugStringForType_(a))}return a};\ngoog.dom.asserts.debugStringForType_=function(a){return goog.isObject(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?\"undefined\":null===a?\"null\":typeof a};goog.dom.asserts.getWindow_=function(a){return(a=a\u0026\u0026a.ownerDocument)\u0026\u0026(a.defaultView||a.parentWindow)||goog.global};goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]};goog.string.TypedString=function(){};goog.string.Const=function(){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=\"\";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};\ngoog.string.Const.prototype.toString=function(){return\"Const{\"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+\"}\"};goog.string.Const.unwrap=function(a){if(a instanceof goog.string.Const\u0026\u0026a.constructor===goog.string.Const\u0026\u0026a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;goog.asserts.fail(\"expected object of type Const, got '\"+a+\"'\");return\"type_error:Const\"};\ngoog.string.Const.from=function(a){return goog.string.Const.create__googStringSecurityPrivate_(a)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.create__googStringSecurityPrivate_=function(a){var b=new goog.string.Const;b.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a;return b};goog.string.Const.EMPTY=goog.string.Const.from(\"\");goog.html={};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=\"\";this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(a){a=goog.string.Const.unwrap(a);return 0===a.length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};\ngoog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_};goog.DEBUG\u0026\u0026(goog.html.SafeScript.prototype.toString=function(){return\"SafeScript{\"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+\"}\"});\ngoog.html.SafeScript.unwrap=function(a){if(a instanceof goog.html.SafeScript\u0026\u0026a.constructor===goog.html.SafeScript\u0026\u0026a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;goog.asserts.fail(\"expected object of type SafeScript, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:SafeScript\"};goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a)};\ngoog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=a;return this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(\"\");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)};goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)};goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error(\"This browser doesn't seem to support blob URLs\");};\ngoog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)\u0026\u0026goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)\u0026\u0026goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()};goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1;\ngoog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(\"ar\"==goog.LOCALE.substring(0,2).toLowerCase()||\"fa\"==goog.LOCALE.substring(0,2).toLowerCase()||\"he\"==goog.LOCALE.substring(0,2).toLowerCase()||\"iw\"==goog.LOCALE.substring(0,2).toLowerCase()||\"ps\"==goog.LOCALE.substring(0,2).toLowerCase()||\"sd\"==goog.LOCALE.substring(0,2).toLowerCase()||\"ug\"==goog.LOCALE.substring(0,2).toLowerCase()||\"ur\"==goog.LOCALE.substring(0,2).toLowerCase()||\"yi\"==goog.LOCALE.substring(0,2).toLowerCase())\u0026\u0026(2==goog.LOCALE.length||\n\"-\"==goog.LOCALE.substring(2,3)||\"_\"==goog.LOCALE.substring(2,3))||3\u003c=goog.LOCALE.length\u0026\u0026\"ckb\"==goog.LOCALE.substring(0,3).toLowerCase()\u0026\u0026(3==goog.LOCALE.length||\"-\"==goog.LOCALE.substring(3,4)||\"_\"==goog.LOCALE.substring(3,4));goog.i18n.bidi.Format={LRE:\"\\u202a\",RLE:\"\\u202b\",PDF:\"\\u202c\",LRM:\"\\u200e\",RLM:\"\\u200f\"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT=\"right\";goog.i18n.bidi.LEFT=\"left\";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;\ngoog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a,b){return\"number\"==typeof a?0\u003ca?goog.i18n.bidi.Dir.LTR:0\u003ea?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_=\"A-Za-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u0300-\\u0590\\u0800-\\u1fff\\u200e\\u2c00-\\ufb1c\\ufe00-\\ufe6f\\ufefd-\\uffff\";goog.i18n.bidi.rtlChars_=\"\\u0591-\\u06ef\\u06fa-\\u07ff\\u200f\\ufb1d-\\ufdff\\ufe70-\\ufefc\";\ngoog.i18n.bidi.htmlSkipReg_=/\u003c[^\u003e]*\u003e|\u0026[^;]+;/g;goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,\"\"):a};goog.i18n.bidi.rtlCharReg_=new RegExp(\"[\"+goog.i18n.bidi.rtlChars_+\"]\");goog.i18n.bidi.ltrCharReg_=new RegExp(\"[\"+goog.i18n.bidi.ltrChars_+\"]\");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;\ngoog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=new RegExp(\"^[\"+goog.i18n.bidi.ltrChars_+\"]\");goog.i18n.bidi.rtlRe_=new RegExp(\"^[\"+goog.i18n.bidi.rtlChars_+\"]\");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)\u0026\u0026!goog.i18n.bidi.isRtlChar(a)};\ngoog.i18n.bidi.ltrDirCheckRe_=new RegExp(\"^[^\"+goog.i18n.bidi.rtlChars_+\"]*[\"+goog.i18n.bidi.ltrChars_+\"]\");goog.i18n.bidi.rtlDirCheckRe_=new RegExp(\"^[^\"+goog.i18n.bidi.ltrChars_+\"]*[\"+goog.i18n.bidi.rtlChars_+\"]\");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;\ngoog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\\/\\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)\u0026\u0026!goog.i18n.bidi.hasAnyRtl(a)};\ngoog.i18n.bidi.ltrExitDirCheckRe_=new RegExp(\"[\"+goog.i18n.bidi.ltrChars_+\"][^\"+goog.i18n.bidi.rtlChars_+\"]*$\");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp(\"[\"+goog.i18n.bidi.rtlChars_+\"][^\"+goog.i18n.bidi.ltrChars_+\"]*$\");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;\ngoog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardTextRe_=/(\\(.*?\\)+)|(\\[.*?\\]+)|(\\{.*?\\}+)|(\u003c.*?\u003e+)/g;\ngoog.i18n.bidi.guardBracketInText=function(a,b){var c=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,c+\"$\u0026\"+c)};goog.i18n.bidi.enforceRtlInHtml=function(a){return\"\u003c\"==a.charAt(0)?a.replace(/\u003c\\w+/,\"$\u0026 dir=rtl\"):\"\\n\u003cspan dir=rtl\u003e\"+a+\"\u003c/span\u003e\"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF};\ngoog.i18n.bidi.enforceLtrInHtml=function(a){return\"\u003c\"==a.charAt(0)?a.replace(/\u003c\\w+/,\"$\u0026 dir=ltr\"):\"\\n\u003cspan dir=ltr\u003e\"+a+\"\u003c/span\u003e\"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\\s*([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)\\s+([.\\d][.\\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;\ngoog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,\":$1 $4 $3 $2\").replace(goog.i18n.bidi.leftRe_,\"%%%%\").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\\u0591-\\u05f2])\"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\\u0591-\\u05f2])'/g;\ngoog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,\"$1\\u05f4\").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,\"$1\\u05f3\")};goog.i18n.bidi.wordSeparatorRe_=/\\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\\d\\u06f0-\\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4;\ngoog.i18n.bidi.estimateDirection=function(a,b){for(var c=0,d=0,e=!1,f=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g\u003cf.length;g++){var h=f[g];goog.i18n.bidi.startsWithRtl(h)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(h)?e=!0:goog.i18n.bidi.hasAnyLtr(h)?d++:goog.i18n.bidi.hasNumeralsRe_.test(h)\u0026\u0026(e=!0)}return 0==d?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:c/d\u003egoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};\ngoog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){a\u0026\u0026(b=goog.i18n.bidi.toDir(b))\u0026\u0026(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?\"rtl\":\"ltr\")};\ngoog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir=\"ltr\";break;case goog.i18n.bidi.Dir.RTL:a.dir=\"rtl\";break;default:a.removeAttribute(\"dir\")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=\"\";this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_};\ngoog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG\u0026\u0026(goog.html.TrustedResourceUrl.prototype.toString=function(){return\"TrustedResourceUrl{\"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+\"}\"});\ngoog.html.TrustedResourceUrl.unwrap=function(a){if(a instanceof goog.html.TrustedResourceUrl\u0026\u0026a.constructor===goog.html.TrustedResourceUrl\u0026\u0026a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;goog.asserts.fail(\"expected object of type TrustedResourceUrl, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:TrustedResourceUrl\"};\ngoog.html.TrustedResourceUrl.format=function(a,b){var c=goog.html.TrustedResourceUrl.format_(a,b);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(c)};\ngoog.html.TrustedResourceUrl.format_=function(a,b){var c=goog.string.Const.unwrap(a);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error(\"Invalid TrustedResourceUrl format: \"+c);return c.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(a,e){if(!Object.prototype.hasOwnProperty.call(b,e))throw Error('Found marker, \"'+e+'\", in format string, \"'+c+'\", but no valid label mapping found in args: '+JSON.stringify(b));var d=b[e];return d instanceof goog.string.Const?goog.string.Const.unwrap(d):\nencodeURIComponent(String(d))})};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^(?:https:)?\\/\\/[0-9a-z.:[\\]-]+\\/|^\\/[^\\/\\\\]|^about:blank(#|$)/i;goog.html.TrustedResourceUrl.formatWithParams=function(a,b,c){a=goog.html.TrustedResourceUrl.format_(a,b);b=/\\?/.test(a)?\"\u0026\":\"?\";for(var d in c)for(var e=goog.isArray(c[d])?c[d]:[c[d]],f=0;f\u003ce.length;f++)null!=e[f]\u0026\u0026(a+=b+encodeURIComponent(d)+\"=\"+encodeURIComponent(String(e[f])),b=\"\u0026\");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(a)};\ngoog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};goog.html.TrustedResourceUrl.fromConstants=function(a){for(var b=\"\",c=0;c\u003ca.length;c++)b+=goog.string.Const.unwrap(a[c]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};\ngoog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.TrustedResourceUrl;b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=a;return b};goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=\"\";this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeUrl.INNOCUOUS_STRING=\"about:invalid#zClosurez\";goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};\ngoog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG\u0026\u0026(goog.html.SafeUrl.prototype.toString=function(){return\"SafeUrl{\"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+\"}\"});\ngoog.html.SafeUrl.unwrap=function(a){if(a instanceof goog.html.SafeUrl\u0026\u0026a.constructor===goog.html.SafeUrl\u0026\u0026a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail(\"expected object of type SafeUrl, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:SafeUrl\"};goog.html.SafeUrl.fromConstant=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};\ngoog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\\/(?:3gpp|3gpp2|aac|midi|mp4|mpeg|ogg|x-m4a|x-wav|webm)|image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|text\\/csv|video\\/(?:mpeg|mp4|ogg|webm))$/i;goog.html.SafeUrl.fromBlob=function(a){a=goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type)?goog.fs.url.createObjectUrl(a):goog.html.SafeUrl.INNOCUOUS_STRING;return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.DATA_URL_PATTERN_=/^data:([^;,]*);base64,[a-z0-9+\\/]+=*$/i;\ngoog.html.SafeUrl.fromDataUrl=function(a){var b=a.match(goog.html.DATA_URL_PATTERN_);b=b\u0026\u0026goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b?a:goog.html.SafeUrl.INNOCUOUS_STRING)};goog.html.SafeUrl.fromTelUrl=function(a){goog.string.caseInsensitiveStartsWith(a,\"tel:\")||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.fromTrustedResourceUrl=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(a))};\ngoog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;goog.html.SafeUrl.sanitize=function(a){if(a instanceof goog.html.SafeUrl)return a;a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.html.SAFE_URL_PATTERN_.test(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};\ngoog.html.SafeUrl.sanitizeAssertUnchanged=function(a){if(a instanceof goog.html.SafeUrl)return a;a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(a))||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};\ngoog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.SafeUrl;b.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;return b};goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(\"about:blank\");goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=\"\";this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};\ngoog.html.SafeStyle.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(a);goog.asserts.assert(goog.string.endsWith(a,\";\"),\"Last character of style string is not ';': \"+a);goog.asserts.assert(goog.string.contains(a,\":\"),\"Style string must contain at least one ':', to specify a \\\"name: value\\\" pair: \"+a);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};\ngoog.html.SafeStyle.checkStyle_=function(a){goog.asserts.assert(!/[\u003c\u003e]/.test(a),\"Forbidden characters in style string: \"+a)};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG\u0026\u0026(goog.html.SafeStyle.prototype.toString=function(){return\"SafeStyle{\"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+\"}\"});\ngoog.html.SafeStyle.unwrap=function(a){if(a instanceof goog.html.SafeStyle\u0026\u0026a.constructor===goog.html.SafeStyle\u0026\u0026a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;goog.asserts.fail(\"expected object of type SafeStyle, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:SafeStyle\"};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)};\ngoog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a;return this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(\"\");goog.html.SafeStyle.INNOCUOUS_STRING=\"zClosurez\";\ngoog.html.SafeStyle.create=function(a){var b=\"\",c;for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error(\"Name allows only [-_a-zA-Z0-9], got: \"+c);var d=a[c];null!=d\u0026\u0026(d=goog.isArray(d)?goog.array.map(d,goog.html.SafeStyle.sanitizePropertyValue_).join(\" \"):goog.html.SafeStyle.sanitizePropertyValue_(d),b+=c+\":\"+d+\";\")}if(!b)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(b);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.SafeStyle.sanitizePropertyValue_=function(a){if(a instanceof goog.html.SafeUrl)return'url(\"'+goog.html.SafeUrl.unwrap(a).replace(/\u003c/g,\"%3c\").replace(/[\\\\\"]/g,\"\\\\$\u0026\")+'\")';a=a instanceof goog.string.Const?goog.string.Const.unwrap(a):goog.html.SafeStyle.sanitizePropertyValueString_(String(a));goog.asserts.assert(!/[{;}]/.test(a),\"Value does not allow [{;}].\");return a};\ngoog.html.SafeStyle.sanitizePropertyValueString_=function(a){var b=a.replace(goog.html.SafeUrl.FUNCTIONS_RE_,\"$1\").replace(goog.html.SafeUrl.URL_RE_,\"url\");return goog.html.SafeStyle.VALUE_RE_.test(b)?goog.html.SafeStyle.hasBalancedQuotes_(a)?goog.html.SafeStyle.sanitizeUrl_(a):(goog.asserts.fail(\"String value requires balanced quotes, got: \"+a),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail(\"String value allows only \"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+\" and simple functions, got: \"+\na),goog.html.SafeStyle.INNOCUOUS_STRING)};goog.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d\u003ca.length;d++){var e=a.charAt(d);\"'\"==e\u0026\u0026c?b=!b:'\"'==e\u0026\u0026b\u0026\u0026(c=!c)}return b\u0026\u0026c};goog.html.SafeStyle.VALUE_ALLOWED_CHARS_=\"[-,.\\\"'%_!# a-zA-Z0-9]\";goog.html.SafeStyle.VALUE_RE_=new RegExp(\"^\"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+\"+$\");goog.html.SafeUrl.URL_RE_=RegExp(\"\\\\b(url\\\\([ \\t\\n]*)('[ -\u0026(-\\\\[\\\\]-~]*'|\\\"[ !#-\\\\[\\\\]-~]*\\\"|[!#-\u0026*-\\\\[\\\\]-~]*)([ \\t\\n]*\\\\))\",\"g\");\ngoog.html.SafeUrl.FUNCTIONS_RE_=RegExp(\"\\\\b(hsl|hsla|rgb|rgba|(rotate|scale|translate)(X|Y|Z|3d)?)\\\\([-0-9a-z.%, ]+\\\\)\",\"g\");goog.html.SafeStyle.sanitizeUrl_=function(a){return a.replace(goog.html.SafeUrl.URL_RE_,function(a,c,d,e){var b=\"\";d=d.replace(/^(['\"])(.*)\\1$/,function(a,c,d){b=c;return d});a=goog.html.SafeUrl.sanitize(d).getTypedStringValue();return c+b+a+b+e})};\ngoog.html.SafeStyle.concat=function(a){var b=\"\",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyle.unwrap(a)};goog.array.forEach(arguments,c);return b?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):goog.html.SafeStyle.EMPTY};goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=\"\";this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};\ngoog.html.SafeStyleSheet.createRule=function(a,b){if(goog.string.contains(a,\"\u003c\"))throw Error(\"Selector does not allow '\u003c', got: \"+a);var c=a.replace(/('|\")((?!\\1)[^\\r\\n\\f\\\\]|\\\\[\\s\\S])*\\1/g,\"\");if(!/^[-_a-zA-Z0-9#.:* ,\u003e+~[\\]()=^$|]+$/.test(c))throw Error(\"Selector allows only [-_a-zA-Z0-9#.:* ,\u003e+~[\\\\]()=^$|] and strings, got: \"+a);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(c))throw Error(\"() and [] in selector must be balanced, got: \"+a);b instanceof goog.html.SafeStyle||(b=goog.html.SafeStyle.create(b));\nc=a+\"{\"+goog.html.SafeStyle.unwrap(b)+\"}\";return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(c)};goog.html.SafeStyleSheet.hasBalancedBrackets_=function(a){for(var b={\"(\":\")\",\"[\":\"]\"},c=[],d=0;d\u003ca.length;d++){var e=a[d];if(b[e])c.push(b[e]);else if(goog.object.contains(b,e)\u0026\u0026c.pop()!=e)return!1}return 0==c.length};\ngoog.html.SafeStyleSheet.concat=function(a){var b=\"\",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyleSheet.unwrap(a)};goog.array.forEach(arguments,c);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.SafeStyleSheet.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyleSheet.EMPTY;goog.asserts.assert(!goog.string.contains(a,\"\u003c\"),\"Forbidden '\u003c' character in style sheet string: \"+a);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};\ngoog.DEBUG\u0026\u0026(goog.html.SafeStyleSheet.prototype.toString=function(){return\"SafeStyleSheet{\"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+\"}\"});\ngoog.html.SafeStyleSheet.unwrap=function(a){if(a instanceof goog.html.SafeStyleSheet\u0026\u0026a.constructor===goog.html.SafeStyleSheet\u0026\u0026a.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;goog.asserts.fail(\"expected object of type SafeStyleSheet, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:SafeStyleSheet\"};\ngoog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(a)};goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=a;return this};goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(\"\");goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=\"\";this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;this.dir_=null};goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_};goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};\ngoog.DEBUG\u0026\u0026(goog.html.SafeHtml.prototype.toString=function(){return\"SafeHtml{\"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+\"}\"});\ngoog.html.SafeHtml.unwrap=function(a){if(a instanceof goog.html.SafeHtml\u0026\u0026a.constructor===goog.html.SafeHtml\u0026\u0026a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail(\"expected object of type SafeHtml, got '\"+a+\"' of type \"+goog.typeOf(a));return\"type_error:SafeHtml\"};\ngoog.html.SafeHtml.htmlEscape=function(a){if(a instanceof goog.html.SafeHtml)return a;var b=null;a.implementsGoogI18nBidiDirectionalString\u0026\u0026(b=a.getDirection());a=a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.htmlEscape(a),b)};\ngoog.html.SafeHtml.htmlEscapePreservingNewlines=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.newLineToBr(goog.html.SafeHtml.unwrap(a)),a.getDirection())};\ngoog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.whitespaceEscape(goog.html.SafeHtml.unwrap(a)),a.getDirection())};goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape;goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;\ngoog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.html.SafeHtml.create=function(a,b,c){goog.html.SafeHtml.verifyTagName(String(a));return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(a),b,c)};\ngoog.html.SafeHtml.verifyTagName=function(a){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error(\"Invalid tag name \u003c\"+a+\"\u003e.\");if(a.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(\"Tag name \u003c\"+a+\"\u003e is not allowed for SafeHtml.\");};\ngoog.html.SafeHtml.createIframe=function(a,b,c,d){a\u0026\u0026goog.html.TrustedResourceUrl.unwrap(a);var e={};e.src=a||null;e.srcdoc=b\u0026\u0026goog.html.SafeHtml.unwrap(b);a=goog.html.SafeHtml.combineAttributes(e,{sandbox:\"\"},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"iframe\",a,d)};\ngoog.html.SafeHtml.createSandboxIframe=function(a,b,c,d){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error(\"The browser does not support sandboxed iframes.\");var e={};e.src=a?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a)):null;e.srcdoc=b||null;e.sandbox=\"\";a=goog.html.SafeHtml.combineAttributes(e,{},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"iframe\",a,d)};\ngoog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement\u0026\u0026\"sandbox\"in goog.global.HTMLIFrameElement.prototype};goog.html.SafeHtml.createScriptSrc=function(a,b){goog.html.TrustedResourceUrl.unwrap(a);var c=goog.html.SafeHtml.combineAttributes({src:a},{},b);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"script\",c)};\ngoog.html.SafeHtml.createScript=function(a,b){for(var c in b){var d=c.toLowerCase();if(\"language\"==d||\"src\"==d||\"text\"==d||\"type\"==d)throw Error('Cannot set \"'+d+'\" attribute');}c=\"\";a=goog.array.concat(a);for(d=0;d\u003ca.length;d++)c+=goog.html.SafeScript.unwrap(a[d]);c=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"script\",b,c)};\ngoog.html.SafeHtml.createStyle=function(a,b){var c=goog.html.SafeHtml.combineAttributes({type:\"text/css\"},{},b),d=\"\";a=goog.array.concat(a);for(var e=0;e\u003ca.length;e++)d+=goog.html.SafeStyleSheet.unwrap(a[e]);d=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"style\",c,d)};\ngoog.html.SafeHtml.createMetaRefresh=function(a,b){var c=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a));(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())\u0026\u0026goog.string.contains(c,\";\")\u0026\u0026(c=\"'\"+c.replace(/'/g,\"%27\")+\"'\");return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\"meta\",{\"http-equiv\":\"refresh\",content:(b||0)+\"; url=\"+c})};\ngoog.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof goog.string.Const)c=goog.string.Const.unwrap(c);else if(\"style\"==b.toLowerCase())c=goog.html.SafeHtml.getStyleValue_(c);else{if(/^on/i.test(b))throw Error('Attribute \"'+b+'\" requires goog.string.Const value, \"'+c+'\" given.');if(b.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof goog.html.TrustedResourceUrl)c=goog.html.TrustedResourceUrl.unwrap(c);else if(c instanceof goog.html.SafeUrl)c=goog.html.SafeUrl.unwrap(c);\nelse if(goog.isString(c))c=goog.html.SafeUrl.sanitize(c).getTypedStringValue();else throw Error('Attribute \"'+b+'\" on tag \"'+a+'\" requires goog.html.SafeUrl, goog.string.Const, or string, value \"'+c+'\" given.');}c.implementsGoogStringTypedString\u0026\u0026(c=c.getTypedStringValue());goog.asserts.assert(goog.isString(c)||goog.isNumber(c),\"String or number value expected, got \"+typeof c+\" with value: \"+c);return b+'=\"'+goog.string.htmlEscape(String(c))+'\"'};\ngoog.html.SafeHtml.getStyleValue_=function(a){if(!goog.isObject(a))throw Error('The \"style\" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+\" given: \"+a);a instanceof goog.html.SafeStyle||(a=goog.html.SafeStyle.create(a));return goog.html.SafeStyle.unwrap(a)};goog.html.SafeHtml.createWithDir=function(a,b,c,d){b=goog.html.SafeHtml.create(b,c,d);b.dir_=a;return b};\ngoog.html.SafeHtml.concat=function(a){var b=goog.i18n.bidi.Dir.NEUTRAL,c=\"\",d=function(a){goog.isArray(a)?goog.array.forEach(a,d):(a=goog.html.SafeHtml.htmlEscape(a),c+=goog.html.SafeHtml.unwrap(a),a=a.getDirection(),b==goog.i18n.bidi.Dir.NEUTRAL?b=a:a!=goog.i18n.bidi.Dir.NEUTRAL\u0026\u0026b!=a\u0026\u0026(b=null))};goog.array.forEach(arguments,d);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,b)};\ngoog.html.SafeHtml.concatWithDir=function(a,b){var c=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));c.dir_=a;return c};goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(a,b)};goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a,b){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;this.dir_=b;return this};\ngoog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null;var e=\"\u003c\"+a+goog.html.SafeHtml.stringifyAttributes(a,b);goog.isDefAndNotNull(c)?goog.isArray(c)||(c=[c]):c=[];goog.dom.tags.isVoidTag(a.toLowerCase())?(goog.asserts.assert(!c.length,\"Void tag \u003c\"+a+\"\u003e does not allow content.\"),e+=\"\u003e\"):(d=goog.html.SafeHtml.concat(c),e+=\"\u003e\"+goog.html.SafeHtml.unwrap(d)+\"\u003c/\"+a+\"\u003e\",d=d.getDirection());(a=b\u0026\u0026b.dir)\u0026\u0026(d=/^(ltr|rtl|auto)$/i.test(a)?goog.i18n.bidi.Dir.NEUTRAL:\nnull);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,d)};goog.html.SafeHtml.stringifyAttributes=function(a,b){var c=\"\";if(b)for(var d in b){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(d))throw Error('Invalid attribute name \"'+d+'\".');var e=b[d];goog.isDefAndNotNull(e)\u0026\u0026(c+=\" \"+goog.html.SafeHtml.getAttrNameAndValue_(a,d,e))}return c};\ngoog.html.SafeHtml.combineAttributes=function(a,b,c){var d={},e;for(e in a)goog.asserts.assert(e.toLowerCase()==e,\"Must be lower case\"),d[e]=a[e];for(e in b)goog.asserts.assert(e.toLowerCase()==e,\"Must be lower case\"),d[e]=b[e];for(e in c){var f=e.toLowerCase();if(f in a)throw Error('Cannot override \"'+f+'\" attribute, got \"'+e+'\" with value \"'+c[e]+'\"');f in b\u0026\u0026delete d[f];d[e]=c[e]}return d};\ngoog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\"\u003c!DOCTYPE html\u003e\",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\"\",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\"\u003cbr\u003e\",goog.i18n.bidi.Dir.NEUTRAL);goog.dom.safe={};goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:\"afterbegin\",AFTEREND:\"afterend\",BEFOREBEGIN:\"beforebegin\",BEFOREEND:\"beforeend\"};goog.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,goog.html.SafeHtml.unwrap(c))};goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};\ngoog.dom.safe.setInnerHtml=function(a,b){if(goog.asserts.ENABLE_ASSERTS){var c=a.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[c])throw Error(\"goog.dom.safe.setInnerHtml cannot be used to set content of \"+a.tagName+\".\");}a.innerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setOuterHtml=function(a,b){a.outerHTML=goog.html.SafeHtml.unwrap(b)};goog.dom.safe.setStyle=function(a,b){a.style.cssText=goog.html.SafeStyle.unwrap(b)};goog.dom.safe.documentWrite=function(a,b){a.write(goog.html.SafeHtml.unwrap(b))};\ngoog.dom.safe.setAnchorHref=function(a,b){goog.dom.asserts.assertIsHTMLAnchorElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setImageSrc=function(a,b){goog.dom.asserts.assertIsHTMLImageElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.src=goog.html.SafeUrl.unwrap(c)};\ngoog.dom.safe.setEmbedSrc=function(a,b){goog.dom.asserts.assertIsHTMLEmbedElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setFrameSrc=function(a,b){goog.dom.asserts.assertIsHTMLFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrcdoc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.srcdoc=goog.html.SafeHtml.unwrap(b)};\ngoog.dom.safe.setLinkHrefAndRel=function(a,b,c){goog.dom.asserts.assertIsHTMLLinkElement(a);a.rel=c;goog.string.caseInsensitiveContains(c,\"stylesheet\")?(goog.asserts.assert(b instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because \"rel\" contains \"stylesheet\"'),a.href=goog.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(b):b instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(b):goog.html.SafeUrl.sanitizeAssertUnchanged(b).getTypedStringValue()};\ngoog.dom.safe.setObjectData=function(a,b){goog.dom.asserts.assertIsHTMLObjectElement(a);a.data=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptSrc=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptContent=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.text=goog.html.SafeScript.unwrap(b)};\ngoog.dom.safe.setLocationHref=function(a,b){goog.dom.asserts.assertIsLocation(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.openInWindow=function(a,b,c,d,e){a=a instanceof goog.html.SafeUrl?a:goog.html.SafeUrl.sanitizeAssertUnchanged(a);return(b||window).open(goog.html.SafeUrl.unwrap(a),c?goog.string.Const.unwrap(c):\"\",d,e)};goog.html.uncheckedconversions={};goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(a,b,c){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b,c||null)};\ngoog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};\ngoog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),\"must provide justification\");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),\"must provide non-empty justification\");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:a\u0026\u0026b?a.width==b.width\u0026\u0026a.height==b.height:!1};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG\u0026\u0026(goog.math.Size.prototype.toString=function(){return\"(\"+this.width+\" x \"+this.height+\")\"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};\ngoog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)};goog.math.Size.prototype.area=function(){return this.width*this.height};goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)};goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height};goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};\ngoog.math.Size.prototype.fitsInside=function(a){return this.width\u003c=a.width\u0026\u0026this.height\u003c=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Size.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.width*=a;this.height*=c;return this};\ngoog.math.Size.prototype.scaleToCover=function(a){a=this.aspectRatio()\u003c=a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.math.Size.prototype.scaleToFit=function(a){a=this.aspectRatio()\u003ea.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)};\ngoog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b};goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)};goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);var c=goog.dom.getElementHelper_(a,b);return c=goog.asserts.assertElement(c,\"No element found with id: \"+b)};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagName=function(a,b){return(b||document).getElementsByTagName(String(a))};\ngoog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};goog.dom.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(document,a,b,c)};goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll(\".\"+a):goog.dom.getElementsByTagNameAndClass_(document,\"*\",a,b)};\ngoog.dom.getElementByClass=function(a,b){var c=b||document;return(c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.getElementByTagNameAndClass_(document,\"*\",a,b))||null};goog.dom.getRequiredElementByClass=function(a,b){var c=goog.dom.getElementByClass(a,b);return goog.asserts.assert(c,\"No element found with className: \"+a)};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};\ngoog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b\u0026\u0026\"*\"!=b?String(b).toUpperCase():\"\";if(goog.dom.canUseQuerySelector_(a)\u0026\u0026(b||c))return a.querySelectorAll(b+(c?\".\"+c:\"\"));if(c\u0026\u0026a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName\u0026\u0026(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||\"*\");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,\"function\"==typeof b.split\u0026\u0026goog.array.contains(b.split(/\\s+/),c)\u0026\u0026(d[e++]=g);\nd.length=e;return d}return a};goog.dom.getElementByTagNameAndClass_=function(a,b,c,d){var e=d||a,f=b\u0026\u0026\"*\"!=b?String(b).toUpperCase():\"\";return goog.dom.canUseQuerySelector_(e)\u0026\u0026(f||c)?e.querySelector(f+(c?\".\"+c:\"\")):goog.dom.getElementsByTagNameAndClass_(a,b,c,d)[0]||null};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;\ngoog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){b\u0026\u0026b.implementsGoogStringTypedString\u0026\u0026(b=b.getTypedStringValue());\"style\"==d?a.style.cssText=b:\"class\"==d?a.className=b:\"for\"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,\"aria-\")||goog.string.startsWith(d,\"data-\")?a.setAttribute(d,b):a[d]=b})};\ngoog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:\"cellPadding\",cellspacing:\"cellSpacing\",colspan:\"colSpan\",frameborder:\"frameBorder\",height:\"height\",maxlength:\"maxLength\",nonce:\"nonce\",role:\"role\",rowspan:\"rowSpan\",type:\"type\",usemap:\"useMap\",valign:\"vAlign\",width:\"width\"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};\ngoog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeightForWindow=function(a){return goog.dom.getDocumentHeight_(a)};\ngoog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){c=b.body;var d=b.documentElement;if(!d||!c)return 0;a=goog.dom.getViewportSize_(a).height;if(goog.dom.isCss1CompatMode_(b)\u0026\u0026d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;d.clientHeight!=e\u0026\u0026(b=c.scrollHeight,e=c.offsetHeight);c=b\u003ea?b\u003ee?b:e:b\u003ce?b:e}}return c};goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};\ngoog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);a=goog.dom.getWindow_(a);return goog.userAgent.IE\u0026\u0026goog.userAgent.isVersionOrHigher(\"10\")\u0026\u0026a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};\ngoog.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!goog.userAgent.WEBKIT\u0026\u0026goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};\ngoog.dom.createDom_=function(a,b){var c=String(b[0]),d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES\u0026\u0026d\u0026\u0026(d.name||d.type)){c=[\"\u003c\",c];d.name\u0026\u0026c.push(' name=\"',goog.string.htmlEscape(d.name),'\"');if(d.type){c.push(' type=\"',goog.string.htmlEscape(d.type),'\"');var e={};goog.object.extend(e,d);delete e.type;d=e}c.push(\"\u003e\");c=c.join(\"\")}c=a.createElement(c);d\u0026\u0026(goog.isString(d)?c.className=d:goog.isArray(d)?c.className=d.join(\" \"):goog.dom.setProperties(c,d));2\u003cb.length\u0026\u0026goog.dom.append_(a,\nc,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c\u0026\u0026b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d\u003cc.length;d++){var f=c[d];goog.isArrayLike(f)\u0026\u0026!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return goog.dom.createElement_(document,a)};goog.dom.createElement_=function(a,b){return a.createElement(String(b))};goog.dom.createTextNode=function(a){return document.createTextNode(String(a))};\ngoog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=goog.dom.createElement_(a,\"TABLE\"),f=e.appendChild(goog.dom.createElement_(a,\"TBODY\")),g=0;g\u003cb;g++){for(var h=goog.dom.createElement_(a,\"TR\"),k=0;k\u003cc;k++){var m=goog.dom.createElement_(a,\"TD\");d\u0026\u0026goog.dom.setTextContent(m,goog.string.Unicode.NBSP);h.appendChild(m)}f.appendChild(h)}return e};\ngoog.dom.constHtmlToNode=function(a){var b=goog.array.map(arguments,goog.string.Const.unwrap);b=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\"Constant HTML string, that gets turned into a Node later, so it will be automatically balanced.\"),b.join(\"\"));return goog.dom.safeHtmlToNode(b)};goog.dom.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(document,a)};\ngoog.dom.safeHtmlToNode_=function(a,b){var c=goog.dom.createElement_(a,\"DIV\");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,b)),c.removeChild(c.firstChild)):goog.dom.safe.setInnerHtml(c,b);return goog.dom.childrenToNode_(a,c)};goog.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(b.firstChild);for(var c=a.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);return c};\ngoog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:\"CSS1Compat\"==a.compatMode};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case \"APPLET\":case \"AREA\":case \"BASE\":case \"BR\":case \"COL\":case \"COMMAND\":case \"EMBED\":case \"FRAME\":case \"HR\":case \"IMG\":case \"INPUT\":case \"IFRAME\":case \"ISINDEX\":case \"KEYGEN\":case \"LINK\":case \"NOFRAMES\":case \"NOSCRIPT\":case \"META\":case \"OBJECT\":case \"PARAM\":case \"SCRIPT\":case \"SOURCE\":case \"STYLE\":case \"TRACK\":case \"WBR\":return!1}return!0};\ngoog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode\u0026\u0026b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode\u0026\u0026b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};\ngoog.dom.removeNode=function(a){return a\u0026\u0026a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c\u0026\u0026c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c\u0026\u0026c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};\ngoog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE\u0026\u0026void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return goog.isDef(a.firstElementChild)?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)};goog.dom.getLastElementChild=function(a){return goog.isDef(a.lastElementChild)?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)};\ngoog.dom.getNextElementSibling=function(a){return goog.isDef(a.nextElementSibling)?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.getPreviousElementSibling=function(a){return goog.isDef(a.previousElementSibling)?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)};goog.dom.getNextElementNode_=function(a,b){for(;a\u0026\u0026a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};\ngoog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a\u0026\u0026!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a\u0026\u0026a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)\u0026\u00260\u003ca.nodeType};goog.dom.isElement=function(a){return goog.isObject(a)\u0026\u0026a.nodeType==goog.dom.NodeType.ELEMENT};\ngoog.dom.isWindow=function(a){return goog.isObject(a)\u0026\u0026a.window==a};goog.dom.getParentElement=function(a){var b;if(goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY\u0026\u0026!(goog.userAgent.IE\u0026\u0026goog.userAgent.isVersionOrHigher(\"9\")\u0026\u0026!goog.userAgent.isVersionOrHigher(\"10\")\u0026\u0026goog.global.SVGElement\u0026\u0026a instanceof goog.global.SVGElement)\u0026\u0026(b=a.parentElement))return b;b=a.parentNode;return goog.dom.isElement(b)?b:null};\ngoog.dom.contains=function(a,b){if(!a||!b)return!1;if(a.contains\u0026\u0026b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if(\"undefined\"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)\u002616);for(;b\u0026\u0026a!=b;)b=b.parentNode;return b==a};\ngoog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)\u00262?1:-1;if(goog.userAgent.IE\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if(\"sourceIndex\"in a||a.parentNode\u0026\u0026\"sourceIndex\"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c\u0026\u0026d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,\nf=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c\u0026\u0026goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d\u0026\u0026goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)};\ngoog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};\ngoog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b\u003cc;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b\u003ce;b++){g=d[0][b];for(var h=1;h\u003cc;h++)if(g!=d[h][b])return f;f=g}return f};goog.dom.getOwnerDocument=function(a){goog.asserts.assert(a,\"Node cannot be null or undefined.\");return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};\ngoog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){try{return a.contentWindow||(a.contentDocument?goog.dom.getWindow(a.contentDocument):null)}catch(b){}return null};\ngoog.dom.setTextContent=function(a,b){goog.asserts.assert(null!=a,\"goog.dom.setTextContent expects a non-null value for node\");if(\"textContent\"in a)a.textContent=b;else if(a.nodeType==goog.dom.NodeType.TEXT)a.data=String(b);else if(a.firstChild\u0026\u0026a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};\ngoog.dom.getOuterHtml=function(a){goog.asserts.assert(null!==a,\"goog.dom.getOuterHtml expects a non-null value for element\");if(\"outerHTML\"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a);b=goog.dom.createElement_(b,\"DIV\");b.appendChild(a.cloneNode(!0));return b.innerHTML};goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,!1);return c};\ngoog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)\u0026\u0026(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:\" \",BR:\"\\n\"};goog.dom.isFocusableTabIndex=function(a){return goog.dom.hasSpecifiedTabIndex_(a)\u0026\u0026goog.dom.isTabIndexFocusable_(a)};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute(\"tabIndex\"))};\ngoog.dom.isFocusable=function(a){var b;return(b=goog.dom.nativelySupportsFocus_(a)?!a.disabled\u0026\u0026(!goog.dom.hasSpecifiedTabIndex_(a)||goog.dom.isTabIndexFocusable_(a)):goog.dom.isFocusableTabIndex(a))\u0026\u0026goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(a):b};goog.dom.hasSpecifiedTabIndex_=function(a){return goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"9\")?(a=a.getAttributeNode(\"tabindex\"),goog.isDefAndNotNull(a)\u0026\u0026a.specified):a.hasAttribute(\"tabindex\")};\ngoog.dom.isTabIndexFocusable_=function(a){a=a.tabIndex;return goog.isNumber(a)\u0026\u00260\u003c=a\u0026\u002632768\u003ea};goog.dom.nativelySupportsFocus_=function(a){return\"A\"==a.tagName||\"INPUT\"==a.tagName||\"TEXTAREA\"==a.tagName||\"SELECT\"==a.tagName||\"BUTTON\"==a.tagName};goog.dom.hasNonZeroBoundingRect_=function(a){a=!goog.isFunction(a.getBoundingClientRect)||goog.userAgent.IE\u0026\u0026null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return goog.isDefAndNotNull(a)\u0026\u00260\u003ca.height\u0026\u00260\u003ca.width};\ngoog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT\u0026\u0026null!==a\u0026\u0026\"innerText\"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0);a=b.join(\"\")}a=a.replace(/ \\xAD /g,\" \").replace(/\\xAD/g,\"\");a=a.replace(/\\u200B/g,\"\");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g,\" \"));\" \"!=a\u0026\u0026(a=a.replace(/^\\s*/,\"\"));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join(\"\")};\ngoog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\\r\\n|\\r|\\n)/g,\"\")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};\ngoog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a\u0026\u0026a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join(\"\")).replace(/ +/g,\" \").length};\ngoog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0\u003ca.length\u0026\u0026d\u003cb;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\\r\\n|\\r|\\n)/g,\"\").replace(/ +/g,\" \");d+=f.length}else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0\u003c=f;f--)a.push(e.childNodes[f]);goog.isObject(c)\u0026\u0026(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};\ngoog.dom.isNodeList=function(a){if(a\u0026\u0026\"number\"==typeof a.length){if(goog.isObject(a))return\"function\"==typeof a.item||\"string\"==typeof a.item;if(goog.isFunction(a))return\"function\"==typeof a.item}return!1};goog.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b\u0026\u0026!c)return null;var e=b?String(b).toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!e||a.nodeName==e)\u0026\u0026(!c||goog.isString(a.className)\u0026\u0026goog.array.contains(a.className.split(/\\s+/),c))},!0,d)};\ngoog.dom.getAncestorByClass=function(a,b,c){return goog.dom.getAncestorByTagNameAndClass(a,null,b,c)};goog.dom.getAncestor=function(a,b,c,d){a\u0026\u0026!c\u0026\u0026(a=a.parentNode);for(c=0;a\u0026\u0026(null==d||c\u003c=d);){goog.asserts.assert(\"parentNode\"!=a.name);if(b(a))return a;a=a.parentNode;c++}return null};goog.dom.getActiveElement=function(a){try{return a\u0026\u0026a.activeElement}catch(b){}return null};\ngoog.dom.getPixelRatio=function(){var a=goog.dom.getWindow();return goog.isDef(a.devicePixelRatio)?a.devicePixelRatio:a.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1};goog.dom.matchesPixelRatio_=function(a){return goog.dom.getWindow().matchMedia(\"(min-resolution: \"+a+\"dppx),(min--moz-device-pixel-ratio: \"+a+\"),(min-resolution: \"+96*a+\"dpi)\").matches?a:0};goog.dom.getCanvasContext2D=function(a){return a.getContext(\"2d\")};\ngoog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.dom.getElementHelper_(this.document_,a)};\ngoog.dom.DomHelper.prototype.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(this.document_,a)};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagName=function(a,b){return(b||this.document_).getElementsByTagName(String(a))};goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};\ngoog.dom.DomHelper.prototype.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(this.document_,a,b,c)};goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getRequiredElementByClass=function(a,b){return goog.dom.getRequiredElementByClass(a,b||this.document_)};\ngoog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};\ngoog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return goog.dom.createElement_(this.document_,a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))};goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(this.document_,a)};\ngoog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};\ngoog.dom.DomHelper.prototype.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren;goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore;goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter;\ngoog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt;goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode;goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren;goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild;\ngoog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling;goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling;goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.isElement=goog.dom.isElement;goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow;\ngoog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder;goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument;goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument;goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow;\ngoog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex;goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex;goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable;\ngoog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset;goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList;goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;\ngoog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D;goog.color={};\ngoog.color.names={aliceblue:\"#f0f8ff\",antiquewhite:\"#faebd7\",aqua:\"#00ffff\",aquamarine:\"#7fffd4\",azure:\"#f0ffff\",beige:\"#f5f5dc\",bisque:\"#ffe4c4\",black:\"#000000\",blanchedalmond:\"#ffebcd\",blue:\"#0000ff\",blueviolet:\"#8a2be2\",brown:\"#a52a2a\",burlywood:\"#deb887\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cyan:\"#00ffff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",darkgreen:\"#006400\",\ndarkgrey:\"#a9a9a9\",darkkhaki:\"#bdb76b\",darkmagenta:\"#8b008b\",darkolivegreen:\"#556b2f\",darkorange:\"#ff8c00\",darkorchid:\"#9932cc\",darkred:\"#8b0000\",darksalmon:\"#e9967a\",darkseagreen:\"#8fbc8f\",darkslateblue:\"#483d8b\",darkslategray:\"#2f4f4f\",darkslategrey:\"#2f4f4f\",darkturquoise:\"#00ced1\",darkviolet:\"#9400d3\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1e90ff\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#ff00ff\",gainsboro:\"#dcdcdc\",\nghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gray:\"#808080\",green:\"#008000\",greenyellow:\"#adff2f\",grey:\"#808080\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",\nlightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslategray:\"#778899\",lightslategrey:\"#778899\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#00ff00\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#ff00ff\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370db\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",\nmoccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#db7093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",red:\"#ff0000\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",\nseashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",steelblue:\"#4682b4\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",tomato:\"#ff6347\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",wheat:\"#f5deb3\",white:\"#ffffff\",whitesmoke:\"#f5f5f5\",yellow:\"#ffff00\",yellowgreen:\"#9acd32\"};goog.color.parse=function(a){var b={};a=String(a);var c=goog.color.prependHashIfNecessaryHelper(a);if(goog.color.isValidHexColor_(c))return b.hex=goog.color.normalizeHex(c),b.type=\"hex\",b;c=goog.color.isValidRgbColor_(a);if(c.length)return b.hex=goog.color.rgbArrayToHex(c),b.type=\"rgb\",b;if(goog.color.names\u0026\u0026(c=goog.color.names[a.toLowerCase()]))return b.hex=c,b.type=\"named\",b;throw Error(a+\" is not a valid color string\");};\ngoog.color.isValidColor=function(a){var b=goog.color.prependHashIfNecessaryHelper(a);return!!(goog.color.isValidHexColor_(b)||goog.color.isValidRgbColor_(a).length||goog.color.names\u0026\u0026goog.color.names[a.toLowerCase()])};goog.color.parseRgb=function(a){var b=goog.color.isValidRgbColor_(a);if(!b.length)throw Error(a+\" is not a valid RGB color\");return b};goog.color.hexToRgbStyle=function(a){return goog.color.rgbStyle_(goog.color.hexToRgb(a))};goog.color.hexTripletRe_=/#(.)(.)(.)/;\ngoog.color.normalizeHex=function(a){if(!goog.color.isValidHexColor_(a))throw Error(\"'\"+a+\"' is not a valid hex color\");4==a.length\u0026\u0026(a=a.replace(goog.color.hexTripletRe_,\"#$1$1$2$2$3$3\"));return a.toLowerCase()};goog.color.hexToRgb=function(a){a=goog.color.normalizeHex(a);var b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16);a=parseInt(a.substr(5,2),16);return[b,c,a]};\ngoog.color.rgbToHex=function(a,b,c){a=Number(a);b=Number(b);c=Number(c);if(a!=(a\u0026255)||b!=(b\u0026255)||c!=(c\u0026255))throw Error('\"('+a+\",\"+b+\",\"+c+'\") is not a valid RGB color');a=goog.color.prependZeroIfNecessaryHelper(a.toString(16));b=goog.color.prependZeroIfNecessaryHelper(b.toString(16));c=goog.color.prependZeroIfNecessaryHelper(c.toString(16));return\"#\"+a+b+c};goog.color.rgbArrayToHex=function(a){return goog.color.rgbToHex(a[0],a[1],a[2])};\ngoog.color.rgbToHsl=function(a,b,c){a/=255;b/=255;c/=255;var d=Math.max(a,b,c),e=Math.min(a,b,c),f=0,g=0,h=.5*(d+e);d!=e\u0026\u0026(d==a?f=60*(b-c)/(d-e):d==b?f=60*(c-a)/(d-e)+120:d==c\u0026\u0026(f=60*(a-b)/(d-e)+240),g=0\u003ch\u0026\u0026.5\u003e=h?(d-e)/(2*h):(d-e)/(2-2*h));return[Math.round(f+360)%360,g,h]};goog.color.rgbArrayToHsl=function(a){return goog.color.rgbToHsl(a[0],a[1],a[2])};goog.color.hueToRgb_=function(a,b,c){0\u003ec?c+=1:1\u003cc\u0026\u0026--c;return 1\u003e6*c?a+6*(b-a)*c:1\u003e2*c?b:2\u003e3*c?a+(b-a)*(2/3-c)*6:a};\ngoog.color.hslToRgb=function(a,b,c){a/=360;if(0==b)c=b=a=255*c;else{var d=.5\u003ec?c*(1+b):c+b-b*c;var e=2*c-d;c=255*goog.color.hueToRgb_(e,d,a+1/3);b=255*goog.color.hueToRgb_(e,d,a);a=255*goog.color.hueToRgb_(e,d,a-1/3)}return[Math.round(c),Math.round(b),Math.round(a)]};goog.color.hslArrayToRgb=function(a){return goog.color.hslToRgb(a[0],a[1],a[2])};goog.color.validHexColorRe_=/^#(?:[0-9a-f]{3}){1,2}$/i;goog.color.isValidHexColor_=function(a){return goog.color.validHexColorRe_.test(a)};\ngoog.color.normalizedHexColorRe_=/^#[0-9a-f]{6}$/;goog.color.isNormalizedHexColor_=function(a){return goog.color.normalizedHexColorRe_.test(a)};goog.color.rgbColorRe_=/^(?:rgb)?\\((0|[1-9]\\d{0,2}),\\s?(0|[1-9]\\d{0,2}),\\s?(0|[1-9]\\d{0,2})\\)$/i;goog.color.isValidRgbColor_=function(a){var b=a.match(goog.color.rgbColorRe_);if(b){a=Number(b[1]);var c=Number(b[2]);b=Number(b[3]);if(0\u003c=a\u0026\u0026255\u003e=a\u0026\u00260\u003c=c\u0026\u0026255\u003e=c\u0026\u00260\u003c=b\u0026\u0026255\u003e=b)return[a,c,b]}return[]};\ngoog.color.prependZeroIfNecessaryHelper=function(a){return 1==a.length?\"0\"+a:a};goog.color.prependHashIfNecessaryHelper=function(a){return\"#\"==a.charAt(0)?a:\"#\"+a};goog.color.rgbStyle_=function(a){return\"rgb(\"+a.join(\",\")+\")\"};\ngoog.color.hsvToRgb=function(a,b,c){var d=0,e=0,f=0;if(0==b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return[Math.floor(d),Math.floor(e),Math.floor(f)]};\ngoog.color.rgbToHsv=function(a,b,c){var d=Math.max(Math.max(a,b),c),e=Math.min(Math.min(a,b),c);if(e==d)e=a=0;else{var f=d-e;e=f/d;a=60*(a==d?(b-c)/f:b==d?2+(c-a)/f:4+(a-b)/f);0\u003ea\u0026\u0026(a+=360);360\u003ca\u0026\u0026(a-=360)}return[a,e,d]};goog.color.rgbArrayToHsv=function(a){return goog.color.rgbToHsv(a[0],a[1],a[2])};goog.color.hsvArrayToRgb=function(a){return goog.color.hsvToRgb(a[0],a[1],a[2])};goog.color.hexToHsl=function(a){a=goog.color.hexToRgb(a);return goog.color.rgbToHsl(a[0],a[1],a[2])};\ngoog.color.hslToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a,b,c))};goog.color.hslArrayToHex=function(a){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a[0],a[1],a[2]))};goog.color.hexToHsv=function(a){return goog.color.rgbArrayToHsv(goog.color.hexToRgb(a))};goog.color.hsvToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hsvToRgb(a,b,c))};goog.color.hsvArrayToHex=function(a){return goog.color.hsvToHex(a[0],a[1],a[2])};\ngoog.color.hslDistance=function(a,b){var c=.5\u003e=a[2]?a[1]*a[2]:a[1]*(1-a[2]);var d=.5\u003e=b[2]?b[1]*b[2]:b[1]*(1-b[2]);return(a[2]-b[2])*(a[2]-b[2])+c*c+d*d-2*c*d*Math.cos(2*(a[0]/360-b[0]/360)*Math.PI)};goog.color.blend=function(a,b,c){c=goog.math.clamp(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};goog.color.darken=function(a,b){return goog.color.blend([0,0,0],a,b)};goog.color.lighten=function(a,b){return goog.color.blend([255,255,255],a,b)};\ngoog.color.highContrast=function(a,b){for(var c=[],d=0;d\u003cb.length;d++)c.push({color:b[d],diff:goog.color.yiqBrightnessDiff_(b[d],a)+goog.color.colorDiff_(b[d],a)});c.sort(function(a,b){return b.diff-a.diff});return c[0].color};goog.color.yiqBrightness_=function(a){return Math.round((299*a[0]+587*a[1]+114*a[2])/1E3)};goog.color.yiqBrightnessDiff_=function(a,b){return Math.abs(goog.color.yiqBrightness_(a)-goog.color.yiqBrightness_(b))};\ngoog.color.colorDiff_=function(a,b){return Math.abs(a[0]-b[0])+Math.abs(a[1]-b[1])+Math.abs(a[2]-b[2])};goog.dom.vendor={};goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?\"Webkit\":goog.userAgent.GECKO?\"Moz\":goog.userAgent.IE?\"ms\":goog.userAgent.OPERA?\"O\":null};goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?\"-webkit\":goog.userAgent.GECKO?\"-moz\":goog.userAgent.IE?\"-ms\":goog.userAgent.OPERA?\"-o\":null};\ngoog.dom.vendor.getPrefixedPropertyName=function(a,b){if(b\u0026\u0026a in b)return a;var c=goog.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),c+=goog.string.toTitleCase(a),!goog.isDef(b)||c in b?c:null):null};goog.dom.vendor.getPrefixedEventType=function(a){return((goog.dom.vendor.getVendorJsPrefix()||\"\")+a).toLowerCase()};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c\u003carguments.length;c++)b.expandToIncludeCoordinate(arguments[c]);return b};goog.math.Box.prototype.getWidth=function(){return this.right-this.left};goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top};\ngoog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};goog.DEBUG\u0026\u0026(goog.math.Box.prototype.toString=function(){return\"(\"+this.top+\"t, \"+this.right+\"r, \"+this.bottom+\"b, \"+this.left+\"l)\"});goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};\ngoog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=Number(b),this.bottom+=Number(c),this.left-=Number(d));return this};goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};\ngoog.math.Box.prototype.expandToIncludeCoordinate=function(a){this.top=Math.min(this.top,a.y);this.right=Math.max(this.right,a.x);this.bottom=Math.max(this.bottom,a.y);this.left=Math.min(this.left,a.x)};goog.math.Box.equals=function(a,b){return a==b?!0:a\u0026\u0026b?a.top==b.top\u0026\u0026a.right==b.right\u0026\u0026a.bottom==b.bottom\u0026\u0026a.left==b.left:!1};\ngoog.math.Box.contains=function(a,b){return a\u0026\u0026b?b instanceof goog.math.Box?b.left\u003e=a.left\u0026\u0026b.right\u003c=a.right\u0026\u0026b.top\u003e=a.top\u0026\u0026b.bottom\u003c=a.bottom:b.x\u003e=a.left\u0026\u0026b.x\u003c=a.right\u0026\u0026b.y\u003e=a.top\u0026\u0026b.y\u003c=a.bottom:!1};goog.math.Box.relativePositionX=function(a,b){return b.x\u003ca.left?b.x-a.left:b.x\u003ea.right?b.x-a.right:0};goog.math.Box.relativePositionY=function(a,b){return b.y\u003ca.top?b.y-a.top:b.y\u003ea.bottom?b.y-a.bottom:0};\ngoog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b),d=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+d*d)};goog.math.Box.intersects=function(a,b){return a.left\u003c=b.right\u0026\u0026b.left\u003c=a.right\u0026\u0026a.top\u003c=b.bottom\u0026\u0026b.top\u003c=a.bottom};goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left\u003c=b.right+c\u0026\u0026b.left\u003c=a.right+c\u0026\u0026a.top\u003c=b.bottom+c\u0026\u0026b.top\u003c=a.bottom+c};\ngoog.math.Box.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};goog.math.Box.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};\ngoog.math.Box.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};goog.math.Box.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(goog.asserts.assertNumber(a),this.left+=a,this.right+=a,goog.isNumber(b)\u0026\u0026(this.top+=b,this.bottom+=b));return this};\ngoog.math.Box.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.right*=a;this.top*=c;this.bottom*=c;return this};goog.math.IRect=function(){};goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromPositionAndSize=function(a,b){return new goog.math.Rect(a.x,a.y,b.width,b.height)};\ngoog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};goog.DEBUG\u0026\u0026(goog.math.Rect.prototype.toString=function(){return\"(\"+this.left+\", \"+this.top+\" - \"+this.width+\"w x \"+this.height+\"h)\"});goog.math.Rect.equals=function(a,b){return a==b?!0:a\u0026\u0026b?a.left==b.left\u0026\u0026a.width==b.width\u0026\u0026a.top==b.top\u0026\u0026a.height==b.height:!1};\ngoog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b\u003c=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d\u003c=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};\ngoog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c\u003c=d){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(e\u003c=f)return new goog.math.Rect(c,e,d-c,f-e)}return null};goog.math.Rect.intersects=function(a,b){return a.left\u003c=b.left+b.width\u0026\u0026b.left\u003c=a.left+a.width\u0026\u0026a.top\u003c=b.top+b.height\u0026\u0026b.top\u003c=a.top+a.height};goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)};\ngoog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top\u003ea.top\u0026\u0026(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);k\u003cg\u0026\u0026(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d);b.left\u003ea.left\u0026\u0026c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h\u003cf\u0026\u0026c.push(new goog.math.Rect(h,d,f-h,e));return c};\ngoog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=new goog.math.Rect(a.left,a.top,a.width,a.height);c.boundingRect(b);return c};\ngoog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Coordinate?a.x\u003e=this.left\u0026\u0026a.x\u003c=this.left+this.width\u0026\u0026a.y\u003e=this.top\u0026\u0026a.y\u003c=this.top+this.height:this.left\u003c=a.left\u0026\u0026this.left+this.width\u003e=a.left+a.width\u0026\u0026this.top\u003c=a.top\u0026\u0026this.top+this.height\u003e=a.top+a.height};goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x\u003cthis.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y\u003cthis.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};\ngoog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)};goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)};\ngoog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)};goog.math.Rect.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};goog.math.Rect.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};\ngoog.math.Rect.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Rect.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=goog.asserts.assertNumber(a),goog.isNumber(b)\u0026\u0026(this.top+=b));return this};\ngoog.math.Rect.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.width*=a;this.top*=c;this.height*=c;return this};goog.style={};goog.style.setStyle=function(a,b,c){if(goog.isString(b))goog.style.setStyle_(a,c,b);else for(var d in b)goog.style.setStyle_(a,b[d],d)};goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))\u0026\u0026(a.style[c]=b)};goog.style.styleNameCache_={};\ngoog.style.getVendorJsStyleName_=function(a,b){var c=goog.style.styleNameCache_[b];if(!c){var d=goog.string.toCamelCase(b);c=d;void 0===a.style[d]\u0026\u0026(d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(d),void 0!==a.style[d]\u0026\u0026(c=d));goog.style.styleNameCache_[b]=c}return c};\ngoog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]\u0026\u0026(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(c),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+\"-\"+b:b};goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return\"undefined\"!==typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||\"\"};\ngoog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView\u0026\u0026c.defaultView.getComputedStyle\u0026\u0026(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||\"\":\"\"};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style\u0026\u0026a.style[b]};\ngoog.style.getComputedBoxSizing=function(a){return goog.style.getStyle_(a,\"boxSizing\")||goog.style.getStyle_(a,\"MozBoxSizing\")||goog.style.getStyle_(a,\"WebkitBoxSizing\")||null};goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,\"position\")};goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,\"backgroundColor\")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,\"overflowX\")};\ngoog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,\"overflowY\")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,\"zIndex\")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,\"textAlign\")};goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,\"cursor\")};goog.style.getComputedTransform=function(a){var b=goog.style.getVendorStyleName_(a,\"transform\");return goog.style.getStyle_(a,b)||goog.style.getStyle_(a,\"transform\")};\ngoog.style.setPosition=function(a,b,c){if(b instanceof goog.math.Coordinate){var d=b.x;b=b.y}else d=b,b=c;a.style.left=goog.style.getPixelStyleValue_(d,!1);a.style.top=goog.style.getPixelStyleValue_(b,!1)};goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};\ngoog.style.getClientViewportElement=function(a){a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument();return!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};goog.style.getViewportPageOffset=function(a){var b=a.body;a=a.documentElement;return new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)};\ngoog.style.getBoundingClientRect_=function(a){try{var b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}goog.userAgent.IE\u0026\u0026a.ownerDocument.body\u0026\u0026(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};\ngoog.style.getOffsetParent=function(a){if(goog.userAgent.IE\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(a\u0026\u0026\"offsetParent\"in a),a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,\"position\"),d=\"fixed\"==c||\"absolute\"==c;for(a=a.parentNode;a\u0026\u0026a!=b;a=a.parentNode)if(a.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT\u0026\u0026a.host\u0026\u0026(a=a.host),c=goog.style.getStyle_(a,\"position\"),d=d\u0026\u0026\"static\"==c\u0026\u0026a!=b.documentElement\u0026\u0026a!=b.body,!d\u0026\u0026(a.scrollWidth\u003ea.clientWidth||\na.scrollHeight\u003ea.clientHeight||\"fixed\"==c||\"absolute\"==c||\"relative\"==c))return a;return null};\ngoog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE\u0026\u00260==a.clientWidth||goog.userAgent.WEBKIT\u0026\u00260==a.clientHeight\u0026\u0026a==d)\u0026\u0026a!=d\u0026\u0026a!=e\u0026\u0026\"visible\"!=goog.style.getStyle_(a,\"overflow\")){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,\ng.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0\u003c=b.top\u0026\u00260\u003c=b.left\u0026\u0026b.bottom\u003eb.top\u0026\u0026b.right\u003eb.left?b:null};\ngoog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=b||goog.dom.getDocumentScrollElement(),e=goog.style.getPageOffset(a),f=goog.style.getPageOffset(d),g=goog.style.getBorderBox(d);d==goog.dom.getDocumentScrollElement()?(b=e.x-d.scrollLeft,e=e.y-d.scrollTop,goog.userAgent.IE\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(10)\u0026\u0026(b+=g.left,e+=g.top)):(b=e.x-f.x-g.left,e=e.y-f.y-g.top);g=goog.style.getSizeWithDisplay_(a);a=d.clientWidth-g.width;g=d.clientHeight-g.height;f=d.scrollLeft;d=d.scrollTop;\nc?(f+=b-a/2,d+=e-g/2):(f+=Math.min(b,Math.max(b-a,0)),d+=Math.min(e,Math.max(e-g,0)));return new goog.math.Coordinate(f,d)};goog.style.scrollIntoContainerView=function(a,b,c){b=b||goog.dom.getDocumentScrollElement();a=goog.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};goog.style.getClientLeftTop=function(a){return new goog.math.Coordinate(a.clientLeft,a.clientTop)};\ngoog.style.getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a);goog.asserts.assertObject(a,\"Parameter is required\");var c=new goog.math.Coordinate(0,0),d=goog.style.getClientViewportElement(b);if(a==d)return c;a=goog.style.getBoundingClientRect_(a);b=goog.dom.getDomHelper(b).getDocumentScroll();c.x=a.left+b.x;c.y=a.top+b.y;return c};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};\ngoog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a));if(!goog.reflect.canAccessProperty(d,\"parent\"))return c;var e=a;do{var f=d==b?goog.style.getPageOffset(e):goog.style.getClientPositionForElement_(goog.asserts.assert(e));c.x+=f.x;c.y+=f.y}while(d\u0026\u0026d!=b\u0026\u0026d!=d.parent\u0026\u0026(e=d.frameElement)\u0026\u0026(d=d.parent));return c};\ngoog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow());c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};\ngoog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)};goog.style.getClientPositionForElement_=function(a){a=goog.style.getBoundingClientRect_(a);return new goog.math.Coordinate(a.left,a.top)};\ngoog.style.getClientPosition=function(a){goog.asserts.assert(a);if(a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);a=a.changedTouches?a.changedTouches[0]:a;return new goog.math.Coordinate(a.clientX,a.clientY)};goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate\u0026\u0026(c=b.y,b=b.x);b=goog.asserts.assertNumber(b)-d.x;goog.style.setPosition(a,a.offsetLeft+b,a.offsetTop+(Number(c)-d.y))};\ngoog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error(\"missing height argument\");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){\"number\"==typeof a\u0026\u0026(a=(b?Math.round(a):a)+\"px\");return a};goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)};\ngoog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)};goog.style.evaluateWithTemporaryDisplay_=function(a,b){if(\"none\"!=goog.style.getStyle_(b,\"display\"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility=\"hidden\";c.position=\"absolute\";c.display=\"inline\";var g=a(b);c.display=d;c.position=f;c.visibility=e;return g};\ngoog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT\u0026\u0026!b\u0026\u0026!c;return goog.isDef(b)\u0026\u0026!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))};goog.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a);return new goog.math.Size(a.right-a.left,a.bottom-a.top)};\ngoog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};\ngoog.style.getOpacity=function(a){goog.asserts.assert(a);var b=a.style;a=\"\";\"opacity\"in b?a=b.opacity:\"MozOpacity\"in b?a=b.MozOpacity:\"filter\"in b\u0026\u0026(b=b.filter.match(/alpha\\(opacity=([\\d.]+)\\)/))\u0026\u0026(a=String(b[1]/100));return\"\"==a?a:Number(a)};goog.style.setOpacity=function(a,b){goog.asserts.assert(a);var c=a.style;\"opacity\"in c?c.opacity=b:\"MozOpacity\"in c?c.MozOpacity=b:\"filter\"in c\u0026\u0026(c.filter=\"\"===b?\"\":\"alpha(opacity=\"+100*Number(b)+\")\")};\ngoog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"8\")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"'+b+'\", sizingMethod=\"crop\")':(c.backgroundImage=\"url(\"+b+\")\",c.backgroundPosition=\"top left\",c.backgroundRepeat=\"no-repeat\")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;\"filter\"in a?a.filter=\"\":a.backgroundImage=\"none\"};\ngoog.style.showElement=function(a,b){goog.style.setElementShown(a,b)};goog.style.setElementShown=function(a,b){a.style.display=b?\"\":\"none\"};goog.style.isElementShown=function(a){return\"none\"!=a.style.display};\ngoog.style.installSafeStyleSheet=function(a,b){var c=goog.dom.getDomHelper(b),d=c.getDocument();if(goog.userAgent.IE\u0026\u0026d.createStyleSheet){var e=d.createStyleSheet();goog.style.setSafeStyleSheet(e,a)}else d=c.getElementsByTagNameAndClass(\"HEAD\")[0],d||(e=c.getElementsByTagNameAndClass(\"BODY\")[0],d=c.createDom(\"HEAD\"),e.parentNode.insertBefore(d,e)),e=c.createDom(\"STYLE\"),goog.style.setSafeStyleSheet(e,a),c.appendChild(d,e);return e};\ngoog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};goog.style.setSafeStyleSheet=function(a,b){var c=goog.html.SafeStyleSheet.unwrap(b);goog.userAgent.IE\u0026\u0026goog.isDef(a.cssText)?a.cssText=c:a.innerHTML=c};goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"8\")?(a.whiteSpace=\"pre\",a.wordWrap=\"break-word\"):a.whiteSpace=goog.userAgent.GECKO?\"-moz-pre-wrap\":\"pre-wrap\"};\ngoog.style.setInlineBlock=function(a){a=a.style;a.position=\"relative\";goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"8\")?(a.zoom=\"1\",a.display=\"inline\"):a.display=\"inline-block\"};goog.style.isRightToLeft=function(a){return\"rtl\"==goog.style.getStyle_(a,\"direction\")};goog.style.unselectableStyle_=goog.userAgent.GECKO?\"MozUserSelect\":goog.userAgent.WEBKIT||goog.userAgent.EDGE?\"WebkitUserSelect\":null;\ngoog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?\"none\"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?\"on\"==a.getAttribute(\"unselectable\"):!1};\ngoog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName(\"*\");var d=goog.style.unselectableStyle_;if(d){if(b=b?\"none\":\"\",a.style\u0026\u0026(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style\u0026\u0026(e.style[d]=b)}}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?\"on\":\"\",a.setAttribute(\"unselectable\",b),c)for(a=0;e=c[a];a++)e.setAttribute(\"unselectable\",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};\ngoog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher(\"10\")||d\u0026\u0026goog.userAgent.isVersionOrHigher(\"8\"))goog.style.setBoxSizingSize_(a,b,\"border-box\");else if(c=a.style,d){d=goog.style.getPaddingBox(a);var e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=\nb.height};\ngoog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE\u0026\u0026a.currentStyle;if(c\u0026\u0026goog.dom.getDomHelper(b).isCss1CompatMode()\u0026\u0026\"auto\"!=c.width\u0026\u0026\"auto\"!=c.height\u0026\u0026!c.boxSizing)return b=goog.style.getIePixelValue_(a,c.width,\"width\",\"pixelWidth\"),a=goog.style.getIePixelValue_(a,c.height,\"height\",\"pixelHeight\"),new goog.math.Size(b,a);c=goog.style.getBorderBoxSize(a);b=goog.style.getPaddingBox(a);a=goog.style.getBorderBox(a);return new goog.math.Size(c.width-a.left-\nb.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom)};\ngoog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher(\"10\")||d\u0026\u0026goog.userAgent.isVersionOrHigher(\"8\"))goog.style.setBoxSizingSize_(a,b,\"content-box\");else if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{d=goog.style.getPaddingBox(a);var e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bottom+\ne.bottom}};goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+\"px\";a.height=Math.max(b.height,0)+\"px\"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return+b};\ngoog.style.getIePixelDistance_=function(a,b){var c=goog.style.getCascadedStyle(a,b);return c?goog.style.getIePixelValue_(a,c,\"left\",\"pixelLeft\"):0};\ngoog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+\"Left\"),d=goog.style.getIePixelDistance_(a,b+\"Right\"),e=goog.style.getIePixelDistance_(a,b+\"Top\"),f=goog.style.getIePixelDistance_(a,b+\"Bottom\");return new goog.math.Box(e,d,f,c)}c=goog.style.getComputedStyle(a,b+\"Left\");d=goog.style.getComputedStyle(a,b+\"Right\");e=goog.style.getComputedStyle(a,b+\"Top\");f=goog.style.getComputedStyle(a,b+\"Bottom\");return new goog.math.Box(parseFloat(e),parseFloat(d),parseFloat(f),\nparseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,\"padding\")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,\"margin\")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};\ngoog.style.getIePixelBorder_=function(a,b){if(\"none\"==goog.style.getCascadedStyle(a,b+\"Style\"))return 0;var c=goog.style.getCascadedStyle(a,b+\"Width\");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,\"left\",\"pixelLeft\")};\ngoog.style.getBorderBox=function(a){if(goog.userAgent.IE\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(9)){var b=goog.style.getIePixelBorder_(a,\"borderLeft\"),c=goog.style.getIePixelBorder_(a,\"borderRight\"),d=goog.style.getIePixelBorder_(a,\"borderTop\");a=goog.style.getIePixelBorder_(a,\"borderBottom\");return new goog.math.Box(d,c,a,b)}b=goog.style.getComputedStyle(a,\"borderLeftWidth\");c=goog.style.getComputedStyle(a,\"borderRightWidth\");d=goog.style.getComputedStyle(a,\"borderTopWidth\");a=goog.style.getComputedStyle(a,\n\"borderBottomWidth\");return new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c=\"\";if(b.body.createTextRange\u0026\u0026goog.dom.contains(b,a)){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue(\"FontName\")}catch(d){c=\"\"}}c||(c=goog.style.getStyle_(a,\"fontFamily\"));a=c.split(\",\");1\u003ca.length\u0026\u0026(c=a[0]);return goog.string.stripQuotes(c,\"\\\"'\")};goog.style.lengthUnitRegex_=/[^\\d]+$/;\ngoog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))\u0026\u0026a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,\"in\":1,mm:1,pc:1,pt:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};\ngoog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,\"fontSize\"),c=goog.style.getLengthUnits(b);if(b\u0026\u0026\"px\"==c)return parseInt(b,10);if(goog.userAgent.IE){if(String(c)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,\"left\",\"pixelLeft\");if(a.parentNode\u0026\u0026a.parentNode.nodeType==goog.dom.NodeType.ELEMENT\u0026\u0026String(c)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,\"fontSize\"),goog.style.getIePixelValue_(a,b==c?\"1em\":b,\n\"left\",\"pixelLeft\")}c=goog.dom.createDom(\"SPAN\",{style:\"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;\"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\\s*;\\s*/),function(a){var c=a.match(/\\s*([\\w-]+)\\s*\\:(.+)/);c\u0026\u0026(a=c[1],c=goog.string.trim(c[2]),b[goog.string.toCamelCase(a.toLowerCase())]=c)});return b};\ngoog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),\":\",a,\";\")});return b.join(\"\")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?\"styleFloat\":\"cssFloat\"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?\"styleFloat\":\"cssFloat\"]||\"\"};\ngoog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement(\"DIV\");a\u0026\u0026(b.className=a);b.style.cssText=\"overflow:auto;position:absolute;top:0;width:100px;height:100px\";a=goog.dom.createElement(\"DIV\");goog.style.setSize(a,\"200px\",\"200px\");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\\([0-9\\.\\-]+, [0-9\\.\\-]+, [0-9\\.\\-]+, [0-9\\.\\-]+, ([0-9\\.\\-]+)p?x?, ([0-9\\.\\-]+)p?x?\\)/;\ngoog.style.getCssTranslation=function(a){a=goog.style.getComputedTransform(a);return a?(a=a.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0):new goog.math.Coordinate(0,0)};goog.events.EventHandler=function(a){goog.Disposable.call(this);this.handler_=a;this.keys_={}};goog.inherits(goog.events.EventHandler,goog.Disposable);goog.events.EventHandler.typeArray_=[];goog.events.EventHandler.prototype.listen=function(a,b,c,d){return this.listen_(a,b,c,d)};goog.events.EventHandler.prototype.listenWithScope=function(a,b,c,d,e){return this.listen_(a,b,c,d,e)};\ngoog.events.EventHandler.prototype.listen_=function(a,b,c,d,e){goog.isArray(b)||(b\u0026\u0026(goog.events.EventHandler.typeArray_[0]=b.toString()),b=goog.events.EventHandler.typeArray_);for(var f=0;f\u003cb.length;f++){var g=goog.events.listen(a,b[f],c||this.handleEvent,d||!1,e||this.handler_||this);if(!g)break;this.keys_[g.key]=g}return this};goog.events.EventHandler.prototype.listenOnce=function(a,b,c,d){return this.listenOnce_(a,b,c,d)};\ngoog.events.EventHandler.prototype.listenOnceWithScope=function(a,b,c,d,e){return this.listenOnce_(a,b,c,d,e)};goog.events.EventHandler.prototype.listenOnce_=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f\u003cb.length;f++)this.listenOnce_(a,b[f],c,d,e);else{a=goog.events.listenOnce(a,b,c||this.handleEvent,d,e||this.handler_||this);if(!a)return this;this.keys_[a.key]=a}return this};goog.events.EventHandler.prototype.listenWithWrapper=function(a,b,c,d){return this.listenWithWrapper_(a,b,c,d)};\ngoog.events.EventHandler.prototype.listenWithWrapperAndScope=function(a,b,c,d,e){return this.listenWithWrapper_(a,b,c,d,e)};goog.events.EventHandler.prototype.listenWithWrapper_=function(a,b,c,d,e){b.listen(a,c,d,e||this.handler_||this,this);return this};goog.events.EventHandler.prototype.getListenerCount=function(){var a=0,b;for(b in this.keys_)Object.prototype.hasOwnProperty.call(this.keys_,b)\u0026\u0026a++;return a};\ngoog.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f\u003cb.length;f++)this.unlisten(a,b[f],c,d,e);else if(d=goog.isObject(d)?!!d.capture:!!d,a=goog.events.getListener(a,b,c||this.handleEvent,d,e||this.handler_||this))goog.events.unlistenByKey(a),delete this.keys_[a.key];return this};goog.events.EventHandler.prototype.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.handler_||this,this);return this};\ngoog.events.EventHandler.prototype.removeAll=function(){goog.object.forEach(this.keys_,function(a,b){this.keys_.hasOwnProperty(b)\u0026\u0026goog.events.unlistenByKey(a)},this);this.keys_={}};goog.events.EventHandler.prototype.disposeInternal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this);this.removeAll()};goog.events.EventHandler.prototype.handleEvent=function(a){throw Error(\"EventHandler.handleEvent not implemented\");};goog.ui={};goog.ui.IdGenerator=function(){};goog.addSingletonGetter(goog.ui.IdGenerator);goog.ui.IdGenerator.prototype.nextId_=0;goog.ui.IdGenerator.prototype.getNextUniqueId=function(){return\":\"+(this.nextId_++).toString(36)};goog.ui.Component=function(a){goog.events.EventTarget.call(this);this.dom_=a||goog.dom.getDomHelper();this.rightToLeft_=goog.ui.Component.defaultRightToLeft_;this.id_=null;this.inDocument_=!1;this.element_=null;this.googUiComponentHandler_=void 0;this.childIndex_=this.children_=this.parent_=this.model_=null;this.wasDecorated_=!1};goog.inherits(goog.ui.Component,goog.events.EventTarget);goog.ui.Component.ALLOW_DETACHED_DECORATION=!1;goog.ui.Component.prototype.idGenerator_=goog.ui.IdGenerator.getInstance();\ngoog.ui.Component.DEFAULT_BIDI_DIR=0;goog.ui.Component.defaultRightToLeft_=1==goog.ui.Component.DEFAULT_BIDI_DIR?!1:-1==goog.ui.Component.DEFAULT_BIDI_DIR?!0:null;\ngoog.ui.Component.EventType={BEFORE_SHOW:\"beforeshow\",SHOW:\"show\",HIDE:\"hide\",DISABLE:\"disable\",ENABLE:\"enable\",HIGHLIGHT:\"highlight\",UNHIGHLIGHT:\"unhighlight\",ACTIVATE:\"activate\",DEACTIVATE:\"deactivate\",SELECT:\"select\",UNSELECT:\"unselect\",CHECK:\"check\",UNCHECK:\"uncheck\",FOCUS:\"focus\",BLUR:\"blur\",OPEN:\"open\",CLOSE:\"close\",ENTER:\"enter\",LEAVE:\"leave\",ACTION:\"action\",CHANGE:\"change\"};\ngoog.ui.Component.Error={NOT_SUPPORTED:\"Method not supported\",DECORATE_INVALID:\"Invalid element to decorate\",ALREADY_RENDERED:\"Component already rendered\",PARENT_UNABLE_TO_BE_SET:\"Unable to set parent component\",CHILD_INDEX_OUT_OF_BOUNDS:\"Child component index out of bounds\",NOT_OUR_CHILD:\"Child is not in parent component\",NOT_IN_DOCUMENT:\"Operation not supported while component is not in document\",STATE_INVALID:\"Invalid component state\"};\ngoog.ui.Component.State={ALL:255,DISABLED:1,HOVER:2,ACTIVE:4,SELECTED:8,CHECKED:16,FOCUSED:32,OPENED:64};\ngoog.ui.Component.getStateTransitionEvent=function(a,b){switch(a){case goog.ui.Component.State.DISABLED:return b?goog.ui.Component.EventType.DISABLE:goog.ui.Component.EventType.ENABLE;case goog.ui.Component.State.HOVER:return b?goog.ui.Component.EventType.HIGHLIGHT:goog.ui.Component.EventType.UNHIGHLIGHT;case goog.ui.Component.State.ACTIVE:return b?goog.ui.Component.EventType.ACTIVATE:goog.ui.Component.EventType.DEACTIVATE;case goog.ui.Component.State.SELECTED:return b?goog.ui.Component.EventType.SELECT:\ngoog.ui.Component.EventType.UNSELECT;case goog.ui.Component.State.CHECKED:return b?goog.ui.Component.EventType.CHECK:goog.ui.Component.EventType.UNCHECK;case goog.ui.Component.State.FOCUSED:return b?goog.ui.Component.EventType.FOCUS:goog.ui.Component.EventType.BLUR;case goog.ui.Component.State.OPENED:return b?goog.ui.Component.EventType.OPEN:goog.ui.Component.EventType.CLOSE}throw Error(goog.ui.Component.Error.STATE_INVALID);};\ngoog.ui.Component.setDefaultRightToLeft=function(a){goog.ui.Component.defaultRightToLeft_=a};goog.ui.Component.prototype.getId=function(){return this.id_||(this.id_=this.idGenerator_.getNextUniqueId())};goog.ui.Component.prototype.setId=function(a){this.parent_\u0026\u0026this.parent_.childIndex_\u0026\u0026(goog.object.remove(this.parent_.childIndex_,this.id_),goog.object.add(this.parent_.childIndex_,a,this));this.id_=a};goog.ui.Component.prototype.getElement=function(){return this.element_};\ngoog.ui.Component.prototype.getElementStrict=function(){var a=this.element_;goog.asserts.assert(a,\"Can not call getElementStrict before rendering/decorating.\");return a};goog.ui.Component.prototype.setElementInternal=function(a){this.element_=a};goog.ui.Component.prototype.getElementsByClass=function(a){return this.element_?this.dom_.getElementsByClass(a,this.element_):[]};goog.ui.Component.prototype.getElementByClass=function(a){return this.element_?this.dom_.getElementByClass(a,this.element_):null};\ngoog.ui.Component.prototype.getRequiredElementByClass=function(a){var b=this.getElementByClass(a);goog.asserts.assert(b,\"Expected element in component with class: %s\",a);return b};goog.ui.Component.prototype.getHandler=function(){this.googUiComponentHandler_||(this.googUiComponentHandler_=new goog.events.EventHandler(this));return this.googUiComponentHandler_};\ngoog.ui.Component.prototype.setParent=function(a){if(this==a)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);if(a\u0026\u0026this.parent_\u0026\u0026this.id_\u0026\u0026this.parent_.getChild(this.id_)\u0026\u0026this.parent_!=a)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);this.parent_=a;goog.ui.Component.superClass_.setParentEventTarget.call(this,a)};goog.ui.Component.prototype.getParent=function(){return this.parent_};\ngoog.ui.Component.prototype.setParentEventTarget=function(a){if(this.parent_\u0026\u0026this.parent_!=a)throw Error(goog.ui.Component.Error.NOT_SUPPORTED);goog.ui.Component.superClass_.setParentEventTarget.call(this,a)};goog.ui.Component.prototype.getDomHelper=function(){return this.dom_};goog.ui.Component.prototype.isInDocument=function(){return this.inDocument_};goog.ui.Component.prototype.createDom=function(){this.element_=this.dom_.createElement(\"DIV\")};goog.ui.Component.prototype.render=function(a){this.render_(a)};\ngoog.ui.Component.prototype.renderBefore=function(a){this.render_(a.parentNode,a)};goog.ui.Component.prototype.render_=function(a,b){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.element_||this.createDom();a?a.insertBefore(this.element_,b||null):this.dom_.getDocument().body.appendChild(this.element_);this.parent_\u0026\u0026!this.parent_.isInDocument()||this.enterDocument()};\ngoog.ui.Component.prototype.decorate=function(a){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(a\u0026\u0026this.canDecorate(a)){this.wasDecorated_=!0;var b=goog.dom.getOwnerDocument(a);this.dom_\u0026\u0026this.dom_.getDocument()==b||(this.dom_=goog.dom.getDomHelper(a));this.decorateInternal(a);goog.ui.Component.ALLOW_DETACHED_DECORATION\u0026\u0026!goog.dom.contains(b,a)||this.enterDocument()}else throw Error(goog.ui.Component.Error.DECORATE_INVALID);};goog.ui.Component.prototype.canDecorate=function(a){return!0};\ngoog.ui.Component.prototype.wasDecorated=function(){return this.wasDecorated_};goog.ui.Component.prototype.decorateInternal=function(a){this.element_=a};goog.ui.Component.prototype.enterDocument=function(){this.inDocument_=!0;this.forEachChild(function(a){!a.isInDocument()\u0026\u0026a.getElement()\u0026\u0026a.enterDocument()})};\ngoog.ui.Component.prototype.exitDocument=function(){this.forEachChild(function(a){a.isInDocument()\u0026\u0026a.exitDocument()});this.googUiComponentHandler_\u0026\u0026this.googUiComponentHandler_.removeAll();this.inDocument_=!1};\ngoog.ui.Component.prototype.disposeInternal=function(){this.inDocument_\u0026\u0026this.exitDocument();this.googUiComponentHandler_\u0026\u0026(this.googUiComponentHandler_.dispose(),delete this.googUiComponentHandler_);this.forEachChild(function(a){a.dispose()});!this.wasDecorated_\u0026\u0026this.element_\u0026\u0026goog.dom.removeNode(this.element_);this.parent_=this.model_=this.element_=this.childIndex_=this.children_=null;goog.ui.Component.superClass_.disposeInternal.call(this)};\ngoog.ui.Component.prototype.makeId=function(a){return this.getId()+\".\"+a};goog.ui.Component.prototype.makeIds=function(a){var b={},c;for(c in a)b[c]=this.makeId(a[c]);return b};goog.ui.Component.prototype.getModel=function(){return this.model_};goog.ui.Component.prototype.setModel=function(a){this.model_=a};goog.ui.Component.prototype.getFragmentFromId=function(a){return a.substring(this.getId().length+1)};\ngoog.ui.Component.prototype.getElementByFragment=function(a){if(!this.inDocument_)throw Error(goog.ui.Component.Error.NOT_IN_DOCUMENT);return this.dom_.getElement(this.makeId(a))};goog.ui.Component.prototype.addChild=function(a,b){this.addChildAt(a,this.getChildCount(),b)};\ngoog.ui.Component.prototype.addChildAt=function(a,b,c){goog.asserts.assert(!!a,\"Provided element must not be null.\");if(a.inDocument_\u0026\u0026(c||!this.inDocument_))throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(0\u003eb||b\u003ethis.getChildCount())throw Error(goog.ui.Component.Error.CHILD_INDEX_OUT_OF_BOUNDS);this.childIndex_\u0026\u0026this.children_||(this.childIndex_={},this.children_=[]);a.getParent()==this?(goog.object.set(this.childIndex_,a.getId(),a),goog.array.remove(this.children_,a)):goog.object.add(this.childIndex_,\na.getId(),a);a.setParent(this);goog.array.insertAt(this.children_,a,b);a.inDocument_\u0026\u0026this.inDocument_\u0026\u0026a.getParent()==this?(c=this.getContentElement(),b=c.childNodes[b]||null,b!=a.getElement()\u0026\u0026c.insertBefore(a.getElement(),b)):c?(this.element_||this.createDom(),b=this.getChildAt(b+1),a.render_(this.getContentElement(),b?b.element_:null)):this.inDocument_\u0026\u0026!a.inDocument_\u0026\u0026a.element_\u0026\u0026a.element_.parentNode\u0026\u0026a.element_.parentNode.nodeType==goog.dom.NodeType.ELEMENT\u0026\u0026a.enterDocument()};\ngoog.ui.Component.prototype.getContentElement=function(){return this.element_};goog.ui.Component.prototype.isRightToLeft=function(){null==this.rightToLeft_\u0026\u0026(this.rightToLeft_=goog.style.isRightToLeft(this.inDocument_?this.element_:this.dom_.getDocument().body));return this.rightToLeft_};goog.ui.Component.prototype.setRightToLeft=function(a){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.rightToLeft_=a};\ngoog.ui.Component.prototype.hasChildren=function(){return!!this.children_\u0026\u00260!=this.children_.length};goog.ui.Component.prototype.getChildCount=function(){return this.children_?this.children_.length:0};goog.ui.Component.prototype.getChildIds=function(){var a=[];this.forEachChild(function(b){a.push(b.getId())});return a};goog.ui.Component.prototype.getChild=function(a){return this.childIndex_\u0026\u0026a?goog.object.get(this.childIndex_,a)||null:null};\ngoog.ui.Component.prototype.getChildAt=function(a){return this.children_?this.children_[a]||null:null};goog.ui.Component.prototype.forEachChild=function(a,b){this.children_\u0026\u0026goog.array.forEach(this.children_,a,b)};goog.ui.Component.prototype.indexOfChild=function(a){return this.children_\u0026\u0026a?goog.array.indexOf(this.children_,a):-1};\ngoog.ui.Component.prototype.removeChild=function(a,b){if(a){var c=goog.isString(a)?a:a.getId();a=this.getChild(c);c\u0026\u0026a\u0026\u0026(goog.object.remove(this.childIndex_,c),goog.array.remove(this.children_,a),b\u0026\u0026(a.exitDocument(),a.element_\u0026\u0026goog.dom.removeNode(a.element_)),a.setParent(null))}if(!a)throw Error(goog.ui.Component.Error.NOT_OUR_CHILD);return a};goog.ui.Component.prototype.removeChildAt=function(a,b){return this.removeChild(this.getChildAt(a),b)};\ngoog.ui.Component.prototype.removeChildren=function(a){for(var b=[];this.hasChildren();)b.push(this.removeChildAt(0,a));return b};goog.a11y={};goog.a11y.aria={};\ngoog.a11y.aria.Role={ALERT:\"alert\",ALERTDIALOG:\"alertdialog\",APPLICATION:\"application\",ARTICLE:\"article\",BANNER:\"banner\",BUTTON:\"button\",CHECKBOX:\"checkbox\",COLUMNHEADER:\"columnheader\",COMBOBOX:\"combobox\",COMPLEMENTARY:\"complementary\",CONTENTINFO:\"contentinfo\",DEFINITION:\"definition\",DIALOG:\"dialog\",DIRECTORY:\"directory\",DOCUMENT:\"document\",FORM:\"form\",GRID:\"grid\",GRIDCELL:\"gridcell\",GROUP:\"group\",HEADING:\"heading\",IMG:\"img\",LINK:\"link\",LIST:\"list\",LISTBOX:\"listbox\",LISTITEM:\"listitem\",LOG:\"log\",\nMAIN:\"main\",MARQUEE:\"marquee\",MATH:\"math\",MENU:\"menu\",MENUBAR:\"menubar\",MENU_ITEM:\"menuitem\",MENU_ITEM_CHECKBOX:\"menuitemcheckbox\",MENU_ITEM_RADIO:\"menuitemradio\",NAVIGATION:\"navigation\",NOTE:\"note\",OPTION:\"option\",PRESENTATION:\"presentation\",PROGRESSBAR:\"progressbar\",RADIO:\"radio\",RADIOGROUP:\"radiogroup\",REGION:\"region\",ROW:\"row\",ROWGROUP:\"rowgroup\",ROWHEADER:\"rowheader\",SCROLLBAR:\"scrollbar\",SEARCH:\"search\",SEPARATOR:\"separator\",SLIDER:\"slider\",SPINBUTTON:\"spinbutton\",STATUS:\"status\",TAB:\"tab\",\nTAB_LIST:\"tablist\",TAB_PANEL:\"tabpanel\",TEXTBOX:\"textbox\",TEXTINFO:\"textinfo\",TIMER:\"timer\",TOOLBAR:\"toolbar\",TOOLTIP:\"tooltip\",TREE:\"tree\",TREEGRID:\"treegrid\",TREEITEM:\"treeitem\"};goog.a11y.aria.State={ACTIVEDESCENDANT:\"activedescendant\",ATOMIC:\"atomic\",AUTOCOMPLETE:\"autocomplete\",BUSY:\"busy\",CHECKED:\"checked\",COLINDEX:\"colindex\",CONTROLS:\"controls\",DESCRIBEDBY:\"describedby\",DISABLED:\"disabled\",DROPEFFECT:\"dropeffect\",EXPANDED:\"expanded\",FLOWTO:\"flowto\",GRABBED:\"grabbed\",HASPOPUP:\"haspopup\",HIDDEN:\"hidden\",INVALID:\"invalid\",LABEL:\"label\",LABELLEDBY:\"labelledby\",LEVEL:\"level\",LIVE:\"live\",MULTILINE:\"multiline\",MULTISELECTABLE:\"multiselectable\",ORIENTATION:\"orientation\",OWNS:\"owns\",\nPOSINSET:\"posinset\",PRESSED:\"pressed\",READONLY:\"readonly\",RELEVANT:\"relevant\",REQUIRED:\"required\",ROWINDEX:\"rowindex\",SELECTED:\"selected\",SETSIZE:\"setsize\",SORT:\"sort\",VALUEMAX:\"valuemax\",VALUEMIN:\"valuemin\",VALUENOW:\"valuenow\",VALUETEXT:\"valuetext\"};goog.a11y.aria.AutoCompleteValues={INLINE:\"inline\",LIST:\"list\",BOTH:\"both\",NONE:\"none\"};goog.a11y.aria.DropEffectValues={COPY:\"copy\",MOVE:\"move\",LINK:\"link\",EXECUTE:\"execute\",POPUP:\"popup\",NONE:\"none\"};\ngoog.a11y.aria.LivePriority={OFF:\"off\",POLITE:\"polite\",ASSERTIVE:\"assertive\"};goog.a11y.aria.OrientationValues={VERTICAL:\"vertical\",HORIZONTAL:\"horizontal\"};goog.a11y.aria.RelevantValues={ADDITIONS:\"additions\",REMOVALS:\"removals\",TEXT:\"text\",ALL:\"all\"};goog.a11y.aria.SortValues={ASCENDING:\"ascending\",DESCENDING:\"descending\",NONE:\"none\",OTHER:\"other\"};goog.a11y.aria.CheckedValues={TRUE:\"true\",FALSE:\"false\",MIXED:\"mixed\",UNDEFINED:\"undefined\"};\ngoog.a11y.aria.ExpandedValues={TRUE:\"true\",FALSE:\"false\",UNDEFINED:\"undefined\"};goog.a11y.aria.GrabbedValues={TRUE:\"true\",FALSE:\"false\",UNDEFINED:\"undefined\"};goog.a11y.aria.InvalidValues={FALSE:\"false\",TRUE:\"true\",GRAMMAR:\"grammar\",SPELLING:\"spelling\"};goog.a11y.aria.PressedValues={TRUE:\"true\",FALSE:\"false\",MIXED:\"mixed\",UNDEFINED:\"undefined\"};goog.a11y.aria.SelectedValues={TRUE:\"true\",FALSE:\"false\",UNDEFINED:\"undefined\"};goog.a11y.aria.datatables={};\ngoog.a11y.aria.datatables.getDefaultValuesMap=function(){goog.a11y.aria.DefaultStateValueMap_||(goog.a11y.aria.DefaultStateValueMap_=goog.object.create(goog.a11y.aria.State.ATOMIC,!1,goog.a11y.aria.State.AUTOCOMPLETE,\"none\",goog.a11y.aria.State.DROPEFFECT,\"none\",goog.a11y.aria.State.HASPOPUP,!1,goog.a11y.aria.State.LIVE,\"off\",goog.a11y.aria.State.MULTILINE,!1,goog.a11y.aria.State.MULTISELECTABLE,!1,goog.a11y.aria.State.ORIENTATION,\"vertical\",goog.a11y.aria.State.READONLY,!1,goog.a11y.aria.State.RELEVANT,\n\"additions text\",goog.a11y.aria.State.REQUIRED,!1,goog.a11y.aria.State.SORT,\"none\",goog.a11y.aria.State.BUSY,!1,goog.a11y.aria.State.DISABLED,!1,goog.a11y.aria.State.HIDDEN,!1,goog.a11y.aria.State.INVALID,\"false\"));return goog.a11y.aria.DefaultStateValueMap_};goog.a11y.aria.ARIA_PREFIX_=\"aria-\";goog.a11y.aria.ROLE_ATTRIBUTE_=\"role\";goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_=goog.object.createSet(\"A AREA BUTTON HEAD INPUT LINK MENU META OPTGROUP OPTION PROGRESS STYLE SELECT SOURCE TEXTAREA TITLE TRACK\".split(\" \"));\ngoog.a11y.aria.CONTAINER_ROLES_=[goog.a11y.aria.Role.COMBOBOX,goog.a11y.aria.Role.GRID,goog.a11y.aria.Role.GROUP,goog.a11y.aria.Role.LISTBOX,goog.a11y.aria.Role.MENU,goog.a11y.aria.Role.MENUBAR,goog.a11y.aria.Role.RADIOGROUP,goog.a11y.aria.Role.ROW,goog.a11y.aria.Role.ROWGROUP,goog.a11y.aria.Role.TAB_LIST,goog.a11y.aria.Role.TEXTBOX,goog.a11y.aria.Role.TOOLBAR,goog.a11y.aria.Role.TREE,goog.a11y.aria.Role.TREEGRID];\ngoog.a11y.aria.setRole=function(a,b){b?(goog.asserts.ENABLE_ASSERTS\u0026\u0026goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.Role,b),\"No such ARIA role \"+b),a.setAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_,b)):goog.a11y.aria.removeRole(a)};goog.a11y.aria.getRole=function(a){return a.getAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)||null};goog.a11y.aria.removeRole=function(a){a.removeAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)};\ngoog.a11y.aria.setState=function(a,b,c){goog.isArray(c)\u0026\u0026(c=c.join(\" \"));var d=goog.a11y.aria.getAriaAttributeName_(b);\"\"===c||void 0==c?(c=goog.a11y.aria.datatables.getDefaultValuesMap(),b in c?a.setAttribute(d,c[b]):a.removeAttribute(d)):a.setAttribute(d,c)};goog.a11y.aria.toggleState=function(a,b){var c=goog.a11y.aria.getState(a,b);goog.string.isEmptyOrWhitespace(goog.string.makeSafe(c))||\"true\"==c||\"false\"==c?goog.a11y.aria.setState(a,b,\"true\"==c?\"false\":\"true\"):goog.a11y.aria.removeState(a,b)};\ngoog.a11y.aria.removeState=function(a,b){a.removeAttribute(goog.a11y.aria.getAriaAttributeName_(b))};goog.a11y.aria.getState=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));return null==c||void 0==c?\"\":String(c)};goog.a11y.aria.getActiveDescendant=function(a){var b=goog.a11y.aria.getState(a,goog.a11y.aria.State.ACTIVEDESCENDANT);return goog.dom.getOwnerDocument(a).getElementById(b)};\ngoog.a11y.aria.setActiveDescendant=function(a,b){var c=\"\";b\u0026\u0026(c=b.id,goog.asserts.assert(c,\"The active element should have an id.\"));goog.a11y.aria.setState(a,goog.a11y.aria.State.ACTIVEDESCENDANT,c)};goog.a11y.aria.getLabel=function(a){return goog.a11y.aria.getState(a,goog.a11y.aria.State.LABEL)};goog.a11y.aria.setLabel=function(a,b){goog.a11y.aria.setState(a,goog.a11y.aria.State.LABEL,b)};\ngoog.a11y.aria.assertRoleIsSetInternalUtil=function(a,b){if(!goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_[a.tagName]){var c=goog.a11y.aria.getRole(a);goog.asserts.assert(null!=c,\"The element ARIA role cannot be null.\");goog.asserts.assert(goog.array.contains(b,c),'Non existing or incorrect role set for element.The role set is \"'+c+'\". The role should be any of \"'+b+'\". Check the ARIA specification for more details http://www.w3.org/TR/wai-aria/roles.')}};\ngoog.a11y.aria.getStateBoolean=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert(goog.isBoolean(c)||null==c||\"true\"==c||\"false\"==c);return null==c?c:goog.isBoolean(c)?c:\"true\"==c};goog.a11y.aria.getStateNumber=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert((null==c||!isNaN(Number(c)))\u0026\u0026!goog.isBoolean(c));return null==c?null:Number(c)};\ngoog.a11y.aria.getStateString=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert((null==c||goog.isString(c))\u0026\u0026(\"\"==c||isNaN(Number(c)))\u0026\u0026\"true\"!=c\u0026\u0026\"false\"!=c);return null==c||\"\"==c?null:c};goog.a11y.aria.getStringArrayStateInternalUtil=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));return goog.a11y.aria.splitStringOnWhitespace_(c)};goog.a11y.aria.hasState=function(a,b){return a.hasAttribute(goog.a11y.aria.getAriaAttributeName_(b))};\ngoog.a11y.aria.isContainerRole=function(a){a=goog.a11y.aria.getRole(a);return goog.array.contains(goog.a11y.aria.CONTAINER_ROLES_,a)};goog.a11y.aria.splitStringOnWhitespace_=function(a){return a?a.split(/\\s+/):[]};goog.a11y.aria.getAriaAttributeName_=function(a){goog.asserts.ENABLE_ASSERTS\u0026\u0026(goog.asserts.assert(a,\"ARIA attribute cannot be empty.\"),goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.State,a),\"No such ARIA attribute \"+a));return goog.a11y.aria.ARIA_PREFIX_+a};goog.events.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,\nQ:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,\nSLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255};\ngoog.events.KeyCodes.isTextModifyingKeyEvent=function(a){if(a.altKey\u0026\u0026!a.ctrlKey||a.metaKey||a.keyCode\u003e=goog.events.KeyCodes.F1\u0026\u0026a.keyCode\u003c=goog.events.KeyCodes.F12)return!1;switch(a.keyCode){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goog.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog.events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.SCROLL_LOCK:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.VK_NONAME:case goog.events.KeyCodes.WIN_KEY:case goog.events.KeyCodes.WIN_KEY_RIGHT:return!1;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return!goog.userAgent.GECKO;\ndefault:return a.keyCode\u003cgoog.events.KeyCodes.FIRST_MEDIA_KEY||a.keyCode\u003egoog.events.KeyCodes.LAST_MEDIA_KEY}};\ngoog.events.KeyCodes.firesKeyPressEvent=function(a,b,c,d,e,f){if(!(goog.userAgent.IE||goog.userAgent.EDGE||goog.userAgent.WEBKIT\u0026\u0026goog.userAgent.isVersionOrHigher(\"525\")))return!0;if(goog.userAgent.MAC\u0026\u0026e)return goog.events.KeyCodes.isCharacterKey(a);if(e\u0026\u0026!d)return!1;goog.isNumber(b)\u0026\u0026(b=goog.events.KeyCodes.normalizeKeyCode(b));e=b==goog.events.KeyCodes.CTRL||b==goog.events.KeyCodes.ALT||goog.userAgent.MAC\u0026\u0026b==goog.events.KeyCodes.META;f=b==goog.events.KeyCodes.SHIFT\u0026\u0026(d||f);if((!c||goog.userAgent.MAC)\u0026\u0026\ne||goog.userAgent.MAC\u0026\u0026f)return!1;if((goog.userAgent.WEBKIT||goog.userAgent.EDGE)\u0026\u0026d\u0026\u0026c)switch(a){case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.TILDE:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:return!1}if(goog.userAgent.IE\u0026\u0026\nd\u0026\u0026b==a)return!1;switch(a){case goog.events.KeyCodes.ENTER:return!0;case goog.events.KeyCodes.ESC:return!(goog.userAgent.WEBKIT||goog.userAgent.EDGE)}return goog.events.KeyCodes.isCharacterKey(a)};\ngoog.events.KeyCodes.isCharacterKey=function(a){if(a\u003e=goog.events.KeyCodes.ZERO\u0026\u0026a\u003c=goog.events.KeyCodes.NINE||a\u003e=goog.events.KeyCodes.NUM_ZERO\u0026\u0026a\u003c=goog.events.KeyCodes.NUM_MULTIPLY||a\u003e=goog.events.KeyCodes.A\u0026\u0026a\u003c=goog.events.KeyCodes.Z||(goog.userAgent.WEBKIT||goog.userAgent.EDGE)\u0026\u00260==a)return!0;switch(a){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.PLUS_SIGN:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.AT_SIGN:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.FF_SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.FF_EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return!0;default:return!1}};\ngoog.events.KeyCodes.normalizeKeyCode=function(a){return goog.userAgent.GECKO?goog.events.KeyCodes.normalizeGeckoKeyCode(a):goog.userAgent.MAC\u0026\u0026goog.userAgent.WEBKIT?goog.events.KeyCodes.normalizeMacWebKitKeyCode(a):a};\ngoog.events.KeyCodes.normalizeGeckoKeyCode=function(a){switch(a){case goog.events.KeyCodes.FF_EQUALS:return goog.events.KeyCodes.EQUALS;case goog.events.KeyCodes.FF_SEMICOLON:return goog.events.KeyCodes.SEMICOLON;case goog.events.KeyCodes.FF_DASH:return goog.events.KeyCodes.DASH;case goog.events.KeyCodes.MAC_FF_META:return goog.events.KeyCodes.META;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return goog.events.KeyCodes.WIN_KEY;default:return a}};\ngoog.events.KeyCodes.normalizeMacWebKitKeyCode=function(a){switch(a){case goog.events.KeyCodes.MAC_WK_CMD_RIGHT:return goog.events.KeyCodes.META;default:return a}};goog.events.KeyHandler=function(a,b){goog.events.EventTarget.call(this);a\u0026\u0026this.attach(a,b)};goog.inherits(goog.events.KeyHandler,goog.events.EventTarget);goog.events.KeyHandler.prototype.element_=null;goog.events.KeyHandler.prototype.keyPressKey_=null;goog.events.KeyHandler.prototype.keyDownKey_=null;goog.events.KeyHandler.prototype.keyUpKey_=null;goog.events.KeyHandler.prototype.lastKey_=-1;goog.events.KeyHandler.prototype.keyCode_=-1;goog.events.KeyHandler.prototype.altKey_=!1;\ngoog.events.KeyHandler.EventType={KEY:\"key\"};\ngoog.events.KeyHandler.safariKey_={3:goog.events.KeyCodes.ENTER,12:goog.events.KeyCodes.NUMLOCK,63232:goog.events.KeyCodes.UP,63233:goog.events.KeyCodes.DOWN,63234:goog.events.KeyCodes.LEFT,63235:goog.events.KeyCodes.RIGHT,63236:goog.events.KeyCodes.F1,63237:goog.events.KeyCodes.F2,63238:goog.events.KeyCodes.F3,63239:goog.events.KeyCodes.F4,63240:goog.events.KeyCodes.F5,63241:goog.events.KeyCodes.F6,63242:goog.events.KeyCodes.F7,63243:goog.events.KeyCodes.F8,63244:goog.events.KeyCodes.F9,63245:goog.events.KeyCodes.F10,\n63246:goog.events.KeyCodes.F11,63247:goog.events.KeyCodes.F12,63248:goog.events.KeyCodes.PRINT_SCREEN,63272:goog.events.KeyCodes.DELETE,63273:goog.events.KeyCodes.HOME,63275:goog.events.KeyCodes.END,63276:goog.events.KeyCodes.PAGE_UP,63277:goog.events.KeyCodes.PAGE_DOWN,63289:goog.events.KeyCodes.NUMLOCK,63302:goog.events.KeyCodes.INSERT};\ngoog.events.KeyHandler.keyIdentifier_={Up:goog.events.KeyCodes.UP,Down:goog.events.KeyCodes.DOWN,Left:goog.events.KeyCodes.LEFT,Right:goog.events.KeyCodes.RIGHT,Enter:goog.events.KeyCodes.ENTER,F1:goog.events.KeyCodes.F1,F2:goog.events.KeyCodes.F2,F3:goog.events.KeyCodes.F3,F4:goog.events.KeyCodes.F4,F5:goog.events.KeyCodes.F5,F6:goog.events.KeyCodes.F6,F7:goog.events.KeyCodes.F7,F8:goog.events.KeyCodes.F8,F9:goog.events.KeyCodes.F9,F10:goog.events.KeyCodes.F10,F11:goog.events.KeyCodes.F11,F12:goog.events.KeyCodes.F12,\n\"U+007F\":goog.events.KeyCodes.DELETE,Home:goog.events.KeyCodes.HOME,End:goog.events.KeyCodes.END,PageUp:goog.events.KeyCodes.PAGE_UP,PageDown:goog.events.KeyCodes.PAGE_DOWN,Insert:goog.events.KeyCodes.INSERT};goog.events.KeyHandler.USES_KEYDOWN_=goog.userAgent.IE||goog.userAgent.EDGE||goog.userAgent.WEBKIT\u0026\u0026goog.userAgent.isVersionOrHigher(\"525\");goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_=goog.userAgent.MAC\u0026\u0026goog.userAgent.GECKO;\ngoog.events.KeyHandler.prototype.handleKeyDown_=function(a){(goog.userAgent.WEBKIT||goog.userAgent.EDGE)\u0026\u0026(this.lastKey_==goog.events.KeyCodes.CTRL\u0026\u0026!a.ctrlKey||this.lastKey_==goog.events.KeyCodes.ALT\u0026\u0026!a.altKey||goog.userAgent.MAC\u0026\u0026this.lastKey_==goog.events.KeyCodes.META\u0026\u0026!a.metaKey)\u0026\u0026this.resetState();-1==this.lastKey_\u0026\u0026(a.ctrlKey\u0026\u0026a.keyCode!=goog.events.KeyCodes.CTRL?this.lastKey_=goog.events.KeyCodes.CTRL:a.altKey\u0026\u0026a.keyCode!=goog.events.KeyCodes.ALT?this.lastKey_=goog.events.KeyCodes.ALT:a.metaKey\u0026\u0026\na.keyCode!=goog.events.KeyCodes.META\u0026\u0026(this.lastKey_=goog.events.KeyCodes.META));goog.events.KeyHandler.USES_KEYDOWN_\u0026\u0026!goog.events.KeyCodes.firesKeyPressEvent(a.keyCode,this.lastKey_,a.shiftKey,a.ctrlKey,a.altKey,a.metaKey)?this.handleEvent(a):(this.keyCode_=goog.events.KeyCodes.normalizeKeyCode(a.keyCode),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_\u0026\u0026(this.altKey_=a.altKey))};goog.events.KeyHandler.prototype.resetState=function(){this.keyCode_=this.lastKey_=-1};\ngoog.events.KeyHandler.prototype.handleKeyup_=function(a){this.resetState();this.altKey_=a.altKey};\ngoog.events.KeyHandler.prototype.handleEvent=function(a){var b=a.getBrowserEvent(),c=b.altKey;if(goog.userAgent.IE\u0026\u0026a.type==goog.events.EventType.KEYPRESS){var d=this.keyCode_;var e=d!=goog.events.KeyCodes.ENTER\u0026\u0026d!=goog.events.KeyCodes.ESC?b.keyCode:0}else(goog.userAgent.WEBKIT||goog.userAgent.EDGE)\u0026\u0026a.type==goog.events.EventType.KEYPRESS?(d=this.keyCode_,e=0\u003c=b.charCode\u0026\u002663232\u003eb.charCode\u0026\u0026goog.events.KeyCodes.isCharacterKey(d)?b.charCode:0):goog.userAgent.OPERA\u0026\u0026!goog.userAgent.WEBKIT?(d=this.keyCode_,\ne=goog.events.KeyCodes.isCharacterKey(d)?b.keyCode:0):(d=b.keyCode||this.keyCode_,e=b.charCode||0,goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_\u0026\u0026(c=this.altKey_),goog.userAgent.MAC\u0026\u0026e==goog.events.KeyCodes.QUESTION_MARK\u0026\u0026d==goog.events.KeyCodes.WIN_KEY\u0026\u0026(d=goog.events.KeyCodes.SLASH));var f=d=goog.events.KeyCodes.normalizeKeyCode(d);d?63232\u003c=d\u0026\u0026d in goog.events.KeyHandler.safariKey_?f=goog.events.KeyHandler.safariKey_[d]:25==d\u0026\u0026a.shiftKey\u0026\u0026(f=9):b.keyIdentifier\u0026\u0026b.keyIdentifier in goog.events.KeyHandler.keyIdentifier_\u0026\u0026\n(f=goog.events.KeyHandler.keyIdentifier_[b.keyIdentifier]);a=f==this.lastKey_;this.lastKey_=f;b=new goog.events.KeyEvent(f,e,a,b);b.altKey=c;this.dispatchEvent(b)};goog.events.KeyHandler.prototype.getElement=function(){return this.element_};\ngoog.events.KeyHandler.prototype.attach=function(a,b){this.keyUpKey_\u0026\u0026this.detach();this.element_=a;this.keyPressKey_=goog.events.listen(this.element_,goog.events.EventType.KEYPRESS,this,b);this.keyDownKey_=goog.events.listen(this.element_,goog.events.EventType.KEYDOWN,this.handleKeyDown_,b,this);this.keyUpKey_=goog.events.listen(this.element_,goog.events.EventType.KEYUP,this.handleKeyup_,b,this)};\ngoog.events.KeyHandler.prototype.detach=function(){this.keyPressKey_\u0026\u0026(goog.events.unlistenByKey(this.keyPressKey_),goog.events.unlistenByKey(this.keyDownKey_),goog.events.unlistenByKey(this.keyUpKey_),this.keyUpKey_=this.keyDownKey_=this.keyPressKey_=null);this.element_=null;this.keyCode_=this.lastKey_=-1};goog.events.KeyHandler.prototype.disposeInternal=function(){goog.events.KeyHandler.superClass_.disposeInternal.call(this);this.detach()};\ngoog.events.KeyEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,d);this.type=goog.events.KeyHandler.EventType.KEY;this.keyCode=a;this.charCode=b;this.repeat=c};goog.inherits(goog.events.KeyEvent,goog.events.BrowserEvent);goog.dom.classlist={};goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST=!1;goog.dom.classlist.get=function(a){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)return a.classList;a=a.className;return goog.isString(a)\u0026\u0026a.match(/\\S+/g)||[]};goog.dom.classlist.set=function(a,b){a.className=b};goog.dom.classlist.contains=function(a,b){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.contains(b):goog.array.contains(goog.dom.classlist.get(a),b)};\ngoog.dom.classlist.add=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.add(b):goog.dom.classlist.contains(a,b)||(a.className+=0\u003ca.className.length?\" \"+b:b)};\ngoog.dom.classlist.addAll=function(a,b){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)goog.array.forEach(b,function(b){goog.dom.classlist.add(a,b)});else{var c={};goog.array.forEach(goog.dom.classlist.get(a),function(a){c[a]=!0});goog.array.forEach(b,function(a){c[a]=!0});a.className=\"\";for(var d in c)a.className+=0\u003ca.className.length?\" \"+d:d}};\ngoog.dom.classlist.remove=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.remove(b):goog.dom.classlist.contains(a,b)\u0026\u0026(a.className=goog.array.filter(goog.dom.classlist.get(a),function(a){return a!=b}).join(\" \"))};\ngoog.dom.classlist.removeAll=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?goog.array.forEach(b,function(b){goog.dom.classlist.remove(a,b)}):a.className=goog.array.filter(goog.dom.classlist.get(a),function(a){return!goog.array.contains(b,a)}).join(\" \")};goog.dom.classlist.enable=function(a,b,c){c?goog.dom.classlist.add(a,b):goog.dom.classlist.remove(a,b)};goog.dom.classlist.enableAll=function(a,b,c){(c?goog.dom.classlist.addAll:goog.dom.classlist.removeAll)(a,b)};\ngoog.dom.classlist.swap=function(a,b,c){return goog.dom.classlist.contains(a,b)?(goog.dom.classlist.remove(a,b),goog.dom.classlist.add(a,c),!0):!1};goog.dom.classlist.toggle=function(a,b){var c=!goog.dom.classlist.contains(a,b);goog.dom.classlist.enable(a,b,c);return c};goog.dom.classlist.addRemove=function(a,b,c){goog.dom.classlist.remove(a,b);goog.dom.classlist.add(a,c)};goog.ui.registry={};goog.ui.registry.getDefaultRenderer=function(a){for(var b;a;){b=goog.getUid(a);if(b=goog.ui.registry.defaultRenderers_[b])break;a=a.superClass_?a.superClass_.constructor:null}return b?goog.isFunction(b.getInstance)?b.getInstance():new b:null};\ngoog.ui.registry.setDefaultRenderer=function(a,b){if(!goog.isFunction(a))throw Error(\"Invalid component class \"+a);if(!goog.isFunction(b))throw Error(\"Invalid renderer class \"+b);var c=goog.getUid(a);goog.ui.registry.defaultRenderers_[c]=b};goog.ui.registry.getDecoratorByClassName=function(a){return a in goog.ui.registry.decoratorFunctions_?goog.ui.registry.decoratorFunctions_[a]():null};\ngoog.ui.registry.setDecoratorByClassName=function(a,b){if(!a)throw Error(\"Invalid class name \"+a);if(!goog.isFunction(b))throw Error(\"Invalid decorator function \"+b);goog.ui.registry.decoratorFunctions_[a]=b};goog.ui.registry.getDecorator=function(a){goog.asserts.assert(a);for(var b=goog.dom.classlist.get(a),c=0,d=b.length;c\u003cd;c++)if(a=goog.ui.registry.getDecoratorByClassName(b[c]))return a;return null};\ngoog.ui.registry.reset=function(){goog.ui.registry.defaultRenderers_={};goog.ui.registry.decoratorFunctions_={}};goog.ui.registry.defaultRenderers_={};goog.ui.registry.decoratorFunctions_={};goog.ui.ContainerRenderer=function(a){this.ariaRole_=a};goog.addSingletonGetter(goog.ui.ContainerRenderer);goog.ui.ContainerRenderer.getCustomRenderer=function(a,b){var c=new a;c.getCssClass=function(){return b};return c};goog.ui.ContainerRenderer.CSS_CLASS=\"goog-container\";goog.ui.ContainerRenderer.prototype.getAriaRole=function(){return this.ariaRole_};goog.ui.ContainerRenderer.prototype.enableTabIndex=function(a,b){a\u0026\u0026(a.tabIndex=b?0:-1)};\ngoog.ui.ContainerRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom(\"DIV\",this.getClassNames(a).join(\" \"))};goog.ui.ContainerRenderer.prototype.getContentElement=function(a){return a};goog.ui.ContainerRenderer.prototype.canDecorate=function(a){return\"DIV\"==a.tagName};\ngoog.ui.ContainerRenderer.prototype.decorate=function(a,b){b.id\u0026\u0026a.setId(b.id);var c=this.getCssClass(),d=!1,e=goog.dom.classlist.get(b);e\u0026\u0026goog.array.forEach(e,function(b){b==c?d=!0:b\u0026\u0026this.setStateFromClassName(a,b,c)},this);d||goog.dom.classlist.add(b,c);this.decorateChildren(a,this.getContentElement(b));return b};\ngoog.ui.ContainerRenderer.prototype.setStateFromClassName=function(a,b,c){b==c+\"-disabled\"?a.setEnabled(!1):b==c+\"-horizontal\"?a.setOrientation(goog.ui.Container.Orientation.HORIZONTAL):b==c+\"-vertical\"\u0026\u0026a.setOrientation(goog.ui.Container.Orientation.VERTICAL)};\ngoog.ui.ContainerRenderer.prototype.decorateChildren=function(a,b,c){if(b){c=c||b.firstChild;for(var d;c\u0026\u0026c.parentNode==b;){d=c.nextSibling;if(c.nodeType==goog.dom.NodeType.ELEMENT){var e=this.getDecoratorForChild(c);e\u0026\u0026(e.setElementInternal(c),a.isEnabled()||e.setEnabled(!1),a.addChild(e),e.decorate(c))}else c.nodeValue\u0026\u0026\"\"!=goog.string.trim(c.nodeValue)||b.removeChild(c);c=d}}};goog.ui.ContainerRenderer.prototype.getDecoratorForChild=function(a){return goog.ui.registry.getDecorator(a)};\ngoog.ui.ContainerRenderer.prototype.initializeDom=function(a){a=a.getElement();goog.asserts.assert(a,\"The container DOM element cannot be null.\");goog.style.setUnselectable(a,!0,goog.userAgent.GECKO);goog.userAgent.IE\u0026\u0026(a.hideFocus=!0);var b=this.getAriaRole();b\u0026\u0026goog.a11y.aria.setRole(a,b)};goog.ui.ContainerRenderer.prototype.getKeyEventTarget=function(a){return a.getElement()};goog.ui.ContainerRenderer.prototype.getCssClass=function(){return goog.ui.ContainerRenderer.CSS_CLASS};\ngoog.ui.ContainerRenderer.prototype.getClassNames=function(a){var b=this.getCssClass(),c=a.getOrientation()==goog.ui.Container.Orientation.HORIZONTAL;c=[b,c?b+\"-horizontal\":b+\"-vertical\"];a.isEnabled()||c.push(b+\"-disabled\");return c};goog.ui.ContainerRenderer.prototype.getDefaultOrientation=function(){return goog.ui.Container.Orientation.VERTICAL};goog.ui.ControlRenderer=function(){};goog.addSingletonGetter(goog.ui.ControlRenderer);goog.tagUnsealableClass(goog.ui.ControlRenderer);goog.ui.ControlRenderer.getCustomRenderer=function(a,b){var c=new a;c.getCssClass=function(){return b};return c};goog.ui.ControlRenderer.CSS_CLASS=\"goog-control\";goog.ui.ControlRenderer.IE6_CLASS_COMBINATIONS=[];\ngoog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_=goog.object.create(goog.a11y.aria.Role.BUTTON,goog.a11y.aria.State.PRESSED,goog.a11y.aria.Role.CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.MENU_ITEM_CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM_RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.TAB,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.TREEITEM,\ngoog.a11y.aria.State.SELECTED);goog.ui.ControlRenderer.prototype.getAriaRole=function(){};goog.ui.ControlRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom(\"DIV\",this.getClassNames(a).join(\" \"),a.getContent())};goog.ui.ControlRenderer.prototype.getContentElement=function(a){return a};\ngoog.ui.ControlRenderer.prototype.enableClassName=function(a,b,c){if(a=a.getElement?a.getElement():a){var d=[b];goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"7\")\u0026\u0026(d=this.getAppliedCombinedClassNames_(goog.dom.classlist.get(a),b),d.push(b));goog.dom.classlist.enableAll(a,d,c)}};goog.ui.ControlRenderer.prototype.enableExtraClassName=function(a,b,c){this.enableClassName(a,b,c)};goog.ui.ControlRenderer.prototype.canDecorate=function(a){return!0};\ngoog.ui.ControlRenderer.prototype.decorate=function(a,b){b.id\u0026\u0026a.setId(b.id);var c=this.getContentElement(b);c\u0026\u0026c.firstChild?a.setContentInternal(c.firstChild.nextSibling?goog.array.clone(c.childNodes):c.firstChild):a.setContentInternal(null);var d=0,e=this.getCssClass(),f=this.getStructuralCssClass(),g=!1,h=!1,k=!1,m=goog.array.toArray(goog.dom.classlist.get(b));goog.array.forEach(m,function(a){g||a!=e?h||a!=f?d|=this.getStateFromClass(a):h=!0:(g=!0,f==e\u0026\u0026(h=!0));this.getStateFromClass(a)==goog.ui.Component.State.DISABLED\u0026\u0026\n(goog.asserts.assertElement(c),goog.dom.isFocusableTabIndex(c)\u0026\u0026goog.dom.setFocusableTabIndex(c,!1))},this);a.setStateInternal(d);g||(m.push(e),f==e\u0026\u0026(h=!0));h||m.push(f);var l=a.getExtraClassNames();l\u0026\u0026m.push.apply(m,l);if(goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"7\")){var n=this.getAppliedCombinedClassNames_(m);0\u003cn.length\u0026\u0026(m.push.apply(m,n),k=!0)}g\u0026\u0026h\u0026\u0026!l\u0026\u0026!k||goog.dom.classlist.set(b,m.join(\" \"));return b};\ngoog.ui.ControlRenderer.prototype.initializeDom=function(a){a.isRightToLeft()\u0026\u0026this.setRightToLeft(a.getElement(),!0);a.isEnabled()\u0026\u0026this.setFocusable(a,a.isVisible())};goog.ui.ControlRenderer.prototype.setAriaRole=function(a,b){var c=b||this.getAriaRole();if(c){goog.asserts.assert(a,\"The element passed as a first parameter cannot be null.\");var d=goog.a11y.aria.getRole(a);c!=d\u0026\u0026goog.a11y.aria.setRole(a,c)}};\ngoog.ui.ControlRenderer.prototype.setAriaStates=function(a,b){goog.asserts.assert(a);goog.asserts.assert(b);var c=a.getAriaLabel();goog.isDefAndNotNull(c)\u0026\u0026this.setAriaLabel(b,c);a.isVisible()||goog.a11y.aria.setState(b,goog.a11y.aria.State.HIDDEN,!a.isVisible());a.isEnabled()||this.updateAriaState(b,goog.ui.Component.State.DISABLED,!a.isEnabled());a.isSupportedState(goog.ui.Component.State.SELECTED)\u0026\u0026this.updateAriaState(b,goog.ui.Component.State.SELECTED,a.isSelected());a.isSupportedState(goog.ui.Component.State.CHECKED)\u0026\u0026\nthis.updateAriaState(b,goog.ui.Component.State.CHECKED,a.isChecked());a.isSupportedState(goog.ui.Component.State.OPENED)\u0026\u0026this.updateAriaState(b,goog.ui.Component.State.OPENED,a.isOpen())};goog.ui.ControlRenderer.prototype.setAriaLabel=function(a,b){goog.a11y.aria.setLabel(a,b)};goog.ui.ControlRenderer.prototype.setAllowTextSelection=function(a,b){goog.style.setUnselectable(a,!b,!goog.userAgent.IE\u0026\u0026!goog.userAgent.OPERA)};\ngoog.ui.ControlRenderer.prototype.setRightToLeft=function(a,b){this.enableClassName(a,this.getStructuralCssClass()+\"-rtl\",b)};goog.ui.ControlRenderer.prototype.isFocusable=function(a){var b;return a.isSupportedState(goog.ui.Component.State.FOCUSED)\u0026\u0026(b=a.getKeyEventTarget())?goog.dom.isFocusableTabIndex(b):!1};\ngoog.ui.ControlRenderer.prototype.setFocusable=function(a,b){var c;if(a.isSupportedState(goog.ui.Component.State.FOCUSED)\u0026\u0026(c=a.getKeyEventTarget())){if(!b\u0026\u0026a.isFocused()){try{c.blur()}catch(d){}a.isFocused()\u0026\u0026a.handleBlur(null)}goog.dom.isFocusableTabIndex(c)!=b\u0026\u0026goog.dom.setFocusableTabIndex(c,b)}};goog.ui.ControlRenderer.prototype.setVisible=function(a,b){goog.style.setElementShown(a,b);a\u0026\u0026goog.a11y.aria.setState(a,goog.a11y.aria.State.HIDDEN,!b)};\ngoog.ui.ControlRenderer.prototype.setState=function(a,b,c){var d=a.getElement();if(d){var e=this.getClassForState(b);e\u0026\u0026this.enableClassName(a,e,c);this.updateAriaState(d,b,c)}};\ngoog.ui.ControlRenderer.prototype.updateAriaState=function(a,b,c){goog.ui.ControlRenderer.ariaAttributeMap_||(goog.ui.ControlRenderer.ariaAttributeMap_=goog.object.create(goog.ui.Component.State.DISABLED,goog.a11y.aria.State.DISABLED,goog.ui.Component.State.SELECTED,goog.a11y.aria.State.SELECTED,goog.ui.Component.State.CHECKED,goog.a11y.aria.State.CHECKED,goog.ui.Component.State.OPENED,goog.a11y.aria.State.EXPANDED));goog.asserts.assert(a,\"The element passed as a first parameter cannot be null.\");\n(b=goog.ui.ControlRenderer.getAriaStateForAriaRole_(a,goog.ui.ControlRenderer.ariaAttributeMap_[b]))\u0026\u0026goog.a11y.aria.setState(a,b,c)};goog.ui.ControlRenderer.getAriaStateForAriaRole_=function(a,b){var c=goog.a11y.aria.getRole(a);if(!c)return b;c=goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_[c]||b;return goog.ui.ControlRenderer.isAriaState_(b)?c:b};goog.ui.ControlRenderer.isAriaState_=function(a){return a==goog.a11y.aria.State.CHECKED||a==goog.a11y.aria.State.SELECTED};\ngoog.ui.ControlRenderer.prototype.setContent=function(a,b){var c=this.getContentElement(a);if(c\u0026\u0026(goog.dom.removeChildren(c),b))if(goog.isString(b))goog.dom.setTextContent(c,b);else{var d=function(a){if(a){var b=goog.dom.getOwnerDocument(c);c.appendChild(goog.isString(a)?b.createTextNode(a):a)}};goog.isArray(b)?goog.array.forEach(b,d):!goog.isArrayLike(b)||\"nodeType\"in b?d(b):goog.array.forEach(goog.array.clone(b),d)}};goog.ui.ControlRenderer.prototype.getKeyEventTarget=function(a){return a.getElement()};\ngoog.ui.ControlRenderer.prototype.getCssClass=function(){return goog.ui.ControlRenderer.CSS_CLASS};goog.ui.ControlRenderer.prototype.getIe6ClassCombinations=function(){return[]};goog.ui.ControlRenderer.prototype.getStructuralCssClass=function(){return this.getCssClass()};\ngoog.ui.ControlRenderer.prototype.getClassNames=function(a){var b=this.getCssClass(),c=[b],d=this.getStructuralCssClass();d!=b\u0026\u0026c.push(d);b=this.getClassNamesForState(a.getState());c.push.apply(c,b);(a=a.getExtraClassNames())\u0026\u0026c.push.apply(c,a);goog.userAgent.IE\u0026\u0026!goog.userAgent.isVersionOrHigher(\"7\")\u0026\u0026c.push.apply(c,this.getAppliedCombinedClassNames_(c));return c};\ngoog.ui.ControlRenderer.prototype.getAppliedCombinedClassNames_=function(a,b){var c=[];b\u0026\u0026(a=goog.array.concat(a,[b]));goog.array.forEach(this.getIe6ClassCombinations(),function(d){!goog.array.every(d,goog.partial(goog.array.contains,a))||b\u0026\u0026!goog.array.contains(d,b)||c.push(d.join(\"_\"))});return c};goog.ui.ControlRenderer.prototype.getClassNamesForState=function(a){for(var b=[];a;){var c=a\u0026-a;b.push(this.getClassForState(c));a\u0026=~c}return b};\ngoog.ui.ControlRenderer.prototype.getClassForState=function(a){this.classByState_||this.createClassByStateMap_();return this.classByState_[a]};goog.ui.ControlRenderer.prototype.getStateFromClass=function(a){this.stateByClass_||this.createStateByClassMap_();a=parseInt(this.stateByClass_[a],10);return isNaN(a)?0:a};\ngoog.ui.ControlRenderer.prototype.createClassByStateMap_=function(){var a=this.getStructuralCssClass(),b=!goog.string.contains(goog.string.normalizeWhitespace(a),\" \");goog.asserts.assert(b,\"ControlRenderer has an invalid css class: '\"+a+\"'\");this.classByState_=goog.object.create(goog.ui.Component.State.DISABLED,a+\"-disabled\",goog.ui.Component.State.HOVER,a+\"-hover\",goog.ui.Component.State.ACTIVE,a+\"-active\",goog.ui.Component.State.SELECTED,a+\"-selected\",goog.ui.Component.State.CHECKED,a+\"-checked\",\ngoog.ui.Component.State.FOCUSED,a+\"-focused\",goog.ui.Component.State.OPENED,a+\"-open\")};goog.ui.ControlRenderer.prototype.createStateByClassMap_=function(){this.classByState_||this.createClassByStateMap_();this.stateByClass_=goog.object.transpose(this.classByState_)};goog.ui.Control=function(a,b,c){goog.ui.Component.call(this,c);this.renderer_=b||goog.ui.registry.getDefaultRenderer(this.constructor);this.setContentInternal(goog.isDef(a)?a:null);this.ariaLabel_=null};goog.inherits(goog.ui.Control,goog.ui.Component);goog.tagUnsealableClass(goog.ui.Control);goog.ui.Control.registerDecorator=goog.ui.registry.setDecoratorByClassName;goog.ui.Control.getDecorator=goog.ui.registry.getDecorator;goog.ui.Control.prototype.content_=null;goog.ui.Control.prototype.state_=0;\ngoog.ui.Control.prototype.supportedStates_=goog.ui.Component.State.DISABLED|goog.ui.Component.State.HOVER|goog.ui.Component.State.ACTIVE|goog.ui.Component.State.FOCUSED;goog.ui.Control.prototype.autoStates_=goog.ui.Component.State.ALL;goog.ui.Control.prototype.statesWithTransitionEvents_=0;goog.ui.Control.prototype.visible_=!0;goog.ui.Control.prototype.extraClassNames_=null;goog.ui.Control.prototype.handleMouseEvents_=!0;goog.ui.Control.prototype.allowTextSelection_=!1;\ngoog.ui.Control.prototype.preferredAriaRole_=null;goog.ui.Control.prototype.isHandleMouseEvents=function(){return this.handleMouseEvents_};goog.ui.Control.prototype.setHandleMouseEvents=function(a){this.isInDocument()\u0026\u0026a!=this.handleMouseEvents_\u0026\u0026this.enableMouseEventHandling_(a);this.handleMouseEvents_=a};goog.ui.Control.prototype.getKeyEventTarget=function(){return this.renderer_.getKeyEventTarget(this)};\ngoog.ui.Control.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler)};goog.ui.Control.prototype.getRenderer=function(){return this.renderer_};goog.ui.Control.prototype.setRenderer=function(a){if(this.isInDocument())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.getElement()\u0026\u0026this.setElementInternal(null);this.renderer_=a};goog.ui.Control.prototype.getExtraClassNames=function(){return this.extraClassNames_};\ngoog.ui.Control.prototype.addClassName=function(a){a\u0026\u0026(this.extraClassNames_?goog.array.contains(this.extraClassNames_,a)||this.extraClassNames_.push(a):this.extraClassNames_=[a],this.renderer_.enableExtraClassName(this,a,!0))};goog.ui.Control.prototype.removeClassName=function(a){a\u0026\u0026this.extraClassNames_\u0026\u0026goog.array.remove(this.extraClassNames_,a)\u0026\u0026(0==this.extraClassNames_.length\u0026\u0026(this.extraClassNames_=null),this.renderer_.enableExtraClassName(this,a,!1))};\ngoog.ui.Control.prototype.enableClassName=function(a,b){b?this.addClassName(a):this.removeClassName(a)};goog.ui.Control.prototype.createDom=function(){var a=this.renderer_.createDom(this);this.setElementInternal(a);this.renderer_.setAriaRole(a,this.getPreferredAriaRole());this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(a,!1);this.isVisible()||this.renderer_.setVisible(a,!1)};goog.ui.Control.prototype.getPreferredAriaRole=function(){return this.preferredAriaRole_};\ngoog.ui.Control.prototype.setPreferredAriaRole=function(a){this.preferredAriaRole_=a};goog.ui.Control.prototype.getAriaLabel=function(){return this.ariaLabel_};goog.ui.Control.prototype.setAriaLabel=function(a){this.ariaLabel_=a;var b=this.getElement();b\u0026\u0026this.renderer_.setAriaLabel(b,a)};goog.ui.Control.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())};goog.ui.Control.prototype.canDecorate=function(a){return this.renderer_.canDecorate(a)};\ngoog.ui.Control.prototype.decorateInternal=function(a){a=this.renderer_.decorate(this,a);this.setElementInternal(a);this.renderer_.setAriaRole(a,this.getPreferredAriaRole());this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(a,!1);this.visible_=\"none\"!=a.style.display};\ngoog.ui.Control.prototype.enterDocument=function(){goog.ui.Control.superClass_.enterDocument.call(this);this.renderer_.setAriaStates(this,this.getElementStrict());this.renderer_.initializeDom(this);if(this.supportedStates_\u0026~goog.ui.Component.State.DISABLED\u0026\u0026(this.isHandleMouseEvents()\u0026\u0026this.enableMouseEventHandling_(!0),this.isSupportedState(goog.ui.Component.State.FOCUSED))){var a=this.getKeyEventTarget();if(a){var b=this.getKeyHandler();b.attach(a);this.getHandler().listen(b,goog.events.KeyHandler.EventType.KEY,\nthis.handleKeyEvent).listen(a,goog.events.EventType.FOCUS,this.handleFocus).listen(a,goog.events.EventType.BLUR,this.handleBlur)}}};\ngoog.ui.Control.prototype.enableMouseEventHandling_=function(a){var b=this.getHandler(),c=this.getElement();a?(b.listen(c,goog.events.EventType.MOUSEOVER,this.handleMouseOver).listen(c,goog.events.EventType.MOUSEDOWN,this.handleMouseDown).listen(c,goog.events.EventType.MOUSEUP,this.handleMouseUp).listen(c,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.handleContextMenu!=goog.nullFunction\u0026\u0026b.listen(c,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE\u0026\u0026(goog.userAgent.isVersionOrHigher(9)||\nb.listen(c,goog.events.EventType.DBLCLICK,this.handleDblClick),this.ieMouseEventSequenceSimulator_||(this.ieMouseEventSequenceSimulator_=new goog.ui.Control.IeMouseEventSequenceSimulator_(this),this.registerDisposable(this.ieMouseEventSequenceSimulator_)))):(b.unlisten(c,goog.events.EventType.MOUSEOVER,this.handleMouseOver).unlisten(c,goog.events.EventType.MOUSEDOWN,this.handleMouseDown).unlisten(c,goog.events.EventType.MOUSEUP,this.handleMouseUp).unlisten(c,goog.events.EventType.MOUSEOUT,this.handleMouseOut),\nthis.handleContextMenu!=goog.nullFunction\u0026\u0026b.unlisten(c,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE\u0026\u0026(goog.userAgent.isVersionOrHigher(9)||b.unlisten(c,goog.events.EventType.DBLCLICK,this.handleDblClick),goog.dispose(this.ieMouseEventSequenceSimulator_),this.ieMouseEventSequenceSimulator_=null))};\ngoog.ui.Control.prototype.exitDocument=function(){goog.ui.Control.superClass_.exitDocument.call(this);this.keyHandler_\u0026\u0026this.keyHandler_.detach();this.isVisible()\u0026\u0026this.isEnabled()\u0026\u0026this.renderer_.setFocusable(this,!1)};goog.ui.Control.prototype.disposeInternal=function(){goog.ui.Control.superClass_.disposeInternal.call(this);this.keyHandler_\u0026\u0026(this.keyHandler_.dispose(),delete this.keyHandler_);delete this.renderer_;this.ieMouseEventSequenceSimulator_=this.extraClassNames_=this.content_=null};\ngoog.ui.Control.prototype.getContent=function(){return this.content_};goog.ui.Control.prototype.setContent=function(a){this.renderer_.setContent(this.getElement(),a);this.setContentInternal(a)};goog.ui.Control.prototype.setContentInternal=function(a){this.content_=a};goog.ui.Control.prototype.getCaption=function(){var a=this.getContent();if(!a)return\"\";a=goog.isString(a)?a:goog.isArray(a)?goog.array.map(a,goog.dom.getRawTextContent).join(\"\"):goog.dom.getTextContent(a);return goog.string.collapseBreakingSpaces(a)};\ngoog.ui.Control.prototype.setCaption=function(a){this.setContent(a)};goog.ui.Control.prototype.setRightToLeft=function(a){goog.ui.Control.superClass_.setRightToLeft.call(this,a);var b=this.getElement();b\u0026\u0026this.renderer_.setRightToLeft(b,a)};goog.ui.Control.prototype.isAllowTextSelection=function(){return this.allowTextSelection_};goog.ui.Control.prototype.setAllowTextSelection=function(a){this.allowTextSelection_=a;var b=this.getElement();b\u0026\u0026this.renderer_.setAllowTextSelection(b,a)};\ngoog.ui.Control.prototype.isVisible=function(){return this.visible_};goog.ui.Control.prototype.setVisible=function(a,b){if(b||this.visible_!=a\u0026\u0026this.dispatchEvent(a?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){var c=this.getElement();c\u0026\u0026this.renderer_.setVisible(c,a);this.isEnabled()\u0026\u0026this.renderer_.setFocusable(this,a);this.visible_=a;return!0}return!1};goog.ui.Control.prototype.isEnabled=function(){return!this.hasState(goog.ui.Component.State.DISABLED)};\ngoog.ui.Control.prototype.isParentDisabled_=function(){var a=this.getParent();return!!a\u0026\u0026\"function\"==typeof a.isEnabled\u0026\u0026!a.isEnabled()};goog.ui.Control.prototype.setEnabled=function(a){!this.isParentDisabled_()\u0026\u0026this.isTransitionAllowed(goog.ui.Component.State.DISABLED,!a)\u0026\u0026(a||(this.setActive(!1),this.setHighlighted(!1)),this.isVisible()\u0026\u0026this.renderer_.setFocusable(this,a),this.setState(goog.ui.Component.State.DISABLED,!a,!0))};goog.ui.Control.prototype.isHighlighted=function(){return this.hasState(goog.ui.Component.State.HOVER)};\ngoog.ui.Control.prototype.setHighlighted=function(a){this.isTransitionAllowed(goog.ui.Component.State.HOVER,a)\u0026\u0026this.setState(goog.ui.Component.State.HOVER,a)};goog.ui.Control.prototype.isActive=function(){return this.hasState(goog.ui.Component.State.ACTIVE)};goog.ui.Control.prototype.setActive=function(a){this.isTransitionAllowed(goog.ui.Component.State.ACTIVE,a)\u0026\u0026this.setState(goog.ui.Component.State.ACTIVE,a)};goog.ui.Control.prototype.isSelected=function(){return this.hasState(goog.ui.Component.State.SELECTED)};\ngoog.ui.Control.prototype.setSelected=function(a){this.isTransitionAllowed(goog.ui.Component.State.SELECTED,a)\u0026\u0026this.setState(goog.ui.Component.State.SELECTED,a)};goog.ui.Control.prototype.isChecked=function(){return this.hasState(goog.ui.Component.State.CHECKED)};goog.ui.Control.prototype.setChecked=function(a){this.isTransitionAllowed(goog.ui.Component.State.CHECKED,a)\u0026\u0026this.setState(goog.ui.Component.State.CHECKED,a)};goog.ui.Control.prototype.isFocused=function(){return this.hasState(goog.ui.Component.State.FOCUSED)};\ngoog.ui.Control.prototype.setFocused=function(a){this.isTransitionAllowed(goog.ui.Component.State.FOCUSED,a)\u0026\u0026this.setState(goog.ui.Component.State.FOCUSED,a)};goog.ui.Control.prototype.isOpen=function(){return this.hasState(goog.ui.Component.State.OPENED)};goog.ui.Control.prototype.setOpen=function(a){this.isTransitionAllowed(goog.ui.Component.State.OPENED,a)\u0026\u0026this.setState(goog.ui.Component.State.OPENED,a)};goog.ui.Control.prototype.getState=function(){return this.state_};\ngoog.ui.Control.prototype.hasState=function(a){return!!(this.state_\u0026a)};goog.ui.Control.prototype.setState=function(a,b,c){c||a!=goog.ui.Component.State.DISABLED?this.isSupportedState(a)\u0026\u0026b!=this.hasState(a)\u0026\u0026(this.renderer_.setState(this,a,b),this.state_=b?this.state_|a:this.state_\u0026~a):this.setEnabled(!b)};goog.ui.Control.prototype.setStateInternal=function(a){this.state_=a};goog.ui.Control.prototype.isSupportedState=function(a){return!!(this.supportedStates_\u0026a)};\ngoog.ui.Control.prototype.setSupportedState=function(a,b){if(this.isInDocument()\u0026\u0026this.hasState(a)\u0026\u0026!b)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);!b\u0026\u0026this.hasState(a)\u0026\u0026this.setState(a,!1);this.supportedStates_=b?this.supportedStates_|a:this.supportedStates_\u0026~a};goog.ui.Control.prototype.isAutoState=function(a){return!!(this.autoStates_\u0026a)\u0026\u0026this.isSupportedState(a)};goog.ui.Control.prototype.setAutoStates=function(a,b){this.autoStates_=b?this.autoStates_|a:this.autoStates_\u0026~a};\ngoog.ui.Control.prototype.isDispatchTransitionEvents=function(a){return!!(this.statesWithTransitionEvents_\u0026a)\u0026\u0026this.isSupportedState(a)};goog.ui.Control.prototype.setDispatchTransitionEvents=function(a,b){this.statesWithTransitionEvents_=b?this.statesWithTransitionEvents_|a:this.statesWithTransitionEvents_\u0026~a};\ngoog.ui.Control.prototype.isTransitionAllowed=function(a,b){return this.isSupportedState(a)\u0026\u0026this.hasState(a)!=b\u0026\u0026(!(this.statesWithTransitionEvents_\u0026a)||this.dispatchEvent(goog.ui.Component.getStateTransitionEvent(a,b)))\u0026\u0026!this.isDisposed()};goog.ui.Control.prototype.handleMouseOver=function(a){!goog.ui.Control.isMouseEventWithinElement_(a,this.getElement())\u0026\u0026this.dispatchEvent(goog.ui.Component.EventType.ENTER)\u0026\u0026this.isEnabled()\u0026\u0026this.isAutoState(goog.ui.Component.State.HOVER)\u0026\u0026this.setHighlighted(!0)};\ngoog.ui.Control.prototype.handleMouseOut=function(a){!goog.ui.Control.isMouseEventWithinElement_(a,this.getElement())\u0026\u0026this.dispatchEvent(goog.ui.Component.EventType.LEAVE)\u0026\u0026(this.isAutoState(goog.ui.Component.State.ACTIVE)\u0026\u0026this.setActive(!1),this.isAutoState(goog.ui.Component.State.HOVER)\u0026\u0026this.setHighlighted(!1))};goog.ui.Control.prototype.handleContextMenu=goog.nullFunction;goog.ui.Control.isMouseEventWithinElement_=function(a,b){return!!a.relatedTarget\u0026\u0026goog.dom.contains(b,a.relatedTarget)};\ngoog.ui.Control.prototype.handleMouseDown=function(a){this.isEnabled()\u0026\u0026(this.isAutoState(goog.ui.Component.State.HOVER)\u0026\u0026this.setHighlighted(!0),a.isMouseActionButton()\u0026\u0026(this.isAutoState(goog.ui.Component.State.ACTIVE)\u0026\u0026this.setActive(!0),this.renderer_\u0026\u0026this.renderer_.isFocusable(this)\u0026\u0026this.getKeyEventTarget().focus()));!this.isAllowTextSelection()\u0026\u0026a.isMouseActionButton()\u0026\u0026a.preventDefault()};\ngoog.ui.Control.prototype.handleMouseUp=function(a){this.isEnabled()\u0026\u0026(this.isAutoState(goog.ui.Component.State.HOVER)\u0026\u0026this.setHighlighted(!0),this.isActive()\u0026\u0026this.performActionInternal(a)\u0026\u0026this.isAutoState(goog.ui.Component.State.ACTIVE)\u0026\u0026this.setActive(!1))};goog.ui.Control.prototype.handleDblClick=function(a){this.isEnabled()\u0026\u0026this.performActionInternal(a)};\ngoog.ui.Control.prototype.performActionInternal=function(a){this.isAutoState(goog.ui.Component.State.CHECKED)\u0026\u0026this.setChecked(!this.isChecked());this.isAutoState(goog.ui.Component.State.SELECTED)\u0026\u0026this.setSelected(!0);this.isAutoState(goog.ui.Component.State.OPENED)\u0026\u0026this.setOpen(!this.isOpen());var b=new goog.events.Event(goog.ui.Component.EventType.ACTION,this);a\u0026\u0026(b.altKey=a.altKey,b.ctrlKey=a.ctrlKey,b.metaKey=a.metaKey,b.shiftKey=a.shiftKey,b.platformModifierKey=a.platformModifierKey);return this.dispatchEvent(b)};\ngoog.ui.Control.prototype.handleFocus=function(a){this.isAutoState(goog.ui.Component.State.FOCUSED)\u0026\u0026this.setFocused(!0)};goog.ui.Control.prototype.handleBlur=function(a){this.isAutoState(goog.ui.Component.State.ACTIVE)\u0026\u0026this.setActive(!1);this.isAutoState(goog.ui.Component.State.FOCUSED)\u0026\u0026this.setFocused(!1)};goog.ui.Control.prototype.handleKeyEvent=function(a){return this.isVisible()\u0026\u0026this.isEnabled()\u0026\u0026this.handleKeyEventInternal(a)?(a.preventDefault(),a.stopPropagation(),!0):!1};\ngoog.ui.Control.prototype.handleKeyEventInternal=function(a){return a.keyCode==goog.events.KeyCodes.ENTER\u0026\u0026this.performActionInternal(a)};goog.ui.registry.setDefaultRenderer(goog.ui.Control,goog.ui.ControlRenderer);goog.ui.registry.setDecoratorByClassName(goog.ui.ControlRenderer.CSS_CLASS,function(){return new goog.ui.Control(null)});\ngoog.ui.Control.IeMouseEventSequenceSimulator_=function(a){goog.Disposable.call(this);this.control_=a;this.clickExpected_=!1;this.handler_=new goog.events.EventHandler(this);this.registerDisposable(this.handler_);a=this.control_.getElementStrict();this.handler_.listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseDown_).listen(a,goog.events.EventType.MOUSEUP,this.handleMouseUp_).listen(a,goog.events.EventType.CLICK,this.handleClick_)};\ngoog.inherits(goog.ui.Control.IeMouseEventSequenceSimulator_,goog.Disposable);goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_=!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9);goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseDown_=function(){this.clickExpected_=!1};goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseUp_=function(){this.clickExpected_=!0};\ngoog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_=function(a,b){if(!goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_)return a.button=goog.events.BrowserEvent.MouseButton.LEFT,a.type=b,a;var c=document.createEvent(\"MouseEvents\");c.initMouseEvent(b,a.bubbles,a.cancelable,a.view||null,a.detail,a.screenX,a.screenY,a.clientX,a.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,goog.events.BrowserEvent.MouseButton.LEFT,a.relatedTarget||null);return c};\ngoog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleClick_=function(a){if(this.clickExpected_)this.clickExpected_=!1;else{var b=a.getBrowserEvent(),c=b.button,d=b.type,e=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(b,goog.events.EventType.MOUSEDOWN);this.control_.handleMouseDown(new goog.events.BrowserEvent(e,a.currentTarget));e=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(b,goog.events.EventType.MOUSEUP);this.control_.handleMouseUp(new goog.events.BrowserEvent(e,\na.currentTarget));goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_||(b.button=c,b.type=d)}};goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.disposeInternal=function(){this.control_=null;goog.ui.Control.IeMouseEventSequenceSimulator_.superClass_.disposeInternal.call(this)};goog.ui.Container=function(a,b,c){goog.ui.Component.call(this,c);this.renderer_=b||goog.ui.ContainerRenderer.getInstance();this.orientation_=a||this.renderer_.getDefaultOrientation()};goog.inherits(goog.ui.Container,goog.ui.Component);goog.tagUnsealableClass(goog.ui.Container);goog.ui.Container.EventType={AFTER_SHOW:\"aftershow\",AFTER_HIDE:\"afterhide\"};goog.ui.Container.Orientation={HORIZONTAL:\"horizontal\",VERTICAL:\"vertical\"};goog.ui.Container.prototype.keyEventTarget_=null;\ngoog.ui.Container.prototype.keyHandler_=null;goog.ui.Container.prototype.renderer_=null;goog.ui.Container.prototype.orientation_=null;goog.ui.Container.prototype.visible_=!0;goog.ui.Container.prototype.enabled_=!0;goog.ui.Container.prototype.focusable_=!0;goog.ui.Container.prototype.highlightedIndex_=-1;goog.ui.Container.prototype.openItem_=null;goog.ui.Container.prototype.mouseButtonPressed_=!1;goog.ui.Container.prototype.allowFocusableChildren_=!1;\ngoog.ui.Container.prototype.openFollowsHighlight_=!0;goog.ui.Container.prototype.childElementIdMap_=null;goog.ui.Container.prototype.getKeyEventTarget=function(){return this.keyEventTarget_||this.renderer_.getKeyEventTarget(this)};\ngoog.ui.Container.prototype.setKeyEventTarget=function(a){if(this.focusable_){var b=this.getKeyEventTarget(),c=this.isInDocument();this.keyEventTarget_=a;var d=this.getKeyEventTarget();c\u0026\u0026(this.keyEventTarget_=b,this.enableFocusHandling_(!1),this.keyEventTarget_=a,this.getKeyHandler().attach(d),this.enableFocusHandling_(!0))}else throw Error(\"Can't set key event target for container that doesn't support keyboard focus!\");};\ngoog.ui.Container.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler(this.getKeyEventTarget()))};goog.ui.Container.prototype.getRenderer=function(){return this.renderer_};goog.ui.Container.prototype.setRenderer=function(a){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.renderer_=a};goog.ui.Container.prototype.createDom=function(){this.setElementInternal(this.renderer_.createDom(this))};\ngoog.ui.Container.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())};goog.ui.Container.prototype.canDecorate=function(a){return this.renderer_.canDecorate(a)};goog.ui.Container.prototype.decorateInternal=function(a){this.setElementInternal(this.renderer_.decorate(this,a));\"none\"==a.style.display\u0026\u0026(this.visible_=!1)};\ngoog.ui.Container.prototype.enterDocument=function(){goog.ui.Container.superClass_.enterDocument.call(this);this.forEachChild(function(a){a.isInDocument()\u0026\u0026this.registerChildId_(a)},this);var a=this.getElement();this.renderer_.initializeDom(this);this.setVisible(this.visible_,!0);this.getHandler().listen(this,goog.ui.Component.EventType.ENTER,this.handleEnterItem).listen(this,goog.ui.Component.EventType.HIGHLIGHT,this.handleHighlightItem).listen(this,goog.ui.Component.EventType.UNHIGHLIGHT,this.handleUnHighlightItem).listen(this,\ngoog.ui.Component.EventType.OPEN,this.handleOpenItem).listen(this,goog.ui.Component.EventType.CLOSE,this.handleCloseItem).listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseDown).listen(goog.dom.getOwnerDocument(a),goog.events.EventType.MOUSEUP,this.handleDocumentMouseUp).listen(a,[goog.events.EventType.MOUSEDOWN,goog.events.EventType.MOUSEUP,goog.events.EventType.MOUSEOVER,goog.events.EventType.MOUSEOUT,goog.events.EventType.CONTEXTMENU],this.handleChildMouseEvents);this.isFocusable()\u0026\u0026this.enableFocusHandling_(!0)};\ngoog.ui.Container.prototype.enableFocusHandling_=function(a){var b=this.getHandler(),c=this.getKeyEventTarget();a?b.listen(c,goog.events.EventType.FOCUS,this.handleFocus).listen(c,goog.events.EventType.BLUR,this.handleBlur).listen(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent):b.unlisten(c,goog.events.EventType.FOCUS,this.handleFocus).unlisten(c,goog.events.EventType.BLUR,this.handleBlur).unlisten(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent)};\ngoog.ui.Container.prototype.exitDocument=function(){this.setHighlightedIndex(-1);this.openItem_\u0026\u0026this.openItem_.setOpen(!1);this.mouseButtonPressed_=!1;goog.ui.Container.superClass_.exitDocument.call(this)};goog.ui.Container.prototype.disposeInternal=function(){goog.ui.Container.superClass_.disposeInternal.call(this);this.keyHandler_\u0026\u0026(this.keyHandler_.dispose(),this.keyHandler_=null);this.renderer_=this.openItem_=this.childElementIdMap_=this.keyEventTarget_=null};\ngoog.ui.Container.prototype.handleEnterItem=function(a){return!0};\ngoog.ui.Container.prototype.handleHighlightItem=function(a){var b=this.indexOfChild(a.target);if(-1\u003cb\u0026\u0026b!=this.highlightedIndex_){var c=this.getHighlighted();c\u0026\u0026c.setHighlighted(!1);this.highlightedIndex_=b;c=this.getHighlighted();this.isMouseButtonPressed()\u0026\u0026c.setActive(!0);this.openFollowsHighlight_\u0026\u0026this.openItem_\u0026\u0026c!=this.openItem_\u0026\u0026(c.isSupportedState(goog.ui.Component.State.OPENED)?c.setOpen(!0):this.openItem_.setOpen(!1))}b=this.getElement();goog.asserts.assert(b,\"The DOM element for the container cannot be null.\");\nnull!=a.target.getElement()\u0026\u0026goog.a11y.aria.setState(b,goog.a11y.aria.State.ACTIVEDESCENDANT,a.target.getElement().id)};goog.ui.Container.prototype.handleUnHighlightItem=function(a){a.target==this.getHighlighted()\u0026\u0026(this.highlightedIndex_=-1);a=this.getElement();goog.asserts.assert(a,\"The DOM element for the container cannot be null.\");goog.a11y.aria.removeState(a,goog.a11y.aria.State.ACTIVEDESCENDANT)};\ngoog.ui.Container.prototype.handleOpenItem=function(a){(a=a.target)\u0026\u0026a!=this.openItem_\u0026\u0026a.getParent()==this\u0026\u0026(this.openItem_\u0026\u0026this.openItem_.setOpen(!1),this.openItem_=a)};goog.ui.Container.prototype.handleCloseItem=function(a){a.target==this.openItem_\u0026\u0026(this.openItem_=null);var b=this.getElement(),c=a.target.getElement();b\u0026\u0026a.target.isHighlighted()\u0026\u0026c\u0026\u0026goog.a11y.aria.setActiveDescendant(b,c)};\ngoog.ui.Container.prototype.handleMouseDown=function(a){this.enabled_\u0026\u0026this.setMouseButtonPressed(!0);var b=this.getKeyEventTarget();b\u0026\u0026goog.dom.isFocusableTabIndex(b)?b.focus():a.preventDefault()};goog.ui.Container.prototype.handleDocumentMouseUp=function(a){this.setMouseButtonPressed(!1)};\ngoog.ui.Container.prototype.handleChildMouseEvents=function(a){var b=this.getOwnerControl(a.target);if(b)switch(a.type){case goog.events.EventType.MOUSEDOWN:b.handleMouseDown(a);break;case goog.events.EventType.MOUSEUP:b.handleMouseUp(a);break;case goog.events.EventType.MOUSEOVER:b.handleMouseOver(a);break;case goog.events.EventType.MOUSEOUT:b.handleMouseOut(a);break;case goog.events.EventType.CONTEXTMENU:b.handleContextMenu(a)}};\ngoog.ui.Container.prototype.getOwnerControl=function(a){if(this.childElementIdMap_)for(var b=this.getElement();a\u0026\u0026a!==b;){var c=a.id;if(c in this.childElementIdMap_)return this.childElementIdMap_[c];a=a.parentNode}return null};goog.ui.Container.prototype.handleFocus=function(a){};goog.ui.Container.prototype.handleBlur=function(a){this.setHighlightedIndex(-1);this.setMouseButtonPressed(!1);this.openItem_\u0026\u0026this.openItem_.setOpen(!1)};\ngoog.ui.Container.prototype.handleKeyEvent=function(a){return this.isEnabled()\u0026\u0026this.isVisible()\u0026\u0026(0!=this.getChildCount()||this.keyEventTarget_)\u0026\u0026this.handleKeyEventInternal(a)?(a.preventDefault(),a.stopPropagation(),!0):!1};\ngoog.ui.Container.prototype.handleKeyEventInternal=function(a){var b=this.getHighlighted();if(b\u0026\u0026\"function\"==typeof b.handleKeyEvent\u0026\u0026b.handleKeyEvent(a)||this.openItem_\u0026\u0026this.openItem_!=b\u0026\u0026\"function\"==typeof this.openItem_.handleKeyEvent\u0026\u0026this.openItem_.handleKeyEvent(a))return!0;if(a.shiftKey||a.ctrlKey||a.metaKey||a.altKey)return!1;switch(a.keyCode){case goog.events.KeyCodes.ESC:if(this.isFocusable())this.getKeyEventTarget().blur();else return!1;break;case goog.events.KeyCodes.HOME:this.highlightFirst();\nbreak;case goog.events.KeyCodes.END:this.highlightLast();break;case goog.events.KeyCodes.UP:if(this.orientation_==goog.ui.Container.Orientation.VERTICAL)this.highlightPrevious();else return!1;break;case goog.events.KeyCodes.LEFT:if(this.orientation_==goog.ui.Container.Orientation.HORIZONTAL)this.isRightToLeft()?this.highlightNext():this.highlightPrevious();else return!1;break;case goog.events.KeyCodes.DOWN:if(this.orientation_==goog.ui.Container.Orientation.VERTICAL)this.highlightNext();else return!1;\nbreak;case goog.events.KeyCodes.RIGHT:if(this.orientation_==goog.ui.Container.Orientation.HORIZONTAL)this.isRightToLeft()?this.highlightPrevious():this.highlightNext();else return!1;break;default:return!1}return!0};goog.ui.Container.prototype.registerChildId_=function(a){var b=a.getElement();b=b.id||(b.id=a.getId());this.childElementIdMap_||(this.childElementIdMap_={});this.childElementIdMap_[b]=a};\ngoog.ui.Container.prototype.addChild=function(a,b){goog.asserts.assertInstanceof(a,goog.ui.Control,\"The child of a container must be a control\");goog.ui.Container.superClass_.addChild.call(this,a,b)};\ngoog.ui.Container.prototype.addChildAt=function(a,b,c){goog.asserts.assertInstanceof(a,goog.ui.Control);a.setDispatchTransitionEvents(goog.ui.Component.State.HOVER,!0);a.setDispatchTransitionEvents(goog.ui.Component.State.OPENED,!0);!this.isFocusable()\u0026\u0026this.isFocusableChildrenAllowed()||a.setSupportedState(goog.ui.Component.State.FOCUSED,!1);a.setHandleMouseEvents(!1);var d=a.getParent()==this?this.indexOfChild(a):-1;goog.ui.Container.superClass_.addChildAt.call(this,a,b,c);a.isInDocument()\u0026\u0026this.isInDocument()\u0026\u0026\nthis.registerChildId_(a);this.updateHighlightedIndex_(d,b)};goog.ui.Container.prototype.updateHighlightedIndex_=function(a,b){-1==a\u0026\u0026(a=this.getChildCount());a==this.highlightedIndex_?this.highlightedIndex_=Math.min(this.getChildCount()-1,b):a\u003ethis.highlightedIndex_\u0026\u0026b\u003c=this.highlightedIndex_?this.highlightedIndex_++:a\u003cthis.highlightedIndex_\u0026\u0026b\u003ethis.highlightedIndex_\u0026\u0026this.highlightedIndex_--};\ngoog.ui.Container.prototype.removeChild=function(a,b){a=goog.isString(a)?this.getChild(a):a;goog.asserts.assertInstanceof(a,goog.ui.Control);if(a){var c=this.indexOfChild(a);-1!=c\u0026\u0026(c==this.highlightedIndex_?(a.setHighlighted(!1),this.highlightedIndex_=-1):c\u003cthis.highlightedIndex_\u0026\u0026this.highlightedIndex_--);(c=a.getElement())\u0026\u0026c.id\u0026\u0026this.childElementIdMap_\u0026\u0026goog.object.remove(this.childElementIdMap_,c.id)}a=goog.ui.Container.superClass_.removeChild.call(this,a,b);a.setHandleMouseEvents(!0);return a};\ngoog.ui.Container.prototype.getOrientation=function(){return this.orientation_};goog.ui.Container.prototype.setOrientation=function(a){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.orientation_=a};goog.ui.Container.prototype.isVisible=function(){return this.visible_};\ngoog.ui.Container.prototype.setVisible=function(a,b){if(b||this.visible_!=a\u0026\u0026this.dispatchEvent(a?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){this.visible_=a;var c=this.getElement();c\u0026\u0026(goog.style.setElementShown(c,a),this.isFocusable()\u0026\u0026this.renderer_.enableTabIndex(this.getKeyEventTarget(),this.enabled_\u0026\u0026this.visible_),b||this.dispatchEvent(this.visible_?goog.ui.Container.EventType.AFTER_SHOW:goog.ui.Container.EventType.AFTER_HIDE));return!0}return!1};\ngoog.ui.Container.prototype.isEnabled=function(){return this.enabled_};\ngoog.ui.Container.prototype.setEnabled=function(a){this.enabled_!=a\u0026\u0026this.dispatchEvent(a?goog.ui.Component.EventType.ENABLE:goog.ui.Component.EventType.DISABLE)\u0026\u0026(a?(this.enabled_=!0,this.forEachChild(function(a){a.wasDisabled?delete a.wasDisabled:a.setEnabled(!0)})):(this.forEachChild(function(a){a.isEnabled()?a.setEnabled(!1):a.wasDisabled=!0}),this.enabled_=!1,this.setMouseButtonPressed(!1)),this.isFocusable()\u0026\u0026this.renderer_.enableTabIndex(this.getKeyEventTarget(),a\u0026\u0026this.visible_))};\ngoog.ui.Container.prototype.isFocusable=function(){return this.focusable_};goog.ui.Container.prototype.setFocusable=function(a){a!=this.focusable_\u0026\u0026this.isInDocument()\u0026\u0026this.enableFocusHandling_(a);this.focusable_=a;this.enabled_\u0026\u0026this.visible_\u0026\u0026this.renderer_.enableTabIndex(this.getKeyEventTarget(),a)};goog.ui.Container.prototype.isFocusableChildrenAllowed=function(){return this.allowFocusableChildren_};\ngoog.ui.Container.prototype.setFocusableChildrenAllowed=function(a){this.allowFocusableChildren_=a};goog.ui.Container.prototype.isOpenFollowsHighlight=function(){return this.openFollowsHighlight_};goog.ui.Container.prototype.setOpenFollowsHighlight=function(a){this.openFollowsHighlight_=a};goog.ui.Container.prototype.getHighlightedIndex=function(){return this.highlightedIndex_};\ngoog.ui.Container.prototype.setHighlightedIndex=function(a){(a=this.getChildAt(a))?a.setHighlighted(!0):-1\u003cthis.highlightedIndex_\u0026\u0026this.getHighlighted().setHighlighted(!1)};goog.ui.Container.prototype.setHighlighted=function(a){this.setHighlightedIndex(this.indexOfChild(a))};goog.ui.Container.prototype.getHighlighted=function(){return this.getChildAt(this.highlightedIndex_)};\ngoog.ui.Container.prototype.highlightFirst=function(){this.highlightHelper(function(a,b){return(a+1)%b},this.getChildCount()-1)};goog.ui.Container.prototype.highlightLast=function(){this.highlightHelper(function(a,b){a--;return 0\u003ea?b-1:a},0)};goog.ui.Container.prototype.highlightNext=function(){this.highlightHelper(function(a,b){return(a+1)%b},this.highlightedIndex_)};goog.ui.Container.prototype.highlightPrevious=function(){this.highlightHelper(function(a,b){a--;return 0\u003ea?b-1:a},this.highlightedIndex_)};\ngoog.ui.Container.prototype.highlightHelper=function(a,b){var c=0\u003eb?this.indexOfChild(this.openItem_):b,d=this.getChildCount();c=a.call(this,c,d);for(var e=0;e\u003c=d;){var f=this.getChildAt(c);if(f\u0026\u0026this.canHighlightItem(f))return this.setHighlightedIndexFromKeyEvent(c),!0;e++;c=a.call(this,c,d)}return!1};goog.ui.Container.prototype.canHighlightItem=function(a){return a.isVisible()\u0026\u0026a.isEnabled()\u0026\u0026a.isSupportedState(goog.ui.Component.State.HOVER)};\ngoog.ui.Container.prototype.setHighlightedIndexFromKeyEvent=function(a){this.setHighlightedIndex(a)};goog.ui.Container.prototype.getOpenItem=function(){return this.openItem_};goog.ui.Container.prototype.isMouseButtonPressed=function(){return this.mouseButtonPressed_};goog.ui.Container.prototype.setMouseButtonPressed=function(a){this.mouseButtonPressed_=a};goog.ui.MenuHeaderRenderer=function(){goog.ui.ControlRenderer.call(this)};goog.inherits(goog.ui.MenuHeaderRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuHeaderRenderer);goog.ui.MenuHeaderRenderer.CSS_CLASS=\"goog-menuheader\";goog.ui.MenuHeaderRenderer.prototype.getCssClass=function(){return goog.ui.MenuHeaderRenderer.CSS_CLASS};goog.ui.MenuHeader=function(a,b,c){goog.ui.Control.call(this,a,c||goog.ui.MenuHeaderRenderer.getInstance(),b);this.setSupportedState(goog.ui.Component.State.DISABLED,!1);this.setSupportedState(goog.ui.Component.State.HOVER,!1);this.setSupportedState(goog.ui.Component.State.ACTIVE,!1);this.setSupportedState(goog.ui.Component.State.FOCUSED,!1);this.setStateInternal(goog.ui.Component.State.DISABLED)};goog.inherits(goog.ui.MenuHeader,goog.ui.Control);\ngoog.ui.registry.setDecoratorByClassName(goog.ui.MenuHeaderRenderer.CSS_CLASS,function(){return new goog.ui.MenuHeader(null)});goog.ui.MenuItemRenderer=function(){goog.ui.ControlRenderer.call(this);this.classNameCache_=[]};goog.inherits(goog.ui.MenuItemRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuItemRenderer);goog.ui.MenuItemRenderer.CSS_CLASS=\"goog-menuitem\";goog.ui.MenuItemRenderer.CompositeCssClassIndex_={HOVER:0,CHECKBOX:1,CONTENT:2};\ngoog.ui.MenuItemRenderer.prototype.getCompositeCssClass_=function(a){var b=this.classNameCache_[a];if(!b){switch(a){case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER:b=this.getStructuralCssClass()+\"-highlight\";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX:b=this.getStructuralCssClass()+\"-checkbox\";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT:b=this.getStructuralCssClass()+\"-content\"}this.classNameCache_[a]=b}return b};\ngoog.ui.MenuItemRenderer.prototype.getAriaRole=function(){return goog.a11y.aria.Role.MENU_ITEM};goog.ui.MenuItemRenderer.prototype.createDom=function(a){var b=a.getDomHelper().createDom(\"DIV\",this.getClassNames(a).join(\" \"),this.createContent(a.getContent(),a.getDomHelper()));this.setEnableCheckBoxStructure(a,b,a.isSupportedState(goog.ui.Component.State.SELECTED)||a.isSupportedState(goog.ui.Component.State.CHECKED));return b};\ngoog.ui.MenuItemRenderer.prototype.getContentElement=function(a){return a\u0026\u0026a.firstChild};goog.ui.MenuItemRenderer.prototype.decorate=function(a,b){goog.asserts.assert(b);this.hasContentStructure(b)||b.appendChild(this.createContent(b.childNodes,a.getDomHelper()));goog.dom.classlist.contains(b,\"goog-option\")\u0026\u0026(a.setCheckable(!0),this.setCheckable(a,b,!0));return goog.ui.MenuItemRenderer.superClass_.decorate.call(this,a,b)};\ngoog.ui.MenuItemRenderer.prototype.setContent=function(a,b){var c=this.getContentElement(a),d=this.hasCheckBoxStructure(a)?c.firstChild:null;goog.ui.MenuItemRenderer.superClass_.setContent.call(this,a,b);d\u0026\u0026!this.hasCheckBoxStructure(a)\u0026\u0026c.insertBefore(d,c.firstChild||null)};\ngoog.ui.MenuItemRenderer.prototype.hasContentStructure=function(a){a=goog.dom.getFirstElementChild(a);var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return!!a\u0026\u0026goog.dom.classlist.contains(a,b)};goog.ui.MenuItemRenderer.prototype.createContent=function(a,b){var c=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return b.createDom(\"DIV\",c,a)};\ngoog.ui.MenuItemRenderer.prototype.setSelectable=function(a,b,c){a\u0026\u0026b\u0026\u0026this.setEnableCheckBoxStructure(a,b,c)};goog.ui.MenuItemRenderer.prototype.setCheckable=function(a,b,c){a\u0026\u0026b\u0026\u0026this.setEnableCheckBoxStructure(a,b,c)};goog.ui.MenuItemRenderer.prototype.hasCheckBoxStructure=function(a){if(a=this.getContentElement(a)){a=a.firstChild;var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX);return!!a\u0026\u0026goog.dom.isElement(a)\u0026\u0026goog.dom.classlist.contains(a,b)}return!1};\ngoog.ui.MenuItemRenderer.prototype.setEnableCheckBoxStructure=function(a,b,c){this.setAriaRole(b,a.getPreferredAriaRole());this.setAriaStates(a,b);c!=this.hasCheckBoxStructure(b)\u0026\u0026(goog.dom.classlist.enable(b,\"goog-option\",c),b=this.getContentElement(b),c?(c=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX),b.insertBefore(a.getDomHelper().createDom(\"DIV\",c),b.firstChild||null)):b.removeChild(b.firstChild))};\ngoog.ui.MenuItemRenderer.prototype.getClassForState=function(a){switch(a){case goog.ui.Component.State.HOVER:return this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);case goog.ui.Component.State.CHECKED:case goog.ui.Component.State.SELECTED:return\"goog-option-selected\";default:return goog.ui.MenuItemRenderer.superClass_.getClassForState.call(this,a)}};\ngoog.ui.MenuItemRenderer.prototype.getStateFromClass=function(a){var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);switch(a){case \"goog-option-selected\":return goog.ui.Component.State.CHECKED;case b:return goog.ui.Component.State.HOVER;default:return goog.ui.MenuItemRenderer.superClass_.getStateFromClass.call(this,a)}};goog.ui.MenuItemRenderer.prototype.getCssClass=function(){return goog.ui.MenuItemRenderer.CSS_CLASS};goog.ui.MenuItem=function(a,b,c,d){goog.ui.Control.call(this,a,d||goog.ui.MenuItemRenderer.getInstance(),c);this.setValue(b)};goog.inherits(goog.ui.MenuItem,goog.ui.Control);goog.tagUnsealableClass(goog.ui.MenuItem);goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_=\"goog-menuitem-mnemonic-separator\";goog.ui.MenuItem.ACCELERATOR_CLASS=\"goog-menuitem-accel\";goog.ui.MenuItem.prototype.getValue=function(){var a=this.getModel();return null!=a?a:this.getCaption()};goog.ui.MenuItem.prototype.setValue=function(a){this.setModel(a)};\ngoog.ui.MenuItem.prototype.setSupportedState=function(a,b){goog.ui.MenuItem.superClass_.setSupportedState.call(this,a,b);switch(a){case goog.ui.Component.State.SELECTED:this.setSelectableInternal_(b);break;case goog.ui.Component.State.CHECKED:this.setCheckableInternal_(b)}};goog.ui.MenuItem.prototype.setSelectable=function(a){this.setSupportedState(goog.ui.Component.State.SELECTED,a)};\ngoog.ui.MenuItem.prototype.setSelectableInternal_=function(a){this.isChecked()\u0026\u0026!a\u0026\u0026this.setChecked(!1);var b=this.getElement();b\u0026\u0026this.getRenderer().setSelectable(this,b,a)};goog.ui.MenuItem.prototype.setCheckable=function(a){this.setSupportedState(goog.ui.Component.State.CHECKED,a)};goog.ui.MenuItem.prototype.setCheckableInternal_=function(a){var b=this.getElement();b\u0026\u0026this.getRenderer().setCheckable(this,b,a)};\ngoog.ui.MenuItem.prototype.getCaption=function(){var a=this.getContent();if(goog.isArray(a)){var b=goog.ui.MenuItem.ACCELERATOR_CLASS,c=goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_;a=goog.array.map(a,function(a){return goog.dom.isElement(a)\u0026\u0026(goog.dom.classlist.contains(a,b)||goog.dom.classlist.contains(a,c))?\"\":goog.dom.getRawTextContent(a)}).join(\"\");return goog.string.collapseBreakingSpaces(a)}return goog.ui.MenuItem.superClass_.getCaption.call(this)};\ngoog.ui.MenuItem.prototype.getAccelerator=function(){var a=this.getDomHelper(),b=this.getContent();return goog.isArray(b)\u0026\u0026(b=goog.array.find(b,function(a){return goog.dom.classlist.contains(a,goog.ui.MenuItem.ACCELERATOR_CLASS)}))?a.getTextContent(b):null};\ngoog.ui.MenuItem.prototype.handleMouseUp=function(a){var b=this.getParent();if(b){var c=b.openingCoords;b.openingCoords=null;if(c\u0026\u0026goog.isNumber(a.clientX)\u0026\u0026(b=new goog.math.Coordinate(a.clientX,a.clientY),goog.math.Coordinate.equals(c,b)))return}goog.ui.MenuItem.superClass_.handleMouseUp.call(this,a)};goog.ui.MenuItem.prototype.handleKeyEventInternal=function(a){return a.keyCode==this.getMnemonic()\u0026\u0026this.performActionInternal(a)?!0:goog.ui.MenuItem.superClass_.handleKeyEventInternal.call(this,a)};\ngoog.ui.MenuItem.prototype.setMnemonic=function(a){this.mnemonicKey_=a};goog.ui.MenuItem.prototype.getMnemonic=function(){return this.mnemonicKey_};goog.ui.registry.setDecoratorByClassName(goog.ui.MenuItemRenderer.CSS_CLASS,function(){return new goog.ui.MenuItem(null)});\ngoog.ui.MenuItem.prototype.getPreferredAriaRole=function(){return this.isSupportedState(goog.ui.Component.State.CHECKED)?goog.a11y.aria.Role.MENU_ITEM_CHECKBOX:this.isSupportedState(goog.ui.Component.State.SELECTED)?goog.a11y.aria.Role.MENU_ITEM_RADIO:goog.ui.MenuItem.superClass_.getPreferredAriaRole.call(this)};goog.ui.MenuItem.prototype.getParent=function(){return goog.ui.Control.prototype.getParent.call(this)};goog.ui.MenuItem.prototype.getParentEventTarget=function(){return goog.ui.Control.prototype.getParentEventTarget.call(this)};goog.ui.MenuSeparatorRenderer=function(){goog.ui.ControlRenderer.call(this)};goog.inherits(goog.ui.MenuSeparatorRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuSeparatorRenderer);goog.ui.MenuSeparatorRenderer.CSS_CLASS=\"goog-menuseparator\";goog.ui.MenuSeparatorRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom(\"DIV\",this.getCssClass())};\ngoog.ui.MenuSeparatorRenderer.prototype.decorate=function(a,b){b.id\u0026\u0026a.setId(b.id);if(\"HR\"==b.tagName){var c=b;b=this.createDom(a);goog.dom.insertSiblingBefore(b,c);goog.dom.removeNode(c)}else goog.dom.classlist.add(b,this.getCssClass());return b};goog.ui.MenuSeparatorRenderer.prototype.setContent=function(a,b){};goog.ui.MenuSeparatorRenderer.prototype.getCssClass=function(){return goog.ui.MenuSeparatorRenderer.CSS_CLASS};goog.ui.Separator=function(a,b){goog.ui.Control.call(this,null,a||goog.ui.MenuSeparatorRenderer.getInstance(),b);this.setSupportedState(goog.ui.Component.State.DISABLED,!1);this.setSupportedState(goog.ui.Component.State.HOVER,!1);this.setSupportedState(goog.ui.Component.State.ACTIVE,!1);this.setSupportedState(goog.ui.Component.State.FOCUSED,!1);this.setStateInternal(goog.ui.Component.State.DISABLED)};goog.inherits(goog.ui.Separator,goog.ui.Control);\ngoog.ui.Separator.prototype.enterDocument=function(){goog.ui.Separator.superClass_.enterDocument.call(this);var a=this.getElement();goog.asserts.assert(a,\"The DOM element for the separator cannot be null.\");goog.a11y.aria.setRole(a,\"separator\")};goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,function(){return new goog.ui.Separator});goog.ui.MenuRenderer=function(a){goog.ui.ContainerRenderer.call(this,a||goog.a11y.aria.Role.MENU)};goog.inherits(goog.ui.MenuRenderer,goog.ui.ContainerRenderer);goog.addSingletonGetter(goog.ui.MenuRenderer);goog.ui.MenuRenderer.CSS_CLASS=\"goog-menu\";goog.ui.MenuRenderer.prototype.canDecorate=function(a){return\"UL\"==a.tagName||goog.ui.MenuRenderer.superClass_.canDecorate.call(this,a)};\ngoog.ui.MenuRenderer.prototype.getDecoratorForChild=function(a){return\"HR\"==a.tagName?new goog.ui.Separator:goog.ui.MenuRenderer.superClass_.getDecoratorForChild.call(this,a)};goog.ui.MenuRenderer.prototype.containsElement=function(a,b){return goog.dom.contains(a.getElement(),b)};goog.ui.MenuRenderer.prototype.getCssClass=function(){return goog.ui.MenuRenderer.CSS_CLASS};\ngoog.ui.MenuRenderer.prototype.initializeDom=function(a){goog.ui.MenuRenderer.superClass_.initializeDom.call(this,a);a=a.getElement();goog.asserts.assert(a,\"The menu DOM element cannot be null.\");goog.a11y.aria.setState(a,goog.a11y.aria.State.HASPOPUP,\"true\")};goog.ui.MenuSeparator=function(a){goog.ui.Separator.call(this,goog.ui.MenuSeparatorRenderer.getInstance(),a)};goog.inherits(goog.ui.MenuSeparator,goog.ui.Separator);goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,function(){return new goog.ui.Separator});goog.ui.Menu=function(a,b){goog.ui.Container.call(this,goog.ui.Container.Orientation.VERTICAL,b||goog.ui.MenuRenderer.getInstance(),a);this.setFocusable(!1)};goog.inherits(goog.ui.Menu,goog.ui.Container);goog.tagUnsealableClass(goog.ui.Menu);goog.ui.Menu.EventType={BEFORE_SHOW:goog.ui.Component.EventType.BEFORE_SHOW,SHOW:goog.ui.Component.EventType.SHOW,BEFORE_HIDE:goog.ui.Component.EventType.HIDE,HIDE:goog.ui.Component.EventType.HIDE};goog.ui.Menu.CSS_CLASS=goog.ui.MenuRenderer.CSS_CLASS;\ngoog.ui.Menu.prototype.allowAutoFocus_=!0;goog.ui.Menu.prototype.allowHighlightDisabled_=!1;goog.ui.Menu.prototype.getCssClass=function(){return this.getRenderer().getCssClass()};goog.ui.Menu.prototype.containsElement=function(a){if(this.getRenderer().containsElement(this,a))return!0;for(var b=0,c=this.getChildCount();b\u003cc;b++){var d=this.getChildAt(b);if(\"function\"==typeof d.containsElement\u0026\u0026d.containsElement(a))return!0}return!1};goog.ui.Menu.prototype.addItem=function(a){this.addChild(a,!0)};\ngoog.ui.Menu.prototype.addItemAt=function(a,b){this.addChildAt(a,b,!0)};goog.ui.Menu.prototype.removeItem=function(a){(a=this.removeChild(a,!0))\u0026\u0026a.dispose()};goog.ui.Menu.prototype.removeItemAt=function(a){(a=this.removeChildAt(a,!0))\u0026\u0026a.dispose()};goog.ui.Menu.prototype.getItemAt=function(a){return this.getChildAt(a)};goog.ui.Menu.prototype.getItemCount=function(){return this.getChildCount()};goog.ui.Menu.prototype.getItems=function(){var a=[];this.forEachChild(function(b){a.push(b)});return a};\ngoog.ui.Menu.prototype.setPosition=function(a,b){var c=this.isVisible();c||goog.style.setElementShown(this.getElement(),!0);goog.style.setPageOffset(this.getElement(),a,b);c||goog.style.setElementShown(this.getElement(),!1)};goog.ui.Menu.prototype.getPosition=function(){return this.isVisible()?goog.style.getPageOffset(this.getElement()):null};goog.ui.Menu.prototype.setAllowAutoFocus=function(a){(this.allowAutoFocus_=a)\u0026\u0026this.setFocusable(!0)};goog.ui.Menu.prototype.getAllowAutoFocus=function(){return this.allowAutoFocus_};\ngoog.ui.Menu.prototype.setAllowHighlightDisabled=function(a){this.allowHighlightDisabled_=a};goog.ui.Menu.prototype.getAllowHighlightDisabled=function(){return this.allowHighlightDisabled_};goog.ui.Menu.prototype.setVisible=function(a,b,c){(b=goog.ui.Menu.superClass_.setVisible.call(this,a,b))\u0026\u0026a\u0026\u0026this.isInDocument()\u0026\u0026this.allowAutoFocus_\u0026\u0026this.getKeyEventTarget().focus();a\u0026\u0026c\u0026\u0026goog.isNumber(c.clientX)?this.openingCoords=new goog.math.Coordinate(c.clientX,c.clientY):this.openingCoords=null;return b};\ngoog.ui.Menu.prototype.handleEnterItem=function(a){this.allowAutoFocus_\u0026\u0026this.getKeyEventTarget().focus();return goog.ui.Menu.superClass_.handleEnterItem.call(this,a)};goog.ui.Menu.prototype.highlightNextPrefix=function(a){var b=new RegExp(\"^\"+goog.string.regExpEscape(a),\"i\");return this.highlightHelper(function(a,d){var c=0\u003ea?0:a,f=!1;do{++a;a==d\u0026\u0026(a=0,f=!0);var g=this.getChildAt(a).getCaption();if(g\u0026\u0026g.match(b))return a}while(!f||a!=c);return this.getHighlightedIndex()},this.getHighlightedIndex())};\ngoog.ui.Menu.prototype.canHighlightItem=function(a){return(this.allowHighlightDisabled_||a.isEnabled())\u0026\u0026a.isVisible()\u0026\u0026a.isSupportedState(goog.ui.Component.State.HOVER)};goog.ui.Menu.prototype.decorateInternal=function(a){this.decorateContent(a);goog.ui.Menu.superClass_.decorateInternal.call(this,a)};\ngoog.ui.Menu.prototype.handleKeyEventInternal=function(a){var b=goog.ui.Menu.superClass_.handleKeyEventInternal.call(this,a);b||this.forEachChild(function(c){!b\u0026\u0026c.getMnemonic\u0026\u0026c.getMnemonic()==a.keyCode\u0026\u0026(this.isEnabled()\u0026\u0026this.setHighlighted(c),b=c.handleKeyEvent(a))},this);return b};goog.ui.Menu.prototype.setHighlightedIndex=function(a){goog.ui.Menu.superClass_.setHighlightedIndex.call(this,a);(a=this.getChildAt(a))\u0026\u0026goog.style.scrollIntoContainerView(a.getElement(),this.getElement())};\ngoog.ui.Menu.prototype.decorateContent=function(a){var b=this.getRenderer();a=this.getDomHelper().getElementsByTagNameAndClass(\"DIV\",b.getCssClass()+\"-content\",a);for(var c=a.length,d=0;d\u003cc;d++)b.decorateChildren(this,a[d])};goog.iter={};goog.iter.StopIteration=\"StopIteration\"in goog.global?goog.global.StopIteration:{message:\"StopIteration\",stack:\"\"};goog.iter.Iterator=function(){};goog.iter.Iterator.prototype.next=function(){throw goog.iter.StopIteration;};goog.iter.Iterator.prototype.__iterator__=function(a){return this};\ngoog.iter.toIterator=function(a){if(a instanceof goog.iter.Iterator)return a;if(\"function\"==typeof a.__iterator__)return a.__iterator__(!1);if(goog.isArrayLike(a)){var b=0,c=new goog.iter.Iterator;c.next=function(){for(;;){if(b\u003e=a.length)throw goog.iter.StopIteration;if(b in a)return a[b++];b++}};return c}throw Error(\"Not implemented\");};\ngoog.iter.forEach=function(a,b,c){if(goog.isArrayLike(a))try{goog.array.forEach(a,b,c)}catch(d){if(d!==goog.iter.StopIteration)throw d;}else{a=goog.iter.toIterator(a);try{for(;;)b.call(c,a.next(),void 0,a)}catch(d){if(d!==goog.iter.StopIteration)throw d;}}};goog.iter.filter=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){for(;;){var a=d.next();if(b.call(c,a,void 0,d))return a}};return a};\ngoog.iter.filterFalse=function(a,b,c){return goog.iter.filter(a,goog.functions.not(b),c)};goog.iter.range=function(a,b,c){var d=0,e=a,f=c||1;1\u003carguments.length\u0026\u0026(d=a,e=b);if(0==f)throw Error(\"Range step argument must not be zero\");var g=new goog.iter.Iterator;g.next=function(){if(0\u003cf\u0026\u0026d\u003e=e||0\u003ef\u0026\u0026d\u003c=e)throw goog.iter.StopIteration;var a=d;d+=f;return a};return g};goog.iter.join=function(a,b){return goog.iter.toArray(a).join(b)};\ngoog.iter.map=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();return b.call(c,a,void 0,d)};return a};goog.iter.reduce=function(a,b,c,d){var e=c;goog.iter.forEach(a,function(a){e=b.call(d,e,a)});return e};goog.iter.some=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),void 0,a))return!0}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!1};\ngoog.iter.every=function(a,b,c){a=goog.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),void 0,a))return!1}catch(d){if(d!==goog.iter.StopIteration)throw d;}return!0};goog.iter.chain=function(a){return goog.iter.chainFromIterable(arguments)};\ngoog.iter.chainFromIterable=function(a){var b=goog.iter.toIterator(a);a=new goog.iter.Iterator;var c=null;a.next=function(){for(;;){if(null==c){var a=b.next();c=goog.iter.toIterator(a)}try{return c.next()}catch(e){if(e!==goog.iter.StopIteration)throw e;c=null}}};return a};goog.iter.dropWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;var e=!0;a.next=function(){for(;;){var a=d.next();if(!e||!b.call(c,a,void 0,d))return e=!1,a}};return a};\ngoog.iter.takeWhile=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=d.next();if(b.call(c,a,void 0,d))return a;throw goog.iter.StopIteration;};return a};goog.iter.toArray=function(a){if(goog.isArrayLike(a))return goog.array.toArray(a);a=goog.iter.toIterator(a);var b=[];goog.iter.forEach(a,function(a){b.push(a)});return b};\ngoog.iter.equals=function(a,b,c){a=goog.iter.zipLongest({},a,b);var d=c||goog.array.defaultCompareEquality;return goog.iter.every(a,function(a){return d(a[0],a[1])})};goog.iter.nextOrValue=function(a,b){try{return goog.iter.toIterator(a).next()}catch(c){if(c!=goog.iter.StopIteration)throw c;return b}};\ngoog.iter.product=function(a){if(goog.array.some(arguments,function(a){return!a.length})||!arguments.length)return new goog.iter.Iterator;var b=new goog.iter.Iterator,c=arguments,d=goog.array.repeat(0,c.length);b.next=function(){if(d){for(var a=goog.array.map(d,function(a,b){return c[b][a]}),b=d.length-1;0\u003c=b;b--){goog.asserts.assert(d);if(d[b]\u003cc[b].length-1){d[b]++;break}if(0==b){d=null;break}d[b]=0}return a}throw goog.iter.StopIteration;};return b};\ngoog.iter.cycle=function(a){var b=goog.iter.toIterator(a),c=[],d=0;a=new goog.iter.Iterator;var e=!1;a.next=function(){var a=null;if(!e)try{return a=b.next(),c.push(a),a}catch(g){if(g!=goog.iter.StopIteration||goog.array.isEmpty(c))throw g;e=!0}a=c[d];d=(d+1)%c.length;return a};return a};goog.iter.count=function(a,b){var c=a||0,d=goog.isDef(b)?b:1,e=new goog.iter.Iterator;e.next=function(){var a=c;c+=d;return a};return e};\ngoog.iter.repeat=function(a){var b=new goog.iter.Iterator;b.next=goog.functions.constant(a);return b};goog.iter.accumulate=function(a){var b=goog.iter.toIterator(a),c=0;a=new goog.iter.Iterator;a.next=function(){return c+=b.next()};return a};goog.iter.zip=function(a){var b=arguments,c=new goog.iter.Iterator;if(0\u003cb.length){var d=goog.array.map(b,goog.iter.toIterator);c.next=function(){return goog.array.map(d,function(a){return a.next()})}}return c};\ngoog.iter.zipLongest=function(a,b){var c=goog.array.slice(arguments,1),d=new goog.iter.Iterator;if(0\u003cc.length){var e=goog.array.map(c,goog.iter.toIterator);d.next=function(){var b=!1,c=goog.array.map(e,function(c){try{var d=c.next();b=!0}catch(m){if(m!==goog.iter.StopIteration)throw m;d=a}return d});if(!b)throw goog.iter.StopIteration;return c}}return d};goog.iter.compress=function(a,b){var c=goog.iter.toIterator(b);return goog.iter.filter(a,function(){return!!c.next()})};\ngoog.iter.GroupByIterator_=function(a,b){this.iterator=goog.iter.toIterator(a);this.keyFunc=b||goog.functions.identity};goog.inherits(goog.iter.GroupByIterator_,goog.iter.Iterator);goog.iter.GroupByIterator_.prototype.next=function(){for(;this.currentKey==this.targetKey;)this.currentValue=this.iterator.next(),this.currentKey=this.keyFunc(this.currentValue);this.targetKey=this.currentKey;return[this.currentKey,this.groupItems_(this.targetKey)]};\ngoog.iter.GroupByIterator_.prototype.groupItems_=function(a){for(var b=[];this.currentKey==a;){b.push(this.currentValue);try{this.currentValue=this.iterator.next()}catch(c){if(c!==goog.iter.StopIteration)throw c;break}this.currentKey=this.keyFunc(this.currentValue)}return b};goog.iter.groupBy=function(a,b){return new goog.iter.GroupByIterator_(a,b)};\ngoog.iter.starMap=function(a,b,c){var d=goog.iter.toIterator(a);a=new goog.iter.Iterator;a.next=function(){var a=goog.iter.toArray(d.next());return b.apply(c,goog.array.concat(a,void 0,d))};return a};\ngoog.iter.tee=function(a,b){var c=goog.iter.toIterator(a),d=goog.isNumber(b)?b:2,e=goog.array.map(goog.array.range(d),function(){return[]}),f=function(){var a=c.next();goog.array.forEach(e,function(b){b.push(a)})};return goog.array.map(e,function(a){var b=new goog.iter.Iterator;b.next=function(){goog.array.isEmpty(a)\u0026\u0026f();goog.asserts.assert(!goog.array.isEmpty(a));return a.shift()};return b})};goog.iter.enumerate=function(a,b){return goog.iter.zip(goog.iter.count(b),a)};\ngoog.iter.limit=function(a,b){goog.asserts.assert(goog.math.isInt(b)\u0026\u00260\u003c=b);var c=goog.iter.toIterator(a),d=new goog.iter.Iterator,e=b;d.next=function(){if(0\u003ce--)return c.next();throw goog.iter.StopIteration;};return d};goog.iter.consume=function(a,b){goog.asserts.assert(goog.math.isInt(b)\u0026\u00260\u003c=b);for(var c=goog.iter.toIterator(a);0\u003cb--;)goog.iter.nextOrValue(c,null);return c};\ngoog.iter.slice=function(a,b,c){goog.asserts.assert(goog.math.isInt(b)\u0026\u00260\u003c=b);a=goog.iter.consume(a,b);goog.isNumber(c)\u0026\u0026(goog.asserts.assert(goog.math.isInt(c)\u0026\u0026c\u003e=b),a=goog.iter.limit(a,c-b));return a};goog.iter.hasDuplicates_=function(a){var b=[];goog.array.removeDuplicates(a,b);return a.length!=b.length};goog.iter.permutations=function(a,b){var c=goog.iter.toArray(a),d=goog.isNumber(b)?b:c.length;c=goog.array.repeat(c,d);c=goog.iter.product.apply(void 0,c);return goog.iter.filter(c,function(a){return!goog.iter.hasDuplicates_(a)})};\ngoog.iter.combinations=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a),e=goog.iter.range(d.length);e=goog.iter.permutations(e,b);var f=goog.iter.filter(e,function(a){return goog.array.isSorted(a)});e=new goog.iter.Iterator;e.next=function(){return goog.array.map(f.next(),c)};return e};\ngoog.iter.combinationsWithReplacement=function(a,b){function c(a){return d[a]}var d=goog.iter.toArray(a),e=goog.array.range(d.length);e=goog.array.repeat(e,b);e=goog.iter.product.apply(void 0,e);var f=goog.iter.filter(e,function(a){return goog.array.isSorted(a)});e=new goog.iter.Iterator;e.next=function(){return goog.array.map(f.next(),c)};return e};goog.dom.TagWalkType={START_TAG:1,OTHER:0,END_TAG:-1};goog.dom.TagIterator=function(a,b,c,d,e){this.reversed=!!b;this.node=null;this.tagType=goog.dom.TagWalkType.OTHER;this.started_=!1;this.constrained=!c;a\u0026\u0026this.setPosition(a,d);this.depth=void 0!=e?e:this.tagType||0;this.reversed\u0026\u0026(this.depth*=-1)};goog.inherits(goog.dom.TagIterator,goog.iter.Iterator);\ngoog.dom.TagIterator.prototype.setPosition=function(a,b,c){if(this.node=a)goog.isNumber(b)?this.tagType=b:this.tagType=this.node.nodeType!=goog.dom.NodeType.ELEMENT?goog.dom.TagWalkType.OTHER:this.reversed?goog.dom.TagWalkType.END_TAG:goog.dom.TagWalkType.START_TAG;goog.isNumber(c)\u0026\u0026(this.depth=c)};goog.dom.TagIterator.prototype.copyFrom=function(a){this.node=a.node;this.tagType=a.tagType;this.depth=a.depth;this.reversed=a.reversed;this.constrained=a.constrained};\ngoog.dom.TagIterator.prototype.clone=function(){return new goog.dom.TagIterator(this.node,this.reversed,!this.constrained,this.tagType,this.depth)};goog.dom.TagIterator.prototype.skipTag=function(){var a=this.reversed?goog.dom.TagWalkType.END_TAG:goog.dom.TagWalkType.START_TAG;this.tagType==a\u0026\u0026(this.tagType=-1*a,this.depth+=this.tagType*(this.reversed?-1:1))};\ngoog.dom.TagIterator.prototype.restartTag=function(){var a=this.reversed?goog.dom.TagWalkType.START_TAG:goog.dom.TagWalkType.END_TAG;this.tagType==a\u0026\u0026(this.tagType=-1*a,this.depth+=this.tagType*(this.reversed?-1:1))};\ngoog.dom.TagIterator.prototype.next=function(){if(this.started_){if(!this.node||this.constrained\u0026\u00260==this.depth)throw goog.iter.StopIteration;var a=this.node;var b=this.reversed?goog.dom.TagWalkType.END_TAG:goog.dom.TagWalkType.START_TAG;if(this.tagType==b){var c=this.reversed?a.lastChild:a.firstChild;c?this.setPosition(c):this.setPosition(a,-1*b)}else(c=this.reversed?a.previousSibling:a.nextSibling)?this.setPosition(c):this.setPosition(a.parentNode,-1*b);this.depth+=this.tagType*(this.reversed?-1:\n1)}else this.started_=!0;a=this.node;if(!this.node)throw goog.iter.StopIteration;return a};goog.dom.TagIterator.prototype.isStarted=function(){return this.started_};goog.dom.TagIterator.prototype.isStartTag=function(){return this.tagType==goog.dom.TagWalkType.START_TAG};goog.dom.TagIterator.prototype.isEndTag=function(){return this.tagType==goog.dom.TagWalkType.END_TAG};goog.dom.TagIterator.prototype.isNonElement=function(){return this.tagType==goog.dom.TagWalkType.OTHER};\ngoog.dom.TagIterator.prototype.equals=function(a){return a.node==this.node\u0026\u0026(!this.node||a.tagType==this.tagType)};goog.dom.TagIterator.prototype.splice=function(a){var b=this.node;this.restartTag();this.reversed=!this.reversed;goog.dom.TagIterator.prototype.next.call(this);this.reversed=!this.reversed;for(var c=goog.isArrayLike(arguments[0])?arguments[0]:arguments,d=c.length-1;0\u003c=d;d--)goog.dom.insertSiblingAfter(c[d],b);goog.dom.removeNode(b)};goog.dom.NodeIterator=function(a,b,c,d){goog.dom.TagIterator.call(this,a,b,c,null,d)};goog.inherits(goog.dom.NodeIterator,goog.dom.TagIterator);goog.dom.NodeIterator.prototype.next=function(){do goog.dom.NodeIterator.superClass_.next.call(this);while(this.isEndTag());return this.node};goog.ui.PaletteRenderer=function(){goog.ui.ControlRenderer.call(this)};goog.inherits(goog.ui.PaletteRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.PaletteRenderer);goog.ui.PaletteRenderer.cellId_=0;goog.ui.PaletteRenderer.CSS_CLASS=\"goog-palette\";goog.ui.PaletteRenderer.prototype.createDom=function(a){var b=this.getClassNames(a);a=a.getDomHelper().createDom(\"DIV\",b,this.createGrid(a.getContent(),a.getSize(),a.getDomHelper()));goog.a11y.aria.setRole(a,goog.a11y.aria.Role.GRID);return a};\ngoog.ui.PaletteRenderer.prototype.createGrid=function(a,b,c){for(var d=[],e=0,f=0;e\u003cb.height;e++){for(var g=[],h=0;h\u003cb.width;h++){var k=a\u0026\u0026a[f++];g.push(this.createCell(k,c))}d.push(this.createRow(g,c))}return this.createTable(d,c)};goog.ui.PaletteRenderer.prototype.createTable=function(a,b){var c=b.createDom(\"TABLE\",this.getCssClass()+\"-table\",b.createDom(\"TBODY\",this.getCssClass()+\"-body\",a));c.cellSpacing=\"0\";c.cellPadding=\"0\";return c};\ngoog.ui.PaletteRenderer.prototype.createRow=function(a,b){var c=b.createDom(\"TR\",this.getCssClass()+\"-row\",a);goog.a11y.aria.setRole(c,goog.a11y.aria.Role.ROW);return c};\ngoog.ui.PaletteRenderer.prototype.createCell=function(a,b){var c=b.createDom(\"TD\",{\"class\":this.getCssClass()+\"-cell\",id:this.getCssClass()+\"-cell-\"+goog.ui.PaletteRenderer.cellId_++},a);goog.a11y.aria.setRole(c,goog.a11y.aria.Role.GRIDCELL);goog.a11y.aria.setState(c,goog.a11y.aria.State.SELECTED,!1);if(!goog.dom.getTextContent(c)\u0026\u0026!goog.a11y.aria.getLabel(c)){var d=this.findAriaLabelForCell_(c);d\u0026\u0026goog.a11y.aria.setLabel(c,d)}return c};\ngoog.ui.PaletteRenderer.prototype.findAriaLabelForCell_=function(a){a=new goog.dom.NodeIterator(a);for(var b=\"\",c;!b\u0026\u0026(c=goog.iter.nextOrValue(a,null));)c.nodeType==goog.dom.NodeType.ELEMENT\u0026\u0026(b=goog.a11y.aria.getLabel(c)||c.title);return b};goog.ui.PaletteRenderer.prototype.canDecorate=function(a){return!1};goog.ui.PaletteRenderer.prototype.decorate=function(a,b){return null};\ngoog.ui.PaletteRenderer.prototype.setContent=function(a,b){if(a){var c=goog.dom.getElementsByTagNameAndClass(\"TBODY\",this.getCssClass()+\"-body\",a)[0];if(c){var d=0;goog.array.forEach(c.rows,function(a){goog.array.forEach(a.cells,function(a){goog.dom.removeChildren(a);if(b){var c=b[d++];c\u0026\u0026goog.dom.appendChild(a,c)}})});if(d\u003cb.length){for(var e=[],f=goog.dom.getDomHelper(a),g=c.rows[0].cells.length;d\u003cb.length;){var h=b[d++];e.push(this.createCell(h,f));e.length==g\u0026\u0026(h=this.createRow(e,f),goog.dom.appendChild(c,\nh),e.length=0)}if(0\u003ce.length){for(;e.length\u003cg;)e.push(this.createCell(\"\",f));h=this.createRow(e,f);goog.dom.appendChild(c,h)}}}goog.style.setUnselectable(a,!0,goog.userAgent.GECKO)}};goog.ui.PaletteRenderer.prototype.getContainingItem=function(a,b){for(var c=a.getElement();b\u0026\u0026b.nodeType==goog.dom.NodeType.ELEMENT\u0026\u0026b!=c;){if(\"TD\"==b.tagName\u0026\u0026goog.dom.classlist.contains(b,this.getCssClass()+\"-cell\"))return b.firstChild;b=b.parentNode}return null};\ngoog.ui.PaletteRenderer.prototype.highlightCell=function(a,b,c){b\u0026\u0026(b=this.getCellForItem(b),goog.asserts.assert(b),goog.dom.classlist.enable(b,this.getCssClass()+\"-cell-hover\",c),c?goog.a11y.aria.setState(a.getElementStrict(),goog.a11y.aria.State.ACTIVEDESCENDANT,b.id):b.id==goog.a11y.aria.getState(a.getElementStrict(),goog.a11y.aria.State.ACTIVEDESCENDANT)\u0026\u0026goog.a11y.aria.removeState(a.getElementStrict(),goog.a11y.aria.State.ACTIVEDESCENDANT))};\ngoog.ui.PaletteRenderer.prototype.getCellForItem=function(a){return a?a.parentNode:null};goog.ui.PaletteRenderer.prototype.selectCell=function(a,b,c){b\u0026\u0026(a=b.parentNode,goog.dom.classlist.enable(a,this.getCssClass()+\"-cell-selected\",c),goog.a11y.aria.setState(a,goog.a11y.aria.State.SELECTED,c))};goog.ui.PaletteRenderer.prototype.getCssClass=function(){return goog.ui.PaletteRenderer.CSS_CLASS};goog.ui.SelectionModel=function(a){goog.events.EventTarget.call(this);this.items_=[];this.addItems(a)};goog.inherits(goog.ui.SelectionModel,goog.events.EventTarget);goog.tagUnsealableClass(goog.ui.SelectionModel);goog.ui.SelectionModel.prototype.selectedItem_=null;goog.ui.SelectionModel.prototype.selectionHandler_=null;goog.ui.SelectionModel.prototype.getSelectionHandler=function(){return this.selectionHandler_};\ngoog.ui.SelectionModel.prototype.setSelectionHandler=function(a){this.selectionHandler_=a};goog.ui.SelectionModel.prototype.getItemCount=function(){return this.items_.length};goog.ui.SelectionModel.prototype.indexOfItem=function(a){return a?goog.array.indexOf(this.items_,a):-1};goog.ui.SelectionModel.prototype.getFirst=function(){return this.items_[0]};goog.ui.SelectionModel.prototype.getLast=function(){return this.items_[this.items_.length-1]};\ngoog.ui.SelectionModel.prototype.getItemAt=function(a){return this.items_[a]||null};goog.ui.SelectionModel.prototype.addItems=function(a){a\u0026\u0026(goog.array.forEach(a,function(a){this.selectItem_(a,!1)},this),goog.array.extend(this.items_,a))};goog.ui.SelectionModel.prototype.addItem=function(a){this.addItemAt(a,this.getItemCount())};goog.ui.SelectionModel.prototype.addItemAt=function(a,b){a\u0026\u0026(this.selectItem_(a,!1),goog.array.insertAt(this.items_,a,b))};\ngoog.ui.SelectionModel.prototype.removeItem=function(a){a\u0026\u0026goog.array.remove(this.items_,a)\u0026\u0026a==this.selectedItem_\u0026\u0026(this.selectedItem_=null,this.dispatchEvent(goog.events.EventType.SELECT))};goog.ui.SelectionModel.prototype.removeItemAt=function(a){this.removeItem(this.getItemAt(a))};goog.ui.SelectionModel.prototype.getSelectedItem=function(){return this.selectedItem_};goog.ui.SelectionModel.prototype.getItems=function(){return goog.array.clone(this.items_)};\ngoog.ui.SelectionModel.prototype.setSelectedItem=function(a){a!=this.selectedItem_\u0026\u0026(this.selectItem_(this.selectedItem_,!1),this.selectedItem_=a,this.selectItem_(a,!0));this.dispatchEvent(goog.events.EventType.SELECT)};goog.ui.SelectionModel.prototype.getSelectedIndex=function(){return this.indexOfItem(this.selectedItem_)};goog.ui.SelectionModel.prototype.setSelectedIndex=function(a){this.setSelectedItem(this.getItemAt(a))};\ngoog.ui.SelectionModel.prototype.clear=function(){goog.array.clear(this.items_);this.selectedItem_=null};goog.ui.SelectionModel.prototype.disposeInternal=function(){goog.ui.SelectionModel.superClass_.disposeInternal.call(this);delete this.items_;this.selectedItem_=null};goog.ui.SelectionModel.prototype.selectItem_=function(a,b){a\u0026\u0026(\"function\"==typeof this.selectionHandler_?this.selectionHandler_(a,b):\"function\"==typeof a.setSelected\u0026\u0026a.setSelected(b))};goog.ui.Palette=function(a,b,c){goog.ui.Control.call(this,a,b||goog.ui.PaletteRenderer.getInstance(),c);this.setAutoStates(goog.ui.Component.State.CHECKED|goog.ui.Component.State.SELECTED|goog.ui.Component.State.OPENED,!1);this.currentCellControl_=new goog.ui.Palette.CurrentCell_;this.currentCellControl_.setParentEventTarget(this);this.lastHighlightedIndex_=-1};goog.inherits(goog.ui.Palette,goog.ui.Control);goog.tagUnsealableClass(goog.ui.Palette);goog.ui.Palette.EventType={AFTER_HIGHLIGHT:goog.events.getUniqueId(\"afterhighlight\")};\ngoog.ui.Palette.prototype.size_=null;goog.ui.Palette.prototype.highlightedIndex_=-1;goog.ui.Palette.prototype.selectionModel_=null;goog.ui.Palette.prototype.disposeInternal=function(){goog.ui.Palette.superClass_.disposeInternal.call(this);this.selectionModel_\u0026\u0026(this.selectionModel_.dispose(),this.selectionModel_=null);this.size_=null;this.currentCellControl_.dispose()};\ngoog.ui.Palette.prototype.setContentInternal=function(a){goog.ui.Palette.superClass_.setContentInternal.call(this,a);this.adjustSize_();this.selectionModel_?(this.selectionModel_.clear(),this.selectionModel_.addItems(a)):(this.selectionModel_=new goog.ui.SelectionModel(a),this.selectionModel_.setSelectionHandler(goog.bind(this.selectItem_,this)),this.getHandler().listen(this.selectionModel_,goog.events.EventType.SELECT,this.handleSelectionChange));this.highlightedIndex_=-1};\ngoog.ui.Palette.prototype.getCaption=function(){return\"\"};goog.ui.Palette.prototype.setCaption=function(a){};goog.ui.Palette.prototype.handleMouseOver=function(a){goog.ui.Palette.superClass_.handleMouseOver.call(this,a);var b=this.getRenderer().getContainingItem(this,a.target);b\u0026\u0026a.relatedTarget\u0026\u0026goog.dom.contains(b,a.relatedTarget)||b!=this.getHighlightedItem()\u0026\u0026this.setHighlightedItem(b)};\ngoog.ui.Palette.prototype.handleMouseDown=function(a){goog.ui.Palette.superClass_.handleMouseDown.call(this,a);this.isActive()\u0026\u0026(a=this.getRenderer().getContainingItem(this,a.target),a!=this.getHighlightedItem()\u0026\u0026this.setHighlightedItem(a))};goog.ui.Palette.prototype.performActionInternal=function(a){var b=this.getHighlightedItem();return b?(a\u0026\u0026this.shouldSelectHighlightedItem_(a)\u0026\u0026this.setSelectedItem(b),goog.ui.Palette.superClass_.performActionInternal.call(this,a)):!1};\ngoog.ui.Palette.prototype.shouldSelectHighlightedItem_=function(a){return this.getSelectedItem()?\"mouseup\"!=a.type?!0:!!this.getRenderer().getContainingItem(this,a.target):!0};\ngoog.ui.Palette.prototype.handleKeyEvent=function(a){var b=this.getContent();b=b?b.length:0;var c=this.size_.width;if(0==b||!this.isEnabled())return!1;if(a.keyCode==goog.events.KeyCodes.ENTER||a.keyCode==goog.events.KeyCodes.SPACE)return this.performActionInternal(a);if(a.keyCode==goog.events.KeyCodes.HOME)return this.setHighlightedIndex(0),!0;if(a.keyCode==goog.events.KeyCodes.END)return this.setHighlightedIndex(b-1),!0;var d=0\u003ethis.highlightedIndex_?this.getSelectedIndex():this.highlightedIndex_;\nswitch(a.keyCode){case goog.events.KeyCodes.LEFT:if(-1==d||0==d)d=b;this.setHighlightedIndex(d-1);a.preventDefault();return!0;case goog.events.KeyCodes.RIGHT:return d==b-1\u0026\u0026(d=-1),this.setHighlightedIndex(d+1),a.preventDefault(),!0;case goog.events.KeyCodes.UP:-1==d\u0026\u0026(d=b+c-1);if(d\u003e=c)return this.setHighlightedIndex(d-c),a.preventDefault(),!0;break;case goog.events.KeyCodes.DOWN:if(-1==d\u0026\u0026(d=-c),d\u003cb-c)return this.setHighlightedIndex(d+c),a.preventDefault(),!0}return!1};\ngoog.ui.Palette.prototype.handleSelectionChange=function(a){};goog.ui.Palette.prototype.getSize=function(){return this.size_};goog.ui.Palette.prototype.setSize=function(a,b){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.size_=goog.isNumber(a)?new goog.math.Size(a,b):a;this.adjustSize_()};goog.ui.Palette.prototype.getHighlightedIndex=function(){return this.highlightedIndex_};\ngoog.ui.Palette.prototype.getHighlightedItem=function(){var a=this.getContent();return a\u0026\u0026a[this.highlightedIndex_]};goog.ui.Palette.prototype.getHighlightedCellElement_=function(){return this.getRenderer().getCellForItem(this.getHighlightedItem())};goog.ui.Palette.prototype.setHighlightedIndex=function(a){a!=this.highlightedIndex_\u0026\u0026(this.highlightIndex_(this.highlightedIndex_,!1),this.lastHighlightedIndex_=this.highlightedIndex_,this.highlightedIndex_=a,this.highlightIndex_(a,!0),this.dispatchEvent(goog.ui.Palette.EventType.AFTER_HIGHLIGHT))};\ngoog.ui.Palette.prototype.setHighlightedItem=function(a){var b=this.getContent();this.setHighlightedIndex(b\u0026\u0026a?goog.array.indexOf(b,a):-1)};goog.ui.Palette.prototype.getSelectedIndex=function(){return this.selectionModel_?this.selectionModel_.getSelectedIndex():-1};goog.ui.Palette.prototype.getSelectedItem=function(){return this.selectionModel_?this.selectionModel_.getSelectedItem():null};goog.ui.Palette.prototype.setSelectedIndex=function(a){this.selectionModel_\u0026\u0026this.selectionModel_.setSelectedIndex(a)};\ngoog.ui.Palette.prototype.setSelectedItem=function(a){this.selectionModel_\u0026\u0026this.selectionModel_.setSelectedItem(a)};goog.ui.Palette.prototype.highlightIndex_=function(a,b){if(this.getElement()){var c=this.getContent();if(c\u0026\u00260\u003c=a\u0026\u0026a\u003cc.length){var d=this.getHighlightedCellElement_();this.currentCellControl_.getElement()!=d\u0026\u0026this.currentCellControl_.setElementInternal(d);this.currentCellControl_.tryHighlight(b)\u0026\u0026this.getRenderer().highlightCell(this,c[a],b)}}};\ngoog.ui.Palette.prototype.setHighlighted=function(a){a\u0026\u0026-1==this.highlightedIndex_?this.setHighlightedIndex(-1\u003cthis.lastHighlightedIndex_?this.lastHighlightedIndex_:0):a||this.setHighlightedIndex(-1);goog.ui.Palette.superClass_.setHighlighted.call(this,a)};goog.ui.Palette.prototype.selectItem_=function(a,b){this.getElement()\u0026\u0026this.getRenderer().selectCell(this,a,b)};\ngoog.ui.Palette.prototype.adjustSize_=function(){var a=this.getContent();if(a)if(this.size_\u0026\u0026this.size_.width){if(a=Math.ceil(a.length/this.size_.width),!goog.isNumber(this.size_.height)||this.size_.height\u003ca)this.size_.height=a}else a=Math.ceil(Math.sqrt(a.length)),this.size_=new goog.math.Size(a,a);else this.size_=new goog.math.Size(0,0)};goog.ui.Palette.CurrentCell_=function(){goog.ui.Control.call(this,null);this.setDispatchTransitionEvents(goog.ui.Component.State.HOVER,!0)};\ngoog.inherits(goog.ui.Palette.CurrentCell_,goog.ui.Control);goog.ui.Palette.CurrentCell_.prototype.tryHighlight=function(a){this.setHighlighted(a);return this.isHighlighted()==a};goog.ui.ColorPalette=function(a,b,c){this.colors_=a||[];goog.ui.Palette.call(this,null,b||goog.ui.PaletteRenderer.getInstance(),c);this.setColors(this.colors_)};goog.inherits(goog.ui.ColorPalette,goog.ui.Palette);goog.tagUnsealableClass(goog.ui.ColorPalette);goog.ui.ColorPalette.prototype.normalizedColors_=null;goog.ui.ColorPalette.prototype.labels_=null;goog.ui.ColorPalette.prototype.getColors=function(){return this.colors_};\ngoog.ui.ColorPalette.prototype.setColors=function(a,b){this.colors_=a;this.labels_=b||null;this.normalizedColors_=null;this.setContent(this.createColorNodes())};goog.ui.ColorPalette.prototype.getSelectedColor=function(){var a=this.getSelectedItem();return a?(a=goog.style.getStyle(a,\"background-color\"),goog.ui.ColorPalette.parseColor_(a)):null};\ngoog.ui.ColorPalette.prototype.setSelectedColor=function(a){a=goog.ui.ColorPalette.parseColor_(a);this.normalizedColors_||(this.normalizedColors_=goog.array.map(this.colors_,function(a){return goog.ui.ColorPalette.parseColor_(a)}));this.setSelectedIndex(a?goog.array.indexOf(this.normalizedColors_,a):-1)};\ngoog.ui.ColorPalette.prototype.createColorNodes=function(){return goog.array.map(this.colors_,function(a,b){var c=this.getDomHelper().createDom(\"DIV\",{\"class\":this.getRenderer().getCssClass()+\"-colorswatch\",style:\"background-color:\"+a});c.title=this.labels_\u0026\u0026this.labels_[b]?this.labels_[b]:\"#\"==a.charAt(0)?\"RGB (\"+goog.color.hexToRgb(a).join(\", \")+\")\":a;return c},this)};goog.ui.ColorPalette.parseColor_=function(a){if(a)try{return goog.color.parse(a).hex}catch(b){}return null};goog.ui.ColorPicker=function(a,b){goog.ui.Component.call(this,a);this.colorPalette_=b||null;this.getHandler().listen(this,goog.ui.Component.EventType.ACTION,this.onColorPaletteAction_)};goog.inherits(goog.ui.ColorPicker,goog.ui.Component);goog.ui.ColorPicker.DEFAULT_NUM_COLS=5;goog.ui.ColorPicker.EventType={CHANGE:\"change\"};goog.ui.ColorPicker.prototype.focusable_=!0;goog.ui.ColorPicker.prototype.getColors=function(){return this.colorPalette_?this.colorPalette_.getColors():null};\ngoog.ui.ColorPicker.prototype.setColors=function(a){this.colorPalette_?this.colorPalette_.setColors(a):this.createColorPalette_(a)};goog.ui.ColorPicker.prototype.addColors=function(a){this.setColors(a)};goog.ui.ColorPicker.prototype.setSize=function(a){this.colorPalette_||this.createColorPalette_([]);this.colorPalette_.setSize(a)};goog.ui.ColorPicker.prototype.getSize=function(){return this.colorPalette_?this.colorPalette_.getSize():null};goog.ui.ColorPicker.prototype.setColumnCount=function(a){this.setSize(a)};\ngoog.ui.ColorPicker.prototype.getSelectedIndex=function(){return this.colorPalette_?this.colorPalette_.getSelectedIndex():-1};goog.ui.ColorPicker.prototype.setSelectedIndex=function(a){this.colorPalette_\u0026\u0026this.colorPalette_.setSelectedIndex(a)};goog.ui.ColorPicker.prototype.getSelectedColor=function(){return this.colorPalette_?this.colorPalette_.getSelectedColor():null};goog.ui.ColorPicker.prototype.setSelectedColor=function(a){this.colorPalette_\u0026\u0026this.colorPalette_.setSelectedColor(a)};\ngoog.ui.ColorPicker.prototype.isFocusable=function(){return this.focusable_};goog.ui.ColorPicker.prototype.setFocusable=function(a){this.focusable_=a;this.colorPalette_\u0026\u0026this.colorPalette_.setSupportedState(goog.ui.Component.State.FOCUSED,a)};goog.ui.ColorPicker.prototype.canDecorate=function(a){return!1};\ngoog.ui.ColorPicker.prototype.enterDocument=function(){goog.ui.ColorPicker.superClass_.enterDocument.call(this);this.colorPalette_\u0026\u0026this.colorPalette_.render(this.getElement());this.getElement().unselectable=\"on\"};goog.ui.ColorPicker.prototype.disposeInternal=function(){goog.ui.ColorPicker.superClass_.disposeInternal.call(this);this.colorPalette_\u0026\u0026(this.colorPalette_.dispose(),this.colorPalette_=null)};goog.ui.ColorPicker.prototype.focus=function(){this.colorPalette_\u0026\u0026this.colorPalette_.getElement().focus()};\ngoog.ui.ColorPicker.prototype.onColorPaletteAction_=function(a){a.stopPropagation();this.dispatchEvent(goog.ui.ColorPicker.EventType.CHANGE)};goog.ui.ColorPicker.prototype.createColorPalette_=function(a){a=new goog.ui.ColorPalette(a,null,this.getDomHelper());a.setSize(goog.ui.ColorPicker.DEFAULT_NUM_COLS);a.setSupportedState(goog.ui.Component.State.FOCUSED,this.focusable_);this.addChild(a);this.colorPalette_=a;this.isInDocument()\u0026\u0026this.colorPalette_.render(this.getElement())};\ngoog.ui.ColorPicker.createSimpleColorGrid=function(a){a=new goog.ui.ColorPicker(a);a.setSize(7);a.setColors(goog.ui.ColorPicker.SIMPLE_GRID_COLORS);return a};goog.ui.ColorPicker.SIMPLE_GRID_COLORS=\"#ffffff #cccccc #c0c0c0 #999999 #666666 #333333 #000000 #ffcccc #ff6666 #ff0000 #cc0000 #990000 #660000 #330000 #ffcc99 #ff9966 #ff9900 #ff6600 #cc6600 #993300 #663300 #ffff99 #ffff66 #ffcc66 #ffcc33 #cc9933 #996633 #663333 #ffffcc #ffff33 #ffff00 #ffcc00 #999900 #666600 #333300 #99ff99 #66ff99 #33ff33 #33cc00 #009900 #006600 #003300 #99ffff #33ffff #66cccc #00cccc #339999 #336666 #003333 #ccffff #66ffff #33ccff #3366ff #3333ff #000099 #000066 #ccccff #9999ff #6666cc #6633ff #6600cc #333399 #330099 #ffccff #ff99ff #cc66cc #cc33cc #993399 #663366 #330033\".split(\" \");goog.events.MouseWheelHandler=function(a,b){goog.events.EventTarget.call(this);this.element_=a;var c=goog.dom.isElement(this.element_)?this.element_:this.element_?this.element_.body:null;this.isRtl_=!!c\u0026\u0026goog.style.isRightToLeft(c);this.listenKey_=goog.events.listen(this.element_,goog.userAgent.GECKO?\"DOMMouseScroll\":\"mousewheel\",this,b)};goog.inherits(goog.events.MouseWheelHandler,goog.events.EventTarget);goog.events.MouseWheelHandler.EventType={MOUSEWHEEL:\"mousewheel\"};\ngoog.events.MouseWheelHandler.prototype.setMaxDeltaX=function(a){this.maxDeltaX_=a};goog.events.MouseWheelHandler.prototype.setMaxDeltaY=function(a){this.maxDeltaY_=a};\ngoog.events.MouseWheelHandler.prototype.handleEvent=function(a){var b=0,c=0,d=a.getBrowserEvent();\"mousewheel\"==d.type?(a=goog.events.MouseWheelHandler.smartScale_(-d.wheelDelta,40),goog.isDef(d.wheelDeltaX)?(b=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaX,40),c=goog.events.MouseWheelHandler.smartScale_(-d.wheelDeltaY,40)):c=a):(a=d.detail,100\u003ca?a=3:-100\u003ea\u0026\u0026(a=-3),goog.isDef(d.axis)\u0026\u0026d.axis===d.HORIZONTAL_AXIS?b=a:c=a);goog.isNumber(this.maxDeltaX_)\u0026\u0026(b=goog.math.clamp(b,-this.maxDeltaX_,\nthis.maxDeltaX_));goog.isNumber(this.maxDeltaY_)\u0026\u0026(c=goog.math.clamp(c,-this.maxDeltaY_,this.maxDeltaY_));this.isRtl_\u0026\u0026(b=-b);b=new goog.events.MouseWheelEvent(a,d,b,c);this.dispatchEvent(b)};goog.events.MouseWheelHandler.smartScale_=function(a,b){return goog.userAgent.WEBKIT\u0026\u0026(goog.userAgent.MAC||goog.userAgent.LINUX)\u0026\u00260!=a%b?a:a/b};\ngoog.events.MouseWheelHandler.prototype.disposeInternal=function(){goog.events.MouseWheelHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKey_);this.listenKey_=null};goog.events.MouseWheelEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,b);this.type=goog.events.MouseWheelHandler.EventType.MOUSEWHEEL;this.detail=a;this.deltaX=c;this.deltaY=d};goog.inherits(goog.events.MouseWheelEvent,goog.events.BrowserEvent);goog.fx={};goog.fx.Transition=function(){};goog.fx.Transition.EventType={PLAY:\"play\",BEGIN:\"begin\",RESUME:\"resume\",END:\"end\",STOP:\"stop\",FINISH:\"finish\",PAUSE:\"pause\"};goog.fx.TransitionBase=function(){goog.events.EventTarget.call(this);this.state_=goog.fx.TransitionBase.State.STOPPED;this.endTime=this.startTime=null};goog.inherits(goog.fx.TransitionBase,goog.events.EventTarget);goog.fx.TransitionBase.State={STOPPED:0,PAUSED:-1,PLAYING:1};goog.fx.TransitionBase.prototype.play=goog.abstractMethod;goog.fx.TransitionBase.prototype.stop=goog.abstractMethod;goog.fx.TransitionBase.prototype.pause=goog.abstractMethod;goog.fx.TransitionBase.prototype.getStateInternal=function(){return this.state_};\ngoog.fx.TransitionBase.prototype.setStatePlaying=function(){this.state_=goog.fx.TransitionBase.State.PLAYING};goog.fx.TransitionBase.prototype.setStatePaused=function(){this.state_=goog.fx.TransitionBase.State.PAUSED};goog.fx.TransitionBase.prototype.setStateStopped=function(){this.state_=goog.fx.TransitionBase.State.STOPPED};goog.fx.TransitionBase.prototype.isPlaying=function(){return this.state_==goog.fx.TransitionBase.State.PLAYING};\ngoog.fx.TransitionBase.prototype.isPaused=function(){return this.state_==goog.fx.TransitionBase.State.PAUSED};goog.fx.TransitionBase.prototype.isStopped=function(){return this.state_==goog.fx.TransitionBase.State.STOPPED};goog.fx.TransitionBase.prototype.onBegin=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.BEGIN)};goog.fx.TransitionBase.prototype.onEnd=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.END)};goog.fx.TransitionBase.prototype.onFinish=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.FINISH)};\ngoog.fx.TransitionBase.prototype.onPause=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.PAUSE)};goog.fx.TransitionBase.prototype.onPlay=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.PLAY)};goog.fx.TransitionBase.prototype.onResume=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.RESUME)};goog.fx.TransitionBase.prototype.onStop=function(){this.dispatchAnimationEvent(goog.fx.Transition.EventType.STOP)};\ngoog.fx.TransitionBase.prototype.dispatchAnimationEvent=function(a){this.dispatchEvent(a)};goog.async.AnimationDelay=function(a,b,c){goog.Disposable.call(this);this.id_=null;this.usingListeners_=!1;this.listener_=a;this.handler_=c;this.win_=b||window;this.callback_=goog.bind(this.doAction_,this)};goog.inherits(goog.async.AnimationDelay,goog.Disposable);goog.async.AnimationDelay.TIMEOUT=20;goog.async.AnimationDelay.MOZ_BEFORE_PAINT_EVENT_=\"MozBeforePaint\";\ngoog.async.AnimationDelay.prototype.start=function(){this.stop();this.usingListeners_=!1;var a=this.getRaf_(),b=this.getCancelRaf_();a\u0026\u0026!b\u0026\u0026this.win_.mozRequestAnimationFrame?(this.id_=goog.events.listen(this.win_,goog.async.AnimationDelay.MOZ_BEFORE_PAINT_EVENT_,this.callback_),this.win_.mozRequestAnimationFrame(null),this.usingListeners_=!0):this.id_=a\u0026\u0026b?a.call(this.win_,this.callback_):this.win_.setTimeout(goog.functions.lock(this.callback_),goog.async.AnimationDelay.TIMEOUT)};\ngoog.async.AnimationDelay.prototype.startIfNotActive=function(){this.isActive()||this.start()};goog.async.AnimationDelay.prototype.stop=function(){if(this.isActive()){var a=this.getRaf_(),b=this.getCancelRaf_();a\u0026\u0026!b\u0026\u0026this.win_.mozRequestAnimationFrame?goog.events.unlistenByKey(this.id_):a\u0026\u0026b?b.call(this.win_,this.id_):this.win_.clearTimeout(this.id_)}this.id_=null};goog.async.AnimationDelay.prototype.fire=function(){this.stop();this.doAction_()};\ngoog.async.AnimationDelay.prototype.fireIfActive=function(){this.isActive()\u0026\u0026this.fire()};goog.async.AnimationDelay.prototype.isActive=function(){return null!=this.id_};goog.async.AnimationDelay.prototype.doAction_=function(){this.usingListeners_\u0026\u0026this.id_\u0026\u0026goog.events.unlistenByKey(this.id_);this.id_=null;this.listener_.call(this.handler_,goog.now())};goog.async.AnimationDelay.prototype.disposeInternal=function(){this.stop();goog.async.AnimationDelay.superClass_.disposeInternal.call(this)};\ngoog.async.AnimationDelay.prototype.getRaf_=function(){var a=this.win_;return a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||null};goog.async.AnimationDelay.prototype.getCancelRaf_=function(){var a=this.win_;return a.cancelAnimationFrame||a.cancelRequestAnimationFrame||a.webkitCancelRequestAnimationFrame||a.mozCancelRequestAnimationFrame||a.oCancelRequestAnimationFrame||a.msCancelRequestAnimationFrame||null};goog.async.Delay=function(a,b,c){goog.Disposable.call(this);this.listener_=a;this.interval_=b||0;this.handler_=c;this.callback_=goog.bind(this.doAction_,this)};goog.inherits(goog.async.Delay,goog.Disposable);goog.Delay=goog.async.Delay;goog.async.Delay.prototype.id_=0;goog.async.Delay.prototype.disposeInternal=function(){goog.async.Delay.superClass_.disposeInternal.call(this);this.stop();delete this.listener_;delete this.handler_};\ngoog.async.Delay.prototype.start=function(a){this.stop();this.id_=goog.Timer.callOnce(this.callback_,goog.isDef(a)?a:this.interval_)};goog.async.Delay.prototype.startIfNotActive=function(a){this.isActive()||this.start(a)};goog.async.Delay.prototype.stop=function(){this.isActive()\u0026\u0026goog.Timer.clear(this.id_);this.id_=0};goog.async.Delay.prototype.fire=function(){this.stop();this.doAction_()};goog.async.Delay.prototype.fireIfActive=function(){this.isActive()\u0026\u0026this.fire()};\ngoog.async.Delay.prototype.isActive=function(){return 0!=this.id_};goog.async.Delay.prototype.doAction_=function(){this.id_=0;this.listener_\u0026\u0026this.listener_.call(this.handler_)};goog.fx.anim={};goog.fx.anim.Animated=function(){};goog.fx.anim.TIMEOUT=goog.async.AnimationDelay.TIMEOUT;goog.fx.anim.activeAnimations_={};goog.fx.anim.animationWindow_=null;goog.fx.anim.animationDelay_=null;goog.fx.anim.registerAnimation=function(a){var b=goog.getUid(a);b in goog.fx.anim.activeAnimations_||(goog.fx.anim.activeAnimations_[b]=a);goog.fx.anim.requestAnimationFrame_()};\ngoog.fx.anim.unregisterAnimation=function(a){a=goog.getUid(a);delete goog.fx.anim.activeAnimations_[a];goog.object.isEmpty(goog.fx.anim.activeAnimations_)\u0026\u0026goog.fx.anim.cancelAnimationFrame_()};goog.fx.anim.tearDown=function(){goog.fx.anim.animationWindow_=null;goog.dispose(goog.fx.anim.animationDelay_);goog.fx.anim.animationDelay_=null;goog.fx.anim.activeAnimations_={}};\ngoog.fx.anim.setAnimationWindow=function(a){var b=goog.fx.anim.animationDelay_\u0026\u0026goog.fx.anim.animationDelay_.isActive();goog.dispose(goog.fx.anim.animationDelay_);goog.fx.anim.animationDelay_=null;goog.fx.anim.animationWindow_=a;b\u0026\u0026goog.fx.anim.requestAnimationFrame_()};\ngoog.fx.anim.requestAnimationFrame_=function(){goog.fx.anim.animationDelay_||(goog.fx.anim.animationDelay_=goog.fx.anim.animationWindow_?new goog.async.AnimationDelay(function(a){goog.fx.anim.cycleAnimations_(a)},goog.fx.anim.animationWindow_):new goog.async.Delay(function(){goog.fx.anim.cycleAnimations_(goog.now())},goog.fx.anim.TIMEOUT));var a=goog.fx.anim.animationDelay_;a.isActive()||a.start()};goog.fx.anim.cancelAnimationFrame_=function(){goog.fx.anim.animationDelay_\u0026\u0026goog.fx.anim.animationDelay_.stop()};\ngoog.fx.anim.cycleAnimations_=function(a){goog.object.forEach(goog.fx.anim.activeAnimations_,function(b){b.onAnimationFrame(a)});goog.object.isEmpty(goog.fx.anim.activeAnimations_)||goog.fx.anim.requestAnimationFrame_()};goog.fx.Animation=function(a,b,c,d){goog.fx.TransitionBase.call(this);if(!goog.isArray(a)||!goog.isArray(b))throw Error(\"Start and end parameters must be arrays\");if(a.length!=b.length)throw Error(\"Start and end points must be the same length\");this.startPoint=a;this.endPoint=b;this.duration=c;this.accel_=d;this.coords=[];this.useRightPositioningForRtl_=!1;this.progress=this.fps_=0;this.lastFrame=null};goog.inherits(goog.fx.Animation,goog.fx.TransitionBase);\ngoog.fx.Animation.prototype.getDuration=function(){return this.duration};goog.fx.Animation.prototype.enableRightPositioningForRtl=function(a){this.useRightPositioningForRtl_=a};goog.fx.Animation.prototype.isRightPositioningForRtlEnabled=function(){return this.useRightPositioningForRtl_};\ngoog.fx.Animation.EventType={PLAY:goog.fx.Transition.EventType.PLAY,BEGIN:goog.fx.Transition.EventType.BEGIN,RESUME:goog.fx.Transition.EventType.RESUME,END:goog.fx.Transition.EventType.END,STOP:goog.fx.Transition.EventType.STOP,FINISH:goog.fx.Transition.EventType.FINISH,PAUSE:goog.fx.Transition.EventType.PAUSE,ANIMATE:\"animate\",DESTROY:\"destroy\"};goog.fx.Animation.TIMEOUT=goog.fx.anim.TIMEOUT;goog.fx.Animation.State=goog.fx.TransitionBase.State;goog.fx.Animation.setAnimationWindow=function(a){goog.fx.anim.setAnimationWindow(a)};\ngoog.fx.Animation.prototype.play=function(a){if(a||this.isStopped())this.progress=0,this.coords=this.startPoint;else if(this.isPlaying())return!1;goog.fx.anim.unregisterAnimation(this);this.startTime=a=goog.now();this.isPaused()\u0026\u0026(this.startTime-=this.duration*this.progress);this.endTime=this.startTime+this.duration;this.lastFrame=this.startTime;if(!this.progress)this.onBegin();this.onPlay();if(this.isPaused())this.onResume();this.setStatePlaying();goog.fx.anim.registerAnimation(this);this.cycle(a);\nreturn!0};goog.fx.Animation.prototype.stop=function(a){goog.fx.anim.unregisterAnimation(this);this.setStateStopped();a\u0026\u0026(this.progress=1);this.updateCoords_(this.progress);this.onStop();this.onEnd()};goog.fx.Animation.prototype.pause=function(){this.isPlaying()\u0026\u0026(goog.fx.anim.unregisterAnimation(this),this.setStatePaused(),this.onPause())};goog.fx.Animation.prototype.getProgress=function(){return this.progress};\ngoog.fx.Animation.prototype.setProgress=function(a){this.progress=a;this.isPlaying()\u0026\u0026(this.startTime=goog.now()-this.duration*this.progress,this.endTime=this.startTime+this.duration)};goog.fx.Animation.prototype.disposeInternal=function(){this.isStopped()||this.stop(!1);this.onDestroy();goog.fx.Animation.superClass_.disposeInternal.call(this)};goog.fx.Animation.prototype.destroy=function(){this.dispose()};goog.fx.Animation.prototype.onAnimationFrame=function(a){this.cycle(a)};\ngoog.fx.Animation.prototype.cycle=function(a){goog.asserts.assertNumber(this.startTime);goog.asserts.assertNumber(this.endTime);goog.asserts.assertNumber(this.lastFrame);a\u003cthis.startTime\u0026\u0026(this.endTime=a+this.endTime-this.startTime,this.startTime=a);this.progress=(a-this.startTime)/(this.endTime-this.startTime);1\u003cthis.progress\u0026\u0026(this.progress=1);this.fps_=1E3/(a-this.lastFrame);this.lastFrame=a;this.updateCoords_(this.progress);if(1==this.progress)this.setStateStopped(),goog.fx.anim.unregisterAnimation(this),\nthis.onFinish(),this.onEnd();else if(this.isPlaying())this.onAnimate()};goog.fx.Animation.prototype.updateCoords_=function(a){goog.isFunction(this.accel_)\u0026\u0026(a=this.accel_(a));this.coords=Array(this.startPoint.length);for(var b=0;b\u003cthis.startPoint.length;b++)this.coords[b]=(this.endPoint[b]-this.startPoint[b])*a+this.startPoint[b]};goog.fx.Animation.prototype.onAnimate=function(){this.dispatchAnimationEvent(goog.fx.Animation.EventType.ANIMATE)};goog.fx.Animation.prototype.onDestroy=function(){this.dispatchAnimationEvent(goog.fx.Animation.EventType.DESTROY)};\ngoog.fx.Animation.prototype.dispatchAnimationEvent=function(a){this.dispatchEvent(new goog.fx.AnimationEvent(a,this))};goog.fx.AnimationEvent=function(a,b){goog.events.Event.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.z=b.coords[2];this.duration=b.duration;this.progress=b.getProgress();this.fps=b.fps_;this.state=b.getStateInternal();this.anim=b};goog.inherits(goog.fx.AnimationEvent,goog.events.Event);\ngoog.fx.AnimationEvent.prototype.coordsAsInts=function(){return goog.array.map(this.coords,Math.round)};goog.fx.AnimationQueue=function(){goog.fx.TransitionBase.call(this);this.queue=[]};goog.inherits(goog.fx.AnimationQueue,goog.fx.TransitionBase);goog.fx.AnimationQueue.prototype.add=function(a){goog.asserts.assert(this.isStopped(),\"Not allowed to add animations to a running animation queue.\");goog.array.contains(this.queue,a)||(this.queue.push(a),goog.events.listen(a,goog.fx.Transition.EventType.FINISH,this.onAnimationFinish,!1,this))};\ngoog.fx.AnimationQueue.prototype.remove=function(a){goog.asserts.assert(this.isStopped(),\"Not allowed to remove animations from a running animation queue.\");goog.array.remove(this.queue,a)\u0026\u0026goog.events.unlisten(a,goog.fx.Transition.EventType.FINISH,this.onAnimationFinish,!1,this)};goog.fx.AnimationQueue.prototype.onAnimationFinish=goog.abstractMethod;goog.fx.AnimationQueue.prototype.disposeInternal=function(){goog.array.forEach(this.queue,function(a){a.dispose()});this.queue.length=0;goog.fx.AnimationQueue.superClass_.disposeInternal.call(this)};\ngoog.fx.AnimationParallelQueue=function(){goog.fx.AnimationQueue.call(this);this.finishedCounter_=0};goog.inherits(goog.fx.AnimationParallelQueue,goog.fx.AnimationQueue);\ngoog.fx.AnimationParallelQueue.prototype.play=function(a){if(0==this.queue.length)return!1;if(a||this.isStopped())this.finishedCounter_=0,this.onBegin();else if(this.isPlaying())return!1;this.onPlay();if(this.isPaused())this.onResume();var b=this.isPaused()\u0026\u0026!a;this.startTime=goog.now();this.endTime=null;this.setStatePlaying();goog.array.forEach(this.queue,function(c){b\u0026\u0026!c.isPaused()||c.play(a)});return!0};\ngoog.fx.AnimationParallelQueue.prototype.pause=function(){this.isPlaying()\u0026\u0026(goog.array.forEach(this.queue,function(a){a.isPlaying()\u0026\u0026a.pause()}),this.setStatePaused(),this.onPause())};goog.fx.AnimationParallelQueue.prototype.stop=function(a){goog.array.forEach(this.queue,function(b){b.isStopped()||b.stop(a)});this.setStateStopped();this.endTime=goog.now();this.onStop();this.onEnd()};\ngoog.fx.AnimationParallelQueue.prototype.onAnimationFinish=function(a){this.finishedCounter_++;this.finishedCounter_==this.queue.length\u0026\u0026(this.endTime=goog.now(),this.setStateStopped(),this.onFinish(),this.onEnd())};goog.fx.AnimationSerialQueue=function(){goog.fx.AnimationQueue.call(this);this.current_=0};goog.inherits(goog.fx.AnimationSerialQueue,goog.fx.AnimationQueue);\ngoog.fx.AnimationSerialQueue.prototype.play=function(a){if(0==this.queue.length)return!1;if(a||this.isStopped())this.current_\u003cthis.queue.length\u0026\u0026!this.queue[this.current_].isStopped()\u0026\u0026this.queue[this.current_].stop(!1),this.current_=0,this.onBegin();else if(this.isPlaying())return!1;this.onPlay();if(this.isPaused())this.onResume();this.startTime=goog.now();this.endTime=null;this.setStatePlaying();this.queue[this.current_].play(a);return!0};\ngoog.fx.AnimationSerialQueue.prototype.pause=function(){this.isPlaying()\u0026\u0026(this.queue[this.current_].pause(),this.setStatePaused(),this.onPause())};goog.fx.AnimationSerialQueue.prototype.stop=function(a){this.setStateStopped();this.endTime=goog.now();if(a)for(a=this.current_;a\u003cthis.queue.length;++a){var b=this.queue[a];b.isStopped()\u0026\u0026b.play();b.isStopped()||b.stop(!0)}else this.current_\u003cthis.queue.length\u0026\u0026this.queue[this.current_].stop(!1);this.onStop();this.onEnd()};\ngoog.fx.AnimationSerialQueue.prototype.onAnimationFinish=function(a){this.isPlaying()\u0026\u0026(this.current_++,this.current_\u003cthis.queue.length?this.queue[this.current_].play():(this.endTime=goog.now(),this.setStateStopped(),this.onFinish(),this.onEnd()))};goog.userAgent.platform={};\ngoog.userAgent.platform.determineVersion_=function(){if(goog.userAgent.WINDOWS){var a=/Windows NT ([0-9.]+)/;return(a=a.exec(goog.userAgent.getUserAgentString()))?a[1]:\"0\"}return goog.userAgent.MAC?(a=/10[_.][0-9_.]+/,(a=a.exec(goog.userAgent.getUserAgentString()))?a[0].replace(/_/g,\".\"):\"10\"):goog.userAgent.ANDROID?(a=/Android\\s+([^\\);]+)(\\)|;)/,(a=a.exec(goog.userAgent.getUserAgentString()))?a[1]:\"\"):goog.userAgent.IPHONE||goog.userAgent.IPAD||goog.userAgent.IPOD?(a=/(?:iPhone|CPU)\\s+OS\\s+(\\S+)/,(a=\na.exec(goog.userAgent.getUserAgentString()))?a[1].replace(/_/g,\".\"):\"\"):\"\"};goog.userAgent.platform.VERSION=goog.userAgent.platform.determineVersion_();goog.userAgent.platform.isVersion=function(a){return 0\u003c=goog.string.compareVersions(goog.userAgent.platform.VERSION,a)};goog.userAgent.product={};goog.userAgent.product.ASSUME_FIREFOX=!1;goog.userAgent.product.ASSUME_IPHONE=!1;goog.userAgent.product.ASSUME_IPAD=!1;goog.userAgent.product.ASSUME_ANDROID=!1;goog.userAgent.product.ASSUME_CHROME=!1;goog.userAgent.product.ASSUME_SAFARI=!1;\ngoog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI;goog.userAgent.product.OPERA=goog.userAgent.OPERA;goog.userAgent.product.IE=goog.userAgent.IE;goog.userAgent.product.EDGE=goog.userAgent.EDGE;\ngoog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox();goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()};goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_();\ngoog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser();goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome();\ngoog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()\u0026\u0026!goog.labs.userAgent.platform.isIos()};goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_();goog.userAgent.product.determineVersion_=function(){if(goog.userAgent.product.FIREFOX)return goog.userAgent.product.getFirstRegExpGroup_(/Firefox\\/([0-9.]+)/);if(goog.userAgent.product.IE||goog.userAgent.product.EDGE||goog.userAgent.product.OPERA)return goog.userAgent.VERSION;if(goog.userAgent.product.CHROME)return goog.labs.userAgent.platform.isIos()?goog.userAgent.product.getFirstRegExpGroup_(/CriOS\\/([0-9.]+)/):goog.userAgent.product.getFirstRegExpGroup_(/Chrome\\/([0-9.]+)/);if(goog.userAgent.product.SAFARI\u0026\u0026\n!goog.labs.userAgent.platform.isIos())return goog.userAgent.product.getFirstRegExpGroup_(/Version\\/([0-9.]+)/);if(goog.userAgent.product.IPHONE||goog.userAgent.product.IPAD){var a=goog.userAgent.product.execRegExp_(/Version\\/(\\S+).*Mobile\\/(\\S+)/);if(a)return a[1]+\".\"+a[2]}else if(goog.userAgent.product.ANDROID)return(a=goog.userAgent.product.getFirstRegExpGroup_(/Android\\s+([0-9.]+)/))?a:goog.userAgent.product.getFirstRegExpGroup_(/Version\\/([0-9.]+)/);return\"\"};\ngoog.userAgent.product.getFirstRegExpGroup_=function(a){return(a=goog.userAgent.product.execRegExp_(a))?a[1]:\"\"};goog.userAgent.product.execRegExp_=function(a){return a.exec(goog.userAgent.getUserAgentString())};goog.userAgent.product.VERSION=goog.userAgent.product.determineVersion_();goog.userAgent.product.isVersion=function(a){return 0\u003c=goog.string.compareVersions(goog.userAgent.product.VERSION,a)};goog.style.bidi={};goog.style.bidi.getScrollLeft=function(a){var b=goog.style.isRightToLeft(a);return b\u0026\u0026goog.style.bidi.usesNegativeScrollLeftInRtl_()?-a.scrollLeft:!b||goog.userAgent.EDGE_OR_IE\u0026\u0026goog.userAgent.isVersionOrHigher(\"8\")||\"visible\"==goog.style.getComputedOverflowX(a)?a.scrollLeft:a.scrollWidth-a.clientWidth-a.scrollLeft};\ngoog.style.bidi.getOffsetStart=function(a){var b=a.offsetLeft,c=a.offsetParent;c||\"fixed\"!=goog.style.getComputedPosition(a)||(c=goog.dom.getOwnerDocument(a).documentElement);if(!c)return b;if(goog.userAgent.GECKO){var d=goog.style.getBorderBox(c);b+=d.left}else goog.userAgent.isDocumentModeOrHigher(8)\u0026\u0026!goog.userAgent.isDocumentModeOrHigher(9)\u0026\u0026(d=goog.style.getBorderBox(c),b-=d.left);return goog.style.isRightToLeft(c)?c.clientWidth-(b+a.offsetWidth):b};\ngoog.style.bidi.setScrollOffset=function(a,b){b=Math.max(b,0);goog.style.isRightToLeft(a)?goog.style.bidi.usesNegativeScrollLeftInRtl_()?a.scrollLeft=-b:goog.userAgent.EDGE_OR_IE\u0026\u0026goog.userAgent.isVersionOrHigher(\"8\")?a.scrollLeft=b:a.scrollLeft=a.scrollWidth-b-a.clientWidth:a.scrollLeft=b};\ngoog.style.bidi.usesNegativeScrollLeftInRtl_=function(){var a=goog.userAgent.product.SAFARI\u0026\u0026goog.userAgent.product.isVersion(10),b=goog.userAgent.IOS\u0026\u0026goog.userAgent.platform.isVersion(10);return goog.userAgent.GECKO||a||b};goog.style.bidi.setPosition=function(a,b,c,d){goog.isNull(c)||(a.style.top=c+\"px\");d?(a.style.right=b+\"px\",a.style.left=\"\"):(a.style.left=b+\"px\",a.style.right=\"\")};goog.fx.Dragger=function(a,b,c){goog.events.EventTarget.call(this);this.target=a;this.handle=b||a;this.limits=c||new goog.math.Rect(NaN,NaN,NaN,NaN);this.document_=goog.dom.getOwnerDocument(a);this.eventHandler_=new goog.events.EventHandler(this);this.registerDisposable(this.eventHandler_);this.deltaY=this.deltaX=this.startY=this.startX=this.screenY=this.screenX=this.clientY=this.clientX=0;this.enabled_=!0;this.dragging_=!1;this.preventMouseDown_=!0;this.hysteresisDistanceSquared_=0;this.useRightPositioningForRtl_=\nthis.ieDragStartCancellingOn_=!1;goog.events.listen(this.handle,[goog.events.EventType.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this);this.useSetCapture_=goog.fx.Dragger.HAS_SET_CAPTURE_};goog.inherits(goog.fx.Dragger,goog.events.EventTarget);goog.tagUnsealableClass(goog.fx.Dragger);goog.fx.Dragger.HAS_SET_CAPTURE_=goog.global.document\u0026\u0026goog.global.document.documentElement\u0026\u0026!!goog.global.document.documentElement.setCapture\u0026\u0026!!goog.global.document.releaseCapture;\ngoog.fx.Dragger.cloneNode=function(a){for(var b=a.cloneNode(!0),c=goog.dom.getElementsByTagName(\"TEXTAREA\",a),d=goog.dom.getElementsByTagName(\"TEXTAREA\",b),e=0;e\u003cc.length;e++)d[e].value=c[e].value;switch(a.tagName){case \"TR\":return goog.dom.createDom(\"TABLE\",null,goog.dom.createDom(\"TBODY\",null,b));case \"TD\":case \"TH\":return goog.dom.createDom(\"TABLE\",null,goog.dom.createDom(\"TBODY\",null,goog.dom.createDom(\"TR\",null,b)));case \"TEXTAREA\":b.value=a.value;default:return b}};\ngoog.fx.Dragger.EventType={EARLY_CANCEL:\"earlycancel\",START:\"start\",BEFOREDRAG:\"beforedrag\",DRAG:\"drag\",END:\"end\"};goog.fx.Dragger.prototype.setAllowSetCapture=function(a){this.useSetCapture_=a\u0026\u0026goog.fx.Dragger.HAS_SET_CAPTURE_};goog.fx.Dragger.prototype.enableRightPositioningForRtl=function(a){this.useRightPositioningForRtl_=a};goog.fx.Dragger.prototype.getHandler=function(){return this.eventHandler_};goog.fx.Dragger.prototype.setLimits=function(a){this.limits=a||new goog.math.Rect(NaN,NaN,NaN,NaN)};\ngoog.fx.Dragger.prototype.setHysteresis=function(a){this.hysteresisDistanceSquared_=Math.pow(a,2)};goog.fx.Dragger.prototype.getHysteresis=function(){return Math.sqrt(this.hysteresisDistanceSquared_)};goog.fx.Dragger.prototype.setScrollTarget=function(a){this.scrollTarget_=a};goog.fx.Dragger.prototype.setCancelIeDragStart=function(a){this.ieDragStartCancellingOn_=a};goog.fx.Dragger.prototype.getEnabled=function(){return this.enabled_};\ngoog.fx.Dragger.prototype.setEnabled=function(a){this.enabled_=a};goog.fx.Dragger.prototype.setPreventMouseDown=function(a){this.preventMouseDown_=a};goog.fx.Dragger.prototype.disposeInternal=function(){goog.fx.Dragger.superClass_.disposeInternal.call(this);goog.events.unlisten(this.handle,[goog.events.EventType.TOUCHSTART,goog.events.EventType.MOUSEDOWN],this.startDrag,!1,this);this.cleanUpAfterDragging_();this.handle=this.target=null};\ngoog.fx.Dragger.prototype.isRightToLeft_=function(){goog.isDef(this.rightToLeft_)||(this.rightToLeft_=goog.style.isRightToLeft(this.target));return this.rightToLeft_};\ngoog.fx.Dragger.prototype.startDrag=function(a){var b=a.type==goog.events.EventType.MOUSEDOWN;if(!this.enabled_||this.dragging_||b\u0026\u0026!a.isMouseActionButton())this.dispatchEvent(goog.fx.Dragger.EventType.EARLY_CANCEL);else{if(0==this.hysteresisDistanceSquared_)if(this.fireDragStart_(a))this.dragging_=!0,this.preventMouseDown_\u0026\u0026b\u0026\u0026a.preventDefault();else return;else this.preventMouseDown_\u0026\u0026b\u0026\u0026a.preventDefault();this.setupDragHandlers();this.clientX=this.startX=a.clientX;this.clientY=this.startY=a.clientY;\nthis.screenX=a.screenX;this.screenY=a.screenY;this.computeInitialPosition();this.pageScroll=goog.dom.getDomHelper(this.document_).getDocumentScroll()}};\ngoog.fx.Dragger.prototype.setupDragHandlers=function(){var a=this.document_,b=a.documentElement,c=!this.useSetCapture_;this.eventHandler_.listen(a,[goog.events.EventType.TOUCHMOVE,goog.events.EventType.MOUSEMOVE],this.handleMove_,{capture:c,passive:!1});this.eventHandler_.listen(a,[goog.events.EventType.TOUCHEND,goog.events.EventType.MOUSEUP],this.endDrag,c);this.useSetCapture_?(b.setCapture(!1),this.eventHandler_.listen(b,goog.events.EventType.LOSECAPTURE,this.endDrag)):this.eventHandler_.listen(goog.dom.getWindow(a),\ngoog.events.EventType.BLUR,this.endDrag);goog.userAgent.IE\u0026\u0026this.ieDragStartCancellingOn_\u0026\u0026this.eventHandler_.listen(a,goog.events.EventType.DRAGSTART,goog.events.Event.preventDefault);this.scrollTarget_\u0026\u0026this.eventHandler_.listen(this.scrollTarget_,goog.events.EventType.SCROLL,this.onScroll_,c)};goog.fx.Dragger.prototype.fireDragStart_=function(a){return this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.START,this,a.clientX,a.clientY,a))};\ngoog.fx.Dragger.prototype.cleanUpAfterDragging_=function(){this.eventHandler_.removeAll();this.useSetCapture_\u0026\u0026this.document_.releaseCapture()};goog.fx.Dragger.prototype.endDrag=function(a,b){this.cleanUpAfterDragging_();if(this.dragging_){this.dragging_=!1;var c=this.limitX(this.deltaX),d=this.limitY(this.deltaY);this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.END,this,a.clientX,a.clientY,a,c,d,b||a.type==goog.events.EventType.TOUCHCANCEL))}else this.dispatchEvent(goog.fx.Dragger.EventType.EARLY_CANCEL)};\ngoog.fx.Dragger.prototype.endDragCancel=function(a){this.endDrag(a,!0)};\ngoog.fx.Dragger.prototype.handleMove_=function(a){if(this.enabled_){var b=(this.useRightPositioningForRtl_\u0026\u0026this.isRightToLeft_()?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.dragging_){var d=this.startX-this.clientX,e=this.startY-this.clientY;if(d*d+e*e\u003ethis.hysteresisDistanceSquared_)if(this.fireDragStart_(a))this.dragging_=!0;else{this.isDisposed()||this.endDrag(a);return}}c=this.calculatePosition_(b,\nc);b=c.x;c=c.y;this.dragging_\u0026\u0026this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.BEFOREDRAG,this,a.clientX,a.clientY,a,b,c))\u0026\u0026(this.doDrag(a,b,c,!1),a.preventDefault())}};\ngoog.fx.Dragger.prototype.calculatePosition_=function(a,b){var c=goog.dom.getDomHelper(this.document_).getDocumentScroll();a+=c.x-this.pageScroll.x;b+=c.y-this.pageScroll.y;this.pageScroll=c;this.deltaX+=a;this.deltaY+=b;c=this.limitX(this.deltaX);var d=this.limitY(this.deltaY);return new goog.math.Coordinate(c,d)};goog.fx.Dragger.prototype.onScroll_=function(a){var b=this.calculatePosition_(0,0);a.clientX=this.clientX;a.clientY=this.clientY;this.doDrag(a,b.x,b.y,!0)};\ngoog.fx.Dragger.prototype.doDrag=function(a,b,c,d){this.defaultAction(b,c);this.dispatchEvent(new goog.fx.DragEvent(goog.fx.Dragger.EventType.DRAG,this,a.clientX,a.clientY,a,b,c))};goog.fx.Dragger.prototype.limitX=function(a){var b=this.limits,c=isNaN(b.left)?null:b.left;b=isNaN(b.width)?0:b.width;return Math.min(null!=c?c+b:Infinity,Math.max(null!=c?c:-Infinity,a))};\ngoog.fx.Dragger.prototype.limitY=function(a){var b=this.limits,c=isNaN(b.top)?null:b.top;b=isNaN(b.height)?0:b.height;return Math.min(null!=c?c+b:Infinity,Math.max(null!=c?c:-Infinity,a))};goog.fx.Dragger.prototype.computeInitialPosition=function(){this.deltaX=this.useRightPositioningForRtl_?goog.style.bidi.getOffsetStart(this.target):this.target.offsetLeft;this.deltaY=this.target.offsetTop};\ngoog.fx.Dragger.prototype.defaultAction=function(a,b){this.useRightPositioningForRtl_\u0026\u0026this.isRightToLeft_()?this.target.style.right=a+\"px\":this.target.style.left=a+\"px\";this.target.style.top=b+\"px\"};goog.fx.Dragger.prototype.isDragging=function(){return this.dragging_};goog.fx.DragEvent=function(a,b,c,d,e,f,g,h){goog.events.Event.call(this,a);this.clientX=c;this.clientY=d;this.browserEvent=e;this.left=goog.isDef(f)?f:b.deltaX;this.top=goog.isDef(g)?g:b.deltaY;this.dragger=b;this.dragCanceled=!!h};\ngoog.inherits(goog.fx.DragEvent,goog.events.Event);goog.fx.dom={};goog.fx.dom.PredefinedEffect=function(a,b,c,d,e){goog.fx.Animation.call(this,b,c,d,e);this.element=a};goog.inherits(goog.fx.dom.PredefinedEffect,goog.fx.Animation);goog.fx.dom.PredefinedEffect.prototype.updateStyle=goog.nullFunction;goog.fx.dom.PredefinedEffect.prototype.isRightToLeft=function(){goog.isDef(this.rightToLeft_)||(this.rightToLeft_=goog.style.isRightToLeft(this.element));return this.rightToLeft_};\ngoog.fx.dom.PredefinedEffect.prototype.onAnimate=function(){this.updateStyle();goog.fx.dom.PredefinedEffect.superClass_.onAnimate.call(this)};goog.fx.dom.PredefinedEffect.prototype.onEnd=function(){this.updateStyle();goog.fx.dom.PredefinedEffect.superClass_.onEnd.call(this)};goog.fx.dom.PredefinedEffect.prototype.onBegin=function(){this.updateStyle();goog.fx.dom.PredefinedEffect.superClass_.onBegin.call(this)};\ngoog.fx.dom.Slide=function(a,b,c,d,e){if(2!=b.length||2!=c.length)throw Error(\"Start and end points must be 2D\");goog.fx.dom.PredefinedEffect.apply(this,arguments)};goog.inherits(goog.fx.dom.Slide,goog.fx.dom.PredefinedEffect);goog.fx.dom.Slide.prototype.updateStyle=function(){var a=this.isRightPositioningForRtlEnabled()\u0026\u0026this.isRightToLeft()?\"right\":\"left\";this.element.style[a]=Math.round(this.coords[0])+\"px\";this.element.style.top=Math.round(this.coords[1])+\"px\"};\ngoog.fx.dom.SlideFrom=function(a,b,c,d){var e=[this.isRightPositioningForRtlEnabled()?goog.style.bidi.getOffsetStart(a):a.offsetLeft,a.offsetTop];goog.fx.dom.Slide.call(this,a,e,b,c,d)};goog.inherits(goog.fx.dom.SlideFrom,goog.fx.dom.Slide);goog.fx.dom.SlideFrom.prototype.onBegin=function(){this.startPoint=[this.isRightPositioningForRtlEnabled()?goog.style.bidi.getOffsetStart(this.element):this.element.offsetLeft,this.element.offsetTop];goog.fx.dom.SlideFrom.superClass_.onBegin.call(this)};\ngoog.fx.dom.Swipe=function(a,b,c,d,e){if(2!=b.length||2!=c.length)throw Error(\"Start and end points must be 2D\");goog.fx.dom.PredefinedEffect.apply(this,arguments);this.maxWidth_=Math.max(this.endPoint[0],this.startPoint[0]);this.maxHeight_=Math.max(this.endPoint[1],this.startPoint[1])};goog.inherits(goog.fx.dom.Swipe,goog.fx.dom.PredefinedEffect);\ngoog.fx.dom.Swipe.prototype.updateStyle=function(){var a=this.coords[0],b=this.coords[1];this.clip_(Math.round(a),Math.round(b),this.maxWidth_,this.maxHeight_);this.element.style.width=Math.round(a)+\"px\";var c=this.isRightPositioningForRtlEnabled()\u0026\u0026this.isRightToLeft()?\"marginRight\":\"marginLeft\";this.element.style[c]=Math.round(a)-this.maxWidth_+\"px\";this.element.style.marginTop=Math.round(b)-this.maxHeight_+\"px\"};\ngoog.fx.dom.Swipe.prototype.clip_=function(a,b,c,d){this.element.style.clip=\"rect(\"+(d-b)+\"px \"+c+\"px \"+d+\"px \"+(c-a)+\"px)\"};goog.fx.dom.Scroll=function(a,b,c,d,e){if(2!=b.length||2!=c.length)throw Error(\"Start and end points must be 2D\");goog.fx.dom.PredefinedEffect.apply(this,arguments)};goog.inherits(goog.fx.dom.Scroll,goog.fx.dom.PredefinedEffect);\ngoog.fx.dom.Scroll.prototype.updateStyle=function(){this.isRightPositioningForRtlEnabled()?goog.style.bidi.setScrollOffset(this.element,Math.round(this.coords[0])):this.element.scrollLeft=Math.round(this.coords[0]);this.element.scrollTop=Math.round(this.coords[1])};goog.fx.dom.Resize=function(a,b,c,d,e){if(2!=b.length||2!=c.length)throw Error(\"Start and end points must be 2D\");goog.fx.dom.PredefinedEffect.apply(this,arguments)};goog.inherits(goog.fx.dom.Resize,goog.fx.dom.PredefinedEffect);\ngoog.fx.dom.Resize.prototype.updateStyle=function(){this.element.style.width=Math.round(this.coords[0])+\"px\";this.element.style.height=Math.round(this.coords[1])+\"px\"};goog.fx.dom.ResizeWidth=function(a,b,c,d,e){goog.fx.dom.PredefinedEffect.call(this,a,[b],[c],d,e)};goog.inherits(goog.fx.dom.ResizeWidth,goog.fx.dom.PredefinedEffect);goog.fx.dom.ResizeWidth.prototype.updateStyle=function(){this.element.style.width=Math.round(this.coords[0])+\"px\"};\ngoog.fx.dom.ResizeHeight=function(a,b,c,d,e){goog.fx.dom.PredefinedEffect.call(this,a,[b],[c],d,e)};goog.inherits(goog.fx.dom.ResizeHeight,goog.fx.dom.PredefinedEffect);goog.fx.dom.ResizeHeight.prototype.updateStyle=function(){this.element.style.height=Math.round(this.coords[0])+\"px\"};\ngoog.fx.dom.Fade=function(a,b,c,d,e){goog.isNumber(b)\u0026\u0026(b=[b]);goog.isNumber(c)\u0026\u0026(c=[c]);goog.fx.dom.PredefinedEffect.call(this,a,b,c,d,e);if(1!=b.length||1!=c.length)throw Error(\"Start and end points must be 1D\");this.lastOpacityUpdate_=goog.fx.dom.Fade.OPACITY_UNSET_};goog.inherits(goog.fx.dom.Fade,goog.fx.dom.PredefinedEffect);goog.fx.dom.Fade.TOLERANCE_=1/1024;goog.fx.dom.Fade.OPACITY_UNSET_=-1;\ngoog.fx.dom.Fade.prototype.updateStyle=function(){var a=this.coords[0];Math.abs(a-this.lastOpacityUpdate_)\u003e=goog.fx.dom.Fade.TOLERANCE_\u0026\u0026(goog.style.setOpacity(this.element,a),this.lastOpacityUpdate_=a)};goog.fx.dom.Fade.prototype.onBegin=function(){this.lastOpacityUpdate_=goog.fx.dom.Fade.OPACITY_UNSET_;goog.fx.dom.Fade.superClass_.onBegin.call(this)};goog.fx.dom.Fade.prototype.onEnd=function(){this.lastOpacityUpdate_=goog.fx.dom.Fade.OPACITY_UNSET_;goog.fx.dom.Fade.superClass_.onEnd.call(this)};\ngoog.fx.dom.Fade.prototype.show=function(){this.element.style.display=\"\"};goog.fx.dom.Fade.prototype.hide=function(){this.element.style.display=\"none\"};goog.fx.dom.FadeOut=function(a,b,c){goog.fx.dom.Fade.call(this,a,1,0,b,c)};goog.inherits(goog.fx.dom.FadeOut,goog.fx.dom.Fade);goog.fx.dom.FadeIn=function(a,b,c){goog.fx.dom.Fade.call(this,a,0,1,b,c)};goog.inherits(goog.fx.dom.FadeIn,goog.fx.dom.Fade);goog.fx.dom.FadeOutAndHide=function(a,b,c){goog.fx.dom.Fade.call(this,a,1,0,b,c)};\ngoog.inherits(goog.fx.dom.FadeOutAndHide,goog.fx.dom.Fade);goog.fx.dom.FadeOutAndHide.prototype.onBegin=function(){this.show();goog.fx.dom.FadeOutAndHide.superClass_.onBegin.call(this)};goog.fx.dom.FadeOutAndHide.prototype.onEnd=function(){this.hide();goog.fx.dom.FadeOutAndHide.superClass_.onEnd.call(this)};goog.fx.dom.FadeInAndShow=function(a,b,c){goog.fx.dom.Fade.call(this,a,0,1,b,c)};goog.inherits(goog.fx.dom.FadeInAndShow,goog.fx.dom.Fade);\ngoog.fx.dom.FadeInAndShow.prototype.onBegin=function(){this.show();goog.fx.dom.FadeInAndShow.superClass_.onBegin.call(this)};goog.fx.dom.BgColorTransform=function(a,b,c,d,e){if(3!=b.length||3!=c.length)throw Error(\"Start and end points must be 3D\");goog.fx.dom.PredefinedEffect.apply(this,arguments)};goog.inherits(goog.fx.dom.BgColorTransform,goog.fx.dom.PredefinedEffect);\ngoog.fx.dom.BgColorTransform.prototype.setColor=function(){for(var a=[],b=0;b\u003cthis.coords.length;b++)a[b]=Math.round(this.coords[b]);a=\"rgb(\"+a.join(\",\")+\")\";this.element.style.backgroundColor=a};goog.fx.dom.BgColorTransform.prototype.updateStyle=function(){this.setColor()};\ngoog.fx.dom.bgColorFadeIn=function(a,b,c,d){function e(){a.style.backgroundColor=f}var f=a.style.backgroundColor||\"\",g=goog.style.getBackgroundColor(a);g=g\u0026\u0026\"transparent\"!=g\u0026\u0026\"rgba(0, 0, 0, 0)\"!=g?goog.color.hexToRgb(goog.color.parse(g).hex):[255,255,255];b=new goog.fx.dom.BgColorTransform(a,b,g,c);d?d.listen(b,goog.fx.Transition.EventType.END,e):goog.events.listen(b,goog.fx.Transition.EventType.END,e);b.play()};\ngoog.fx.dom.ColorTransform=function(a,b,c,d,e){if(3!=b.length||3!=c.length)throw Error(\"Start and end points must be 3D\");goog.fx.dom.PredefinedEffect.apply(this,arguments)};goog.inherits(goog.fx.dom.ColorTransform,goog.fx.dom.PredefinedEffect);goog.fx.dom.ColorTransform.prototype.updateStyle=function(){for(var a=[],b=0;b\u003cthis.coords.length;b++)a[b]=Math.round(this.coords[b]);a=\"rgb(\"+a.join(\",\")+\")\";this.element.style.color=a};goog.ui.RangeModel=function(){goog.events.EventTarget.call(this)};goog.inherits(goog.ui.RangeModel,goog.events.EventTarget);goog.tagUnsealableClass(goog.ui.RangeModel);goog.ui.RangeModel.prototype.value_=0;goog.ui.RangeModel.prototype.minimum_=0;goog.ui.RangeModel.prototype.maximum_=100;goog.ui.RangeModel.prototype.extent_=0;goog.ui.RangeModel.prototype.step_=1;goog.ui.RangeModel.prototype.isChanging_=!1;goog.ui.RangeModel.prototype.mute_=!1;\ngoog.ui.RangeModel.prototype.setMute=function(a){this.mute_=a};goog.ui.RangeModel.prototype.setValue=function(a){a=this.roundToStepWithMin(a);this.value_!=a\u0026\u0026(this.value_=a+this.extent_\u003ethis.maximum_?this.maximum_-this.extent_:a\u003cthis.minimum_?this.minimum_:a,this.isChanging_||this.mute_||this.dispatchEvent(goog.ui.Component.EventType.CHANGE))};goog.ui.RangeModel.prototype.getValue=function(){return this.roundToStepWithMin(this.value_)};\ngoog.ui.RangeModel.prototype.setExtent=function(a){a=this.roundToStepWithMin(a);this.extent_!=a\u0026\u0026(this.extent_=0\u003ea?0:this.value_+a\u003ethis.maximum_?this.maximum_-this.value_:a,this.isChanging_||this.mute_||this.dispatchEvent(goog.ui.Component.EventType.CHANGE))};goog.ui.RangeModel.prototype.getExtent=function(){return this.roundToStep(this.extent_)};\ngoog.ui.RangeModel.prototype.setMinimum=function(a){if(this.minimum_!=a){var b=this.isChanging_;this.isChanging_=!0;this.minimum_=a;a+this.extent_\u003ethis.maximum_\u0026\u0026(this.extent_=this.maximum_-this.minimum_);a\u003ethis.value_\u0026\u0026this.setValue(a);a\u003ethis.maximum_\u0026\u0026(this.extent_=0,this.setMaximum(a),this.setValue(a));(this.isChanging_=b)||this.mute_||this.dispatchEvent(goog.ui.Component.EventType.CHANGE)}};goog.ui.RangeModel.prototype.getMinimum=function(){return this.roundToStepWithMin(this.minimum_)};\ngoog.ui.RangeModel.prototype.setMaximum=function(a){a=this.roundToStepWithMin(a);if(this.maximum_!=a){var b=this.isChanging_;this.isChanging_=!0;this.maximum_=a;a\u003cthis.value_+this.extent_\u0026\u0026this.setValue(a-this.extent_);a\u003cthis.minimum_\u0026\u0026(this.extent_=0,this.setMinimum(a),this.setValue(this.maximum_));a\u003cthis.minimum_+this.extent_\u0026\u0026(this.extent_=this.maximum_-this.minimum_);(this.isChanging_=b)||this.mute_||this.dispatchEvent(goog.ui.Component.EventType.CHANGE)}};\ngoog.ui.RangeModel.prototype.getMaximum=function(){return this.roundToStepWithMin(this.maximum_)};goog.ui.RangeModel.prototype.getStep=function(){return this.step_};goog.ui.RangeModel.prototype.setStep=function(a){this.step_!=a\u0026\u0026(this.step_=a,a=this.isChanging_,this.isChanging_=!0,this.setMaximum(this.getMaximum()),this.setExtent(this.getExtent()),this.setValue(this.getValue()),(this.isChanging_=a)||this.mute_||this.dispatchEvent(goog.ui.Component.EventType.CHANGE))};\ngoog.ui.RangeModel.prototype.roundToStepWithMin=function(a){return null==this.step_?a:this.minimum_+Math.round((a-this.minimum_)/this.step_)*this.step_};goog.ui.RangeModel.prototype.roundToStep=function(a){return null==this.step_?a:Math.round(a/this.step_)*this.step_};goog.ui.SliderBase=function(a,b){goog.ui.Component.call(this,a);this.additionalAnimations_=null;this.rangeModel=new goog.ui.RangeModel;this.labelFn_=b||goog.functions.NULL;goog.events.listen(this.rangeModel,goog.ui.Component.EventType.CHANGE,this.handleRangeModelChange,!1,this)};goog.inherits(goog.ui.SliderBase,goog.ui.Component);goog.tagUnsealableClass(goog.ui.SliderBase);\ngoog.ui.SliderBase.EventType={DRAG_VALUE_START:goog.events.getUniqueId(\"dragvaluestart\"),DRAG_VALUE_END:goog.events.getUniqueId(\"dragvalueend\"),DRAG_EXTENT_START:goog.events.getUniqueId(\"dragextentstart\"),DRAG_EXTENT_END:goog.events.getUniqueId(\"dragextentend\"),DRAG_START:goog.events.getUniqueId(\"dragstart\"),DRAG_END:goog.events.getUniqueId(\"dragend\"),ANIMATION_END:goog.events.getUniqueId(\"animationend\")};goog.ui.SliderBase.Orientation={VERTICAL:\"vertical\",HORIZONTAL:\"horizontal\"};\ngoog.ui.SliderBase.prototype.orientation_=goog.ui.SliderBase.Orientation.HORIZONTAL;goog.ui.SliderBase.MOUSE_DOWN_INCREMENT_INTERVAL_=200;goog.ui.SliderBase.ANIMATION_INTERVAL_=100;goog.ui.SliderBase.prototype.isAnimating_=!1;goog.ui.SliderBase.prototype.moveToPointEnabled_=!1;goog.ui.SliderBase.prototype.blockIncrement_=10;goog.ui.SliderBase.prototype.minExtent_=0;goog.ui.SliderBase.prototype.isHandleMouseWheel_=!0;goog.ui.SliderBase.prototype.mouseDownTime_=0;\ngoog.ui.SliderBase.prototype.MOUSE_DOWN_DELAY_=1E3;goog.ui.SliderBase.prototype.enabled_=!0;goog.ui.SliderBase.prototype.flipForRtl_=!1;goog.ui.SliderBase.prototype.enableFlipForRtl=function(a){this.flipForRtl_=a};goog.ui.SliderBase.prototype.getCssClass=goog.abstractMethod;goog.ui.SliderBase.prototype.createDom=function(){goog.ui.SliderBase.superClass_.createDom.call(this);var a=this.getDomHelper().createDom(\"DIV\",this.getCssClass(this.orientation_));this.decorateInternal(a)};\ngoog.ui.SliderBase.prototype.createThumbs=goog.abstractMethod;goog.ui.SliderBase.SLIDER_DRAGGING_CSS_CLASS_=\"goog-slider-dragging\";goog.ui.SliderBase.THUMB_DRAGGING_CSS_CLASS_=\"goog-slider-thumb-dragging\";goog.ui.SliderBase.DISABLED_CSS_CLASS_=\"goog-slider-disabled\";goog.ui.SliderBase.prototype.decorateInternal=function(a){goog.ui.SliderBase.superClass_.decorateInternal.call(this,a);goog.asserts.assert(a);goog.dom.classlist.add(a,this.getCssClass(this.orientation_));this.createThumbs();this.setAriaRoles()};\ngoog.ui.SliderBase.prototype.enterDocument=function(){goog.ui.SliderBase.superClass_.enterDocument.call(this);this.valueDragger_=new goog.fx.Dragger(this.valueThumb);this.extentDragger_=new goog.fx.Dragger(this.extentThumb);this.valueDragger_.enableRightPositioningForRtl(this.flipForRtl_);this.extentDragger_.enableRightPositioningForRtl(this.flipForRtl_);this.valueDragger_.defaultAction=this.extentDragger_.defaultAction=goog.nullFunction;this.keyHandler_=new goog.events.KeyHandler(this.getElement());\nthis.enableEventHandlers_(!0);this.getElement().tabIndex=0;this.updateUi_()};\ngoog.ui.SliderBase.prototype.enableEventHandlers_=function(a){a?(this.getHandler().listen(this.valueDragger_,goog.fx.Dragger.EventType.BEFOREDRAG,this.handleBeforeDrag_).listen(this.extentDragger_,goog.fx.Dragger.EventType.BEFOREDRAG,this.handleBeforeDrag_).listen(this.valueDragger_,[goog.fx.Dragger.EventType.START,goog.fx.Dragger.EventType.END],this.handleThumbDragStartEnd_).listen(this.extentDragger_,[goog.fx.Dragger.EventType.START,goog.fx.Dragger.EventType.END],this.handleThumbDragStartEnd_).listen(this.keyHandler_,\ngoog.events.KeyHandler.EventType.KEY,this.handleKeyDown_).listen(this.getElement(),goog.events.EventType.CLICK,this.handleMouseDownAndClick_).listen(this.getElement(),goog.events.EventType.MOUSEDOWN,this.handleMouseDownAndClick_),this.isHandleMouseWheel()\u0026\u0026this.enableMouseWheelHandling_(!0)):(this.getHandler().unlisten(this.valueDragger_,goog.fx.Dragger.EventType.BEFOREDRAG,this.handleBeforeDrag_).unlisten(this.extentDragger_,goog.fx.Dragger.EventType.BEFOREDRAG,this.handleBeforeDrag_).unlisten(this.valueDragger_,\n[goog.fx.Dragger.EventType.START,goog.fx.Dragger.EventType.END],this.handleThumbDragStartEnd_).unlisten(this.extentDragger_,[goog.fx.Dragger.EventType.START,goog.fx.Dragger.EventType.END],this.handleThumbDragStartEnd_).unlisten(this.keyHandler_,goog.events.KeyHandler.EventType.KEY,this.handleKeyDown_).unlisten(this.getElement(),goog.events.EventType.CLICK,this.handleMouseDownAndClick_).unlisten(this.getElement(),goog.events.EventType.MOUSEDOWN,this.handleMouseDownAndClick_),this.isHandleMouseWheel()\u0026\u0026\nthis.enableMouseWheelHandling_(!1))};goog.ui.SliderBase.prototype.exitDocument=function(){goog.ui.SliderBase.superClass_.exitDocument.call(this);goog.disposeAll(this.valueDragger_,this.extentDragger_,this.keyHandler_,this.mouseWheelHandler_)};\ngoog.ui.SliderBase.prototype.handleBeforeDrag_=function(a){var b=a.dragger==this.valueDragger_?this.valueThumb:this.extentThumb;if(this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL){var c=this.getElement().clientHeight-b.offsetHeight;c=(c-a.top)/c*(this.getMaximum()-this.getMinimum())+this.getMinimum()}else c=this.getElement().clientWidth-b.offsetWidth,c=a.left/c*(this.getMaximum()-this.getMinimum())+this.getMinimum();c=a.dragger==this.valueDragger_?Math.min(Math.max(c,this.getMinimum()),\nthis.getValue()+this.getExtent()):Math.min(Math.max(c,this.getValue()),this.getMaximum());this.setThumbPosition_(b,c)};\ngoog.ui.SliderBase.prototype.handleThumbDragStartEnd_=function(a){var b=a.type==goog.fx.Dragger.EventType.START;goog.dom.classlist.enable(goog.asserts.assertElement(this.getElement()),goog.ui.SliderBase.SLIDER_DRAGGING_CSS_CLASS_,b);goog.dom.classlist.enable(goog.asserts.assertElement(a.target.handle),goog.ui.SliderBase.THUMB_DRAGGING_CSS_CLASS_,b);a=a.dragger==this.valueDragger_;b?(this.dispatchEvent(goog.ui.SliderBase.EventType.DRAG_START),this.dispatchEvent(a?goog.ui.SliderBase.EventType.DRAG_VALUE_START:\ngoog.ui.SliderBase.EventType.DRAG_EXTENT_START)):(this.dispatchEvent(goog.ui.SliderBase.EventType.DRAG_END),this.dispatchEvent(a?goog.ui.SliderBase.EventType.DRAG_VALUE_END:goog.ui.SliderBase.EventType.DRAG_EXTENT_END))};\ngoog.ui.SliderBase.prototype.handleKeyDown_=function(a){var b=!0;switch(a.keyCode){case goog.events.KeyCodes.HOME:this.animatedSetValue(this.getMinimum());break;case goog.events.KeyCodes.END:this.animatedSetValue(this.getMaximum());break;case goog.events.KeyCodes.PAGE_UP:this.moveThumbs(this.getBlockIncrement());break;case goog.events.KeyCodes.PAGE_DOWN:this.moveThumbs(-this.getBlockIncrement());break;case goog.events.KeyCodes.LEFT:var c=this.flipForRtl_\u0026\u0026this.isRightToLeft()?1:-1;this.moveThumbs(a.shiftKey?\nc*this.getBlockIncrement():c*this.getUnitIncrement());break;case goog.events.KeyCodes.DOWN:this.moveThumbs(a.shiftKey?-this.getBlockIncrement():-this.getUnitIncrement());break;case goog.events.KeyCodes.RIGHT:c=this.flipForRtl_\u0026\u0026this.isRightToLeft()?-1:1;this.moveThumbs(a.shiftKey?c*this.getBlockIncrement():c*this.getUnitIncrement());break;case goog.events.KeyCodes.UP:this.moveThumbs(a.shiftKey?this.getBlockIncrement():this.getUnitIncrement());break;default:b=!1}b\u0026\u0026a.preventDefault()};\ngoog.ui.SliderBase.prototype.handleMouseDownAndClick_=function(a){this.getElement().focus\u0026\u0026this.getElement().focus();var b=a.target;goog.dom.contains(this.valueThumb,b)||goog.dom.contains(this.extentThumb,b)||(b=a.type==goog.events.EventType.CLICK,b\u0026\u0026goog.now()\u003cthis.mouseDownTime_+this.MOUSE_DOWN_DELAY_||(b||(this.mouseDownTime_=goog.now()),this.moveToPointEnabled_?this.animatedSetValue(this.getValueFromMousePosition(a)):this.startBlockIncrementing_(a)))};\ngoog.ui.SliderBase.prototype.handleMouseWheel_=function(a){this.moveThumbs((0\u003ca.detail?-1:1)*this.getUnitIncrement());a.preventDefault()};\ngoog.ui.SliderBase.prototype.startBlockIncrementing_=function(a){this.storeMousePos_(a);this.thumbToMove_=this.getClosestThumb_(this.getValueFromMousePosition(a));this.incrementing_=this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL?this.lastMousePosition_\u003cthis.thumbToMove_.offsetTop:this.lastMousePosition_\u003ethis.getOffsetStart_(this.thumbToMove_)+this.thumbToMove_.offsetWidth;a=goog.dom.getOwnerDocument(this.getElement());this.getHandler().listen(a,goog.events.EventType.MOUSEUP,this.stopBlockIncrementing_,\n!0).listen(this.getElement(),goog.events.EventType.MOUSEMOVE,this.storeMousePos_);this.incTimer_||(this.incTimer_=new goog.Timer(goog.ui.SliderBase.MOUSE_DOWN_INCREMENT_INTERVAL_),this.getHandler().listen(this.incTimer_,goog.Timer.TICK,this.handleTimerTick_));this.handleTimerTick_();this.incTimer_.start()};\ngoog.ui.SliderBase.prototype.handleTimerTick_=function(){var a;if(this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL){var b=this.lastMousePosition_,c=this.thumbToMove_.offsetTop;this.incrementing_?b\u003cc\u0026\u0026(a=this.getThumbPosition_(this.thumbToMove_)+this.getBlockIncrement()):b\u003ec+this.thumbToMove_.offsetHeight\u0026\u0026(a=this.getThumbPosition_(this.thumbToMove_)-this.getBlockIncrement())}else b=this.lastMousePosition_,c=this.getOffsetStart_(this.thumbToMove_),this.incrementing_?b\u003ec+this.thumbToMove_.offsetWidth\u0026\u0026\n(a=this.getThumbPosition_(this.thumbToMove_)+this.getBlockIncrement()):b\u003cc\u0026\u0026(a=this.getThumbPosition_(this.thumbToMove_)-this.getBlockIncrement());goog.isDef(a)\u0026\u0026this.setThumbPosition_(this.thumbToMove_,a)};\ngoog.ui.SliderBase.prototype.stopBlockIncrementing_=function(){this.incTimer_\u0026\u0026this.incTimer_.stop();var a=goog.dom.getOwnerDocument(this.getElement());this.getHandler().unlisten(a,goog.events.EventType.MOUSEUP,this.stopBlockIncrementing_,!0).unlisten(this.getElement(),goog.events.EventType.MOUSEMOVE,this.storeMousePos_)};\ngoog.ui.SliderBase.prototype.getRelativeMousePos_=function(a){a=goog.style.getRelativePosition(a,this.getElement());return this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL?a.y:this.flipForRtl_\u0026\u0026this.isRightToLeft()?this.getElement().clientWidth-a.x:a.x};goog.ui.SliderBase.prototype.storeMousePos_=function(a){this.lastMousePosition_=this.getRelativeMousePos_(a)};\ngoog.ui.SliderBase.prototype.getValueFromMousePosition=function(a){var b=this.getMinimum(),c=this.getMaximum();if(this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL){var d=this.valueThumb.offsetHeight,e=this.getElement().clientHeight-d;a=this.getRelativeMousePos_(a)-d/2;return(c-b)*(e-a)/e+b}d=this.valueThumb.offsetWidth;e=this.getElement().clientWidth-d;a=this.getRelativeMousePos_(a)-d/2;return(c-b)*a/e+b};\ngoog.ui.SliderBase.prototype.getThumbPosition_=function(a){if(a==this.valueThumb)return this.rangeModel.getValue();if(a==this.extentThumb)return this.rangeModel.getValue()+this.rangeModel.getExtent();throw Error(\"Illegal thumb element. Neither minThumb nor maxThumb\");};goog.ui.SliderBase.prototype.isDragging=function(){return this.valueDragger_.isDragging()||this.extentDragger_.isDragging()};\ngoog.ui.SliderBase.prototype.moveThumbs=function(a){Math.abs(a)\u003cthis.getStep()\u0026\u0026(a=goog.math.sign(a)*this.getStep());var b=this.getThumbPosition_(this.valueThumb)+a;a=this.getThumbPosition_(this.extentThumb)+a;b=goog.math.clamp(b,this.getMinimum(),this.getMaximum()-this.minExtent_);a=goog.math.clamp(a,this.getMinimum()+this.minExtent_,this.getMaximum());this.setValueAndExtent(b,a-b)};\ngoog.ui.SliderBase.prototype.setThumbPosition_=function(a,b){var c=this.rangeModel.roundToStepWithMin(b),d=a==this.valueThumb?c:this.rangeModel.getValue();c=a==this.extentThumb?c:this.rangeModel.getValue()+this.rangeModel.getExtent();d\u003e=this.getMinimum()\u0026\u0026c\u003e=d+this.minExtent_\u0026\u0026this.getMaximum()\u003e=c\u0026\u0026this.setValueAndExtent(d,c-d)};\ngoog.ui.SliderBase.prototype.setValueAndExtent=function(a,b){this.getMinimum()\u003c=a\u0026\u0026a\u003c=this.getMaximum()-b\u0026\u0026this.minExtent_\u003c=b\u0026\u0026b\u003c=this.getMaximum()-a\u0026\u0026(a!=this.getValue()||b!=this.getExtent())\u0026\u0026(this.rangeModel.setMute(!0),this.rangeModel.setExtent(0),this.rangeModel.setValue(a),this.rangeModel.setExtent(b),this.rangeModel.setMute(!1),this.handleRangeModelChange(null))};goog.ui.SliderBase.prototype.getMinimum=function(){return this.rangeModel.getMinimum()};\ngoog.ui.SliderBase.prototype.setMinimum=function(a){this.rangeModel.setMinimum(a)};goog.ui.SliderBase.prototype.getMaximum=function(){return this.rangeModel.getMaximum()};goog.ui.SliderBase.prototype.setMaximum=function(a){this.rangeModel.setMaximum(a)};goog.ui.SliderBase.prototype.getValueThumb=function(){return this.valueThumb};goog.ui.SliderBase.prototype.getExtentThumb=function(){return this.extentThumb};\ngoog.ui.SliderBase.prototype.getClosestThumb_=function(a){return a\u003c=this.rangeModel.getValue()+this.rangeModel.getExtent()/2?this.valueThumb:this.extentThumb};goog.ui.SliderBase.prototype.handleRangeModelChange=function(a){this.updateUi_();this.updateAriaStates();this.dispatchEvent(goog.ui.Component.EventType.CHANGE)};\ngoog.ui.SliderBase.prototype.updateUi_=function(){if(this.valueThumb\u0026\u0026!this.isAnimating_){var a=this.getThumbCoordinateForValue(this.getThumbPosition_(this.valueThumb)),b=this.getThumbCoordinateForValue(this.getThumbPosition_(this.extentThumb));if(this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL)this.valueThumb.style.top=a.y+\"px\",this.extentThumb.style.top=b.y+\"px\",this.rangeHighlight\u0026\u0026(a=this.calculateRangeHighlightPositioning_(b.y,a.y,this.valueThumb.offsetHeight),this.rangeHighlight.style.top=\na.offset+\"px\",this.rangeHighlight.style.height=a.size+\"px\");else{var c=this.flipForRtl_\u0026\u0026this.isRightToLeft()?\"right\":\"left\";this.valueThumb.style[c]=a.x+\"px\";this.extentThumb.style[c]=b.x+\"px\";this.rangeHighlight\u0026\u0026(a=this.calculateRangeHighlightPositioning_(a.x,b.x,this.valueThumb.offsetWidth),this.rangeHighlight.style[c]=a.offset+\"px\",this.rangeHighlight.style.width=a.size+\"px\")}}};\ngoog.ui.SliderBase.prototype.calculateRangeHighlightPositioning_=function(a,b,c){var d=Math.ceil(c/2);return{offset:a+d,size:Math.max(b-a+c-2*d,0)}};\ngoog.ui.SliderBase.prototype.getThumbCoordinateForValue=function(a){var b=new goog.math.Coordinate;if(this.valueThumb){var c=this.getMinimum(),d=this.getMaximum();a=a==c\u0026\u0026c==d?0:(a-c)/(d-c);this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL?(c=this.valueThumb.offsetHeight,c=this.getElement().clientHeight-c,a=Math.round(a*c),b.x=this.getOffsetStart_(this.valueThumb),b.y=c-a):(c=this.getElement().clientWidth-this.valueThumb.offsetWidth,b.x=Math.round(a*c),b.y=this.valueThumb.offsetTop)}return b};\ngoog.ui.SliderBase.prototype.animatedSetValue=function(a){a=goog.math.clamp(a,this.getMinimum(),this.getMaximum());this.isAnimating_\u0026\u0026(this.currentAnimation_.stop(!0),this.currentAnimation_.dispose());var b=new goog.fx.AnimationParallelQueue,c=this.getClosestThumb_(a),d=this.getValue(),e=this.getExtent(),f=this.getThumbPosition_(c),g=this.getThumbCoordinateForValue(f);var h=this.getStep();Math.abs(a-f)\u003ch\u0026\u0026(a=goog.math.clamp(f+(a\u003ef?h:-h),this.getMinimum(),this.getMaximum()));this.setThumbPosition_(c,\na);f=this.getThumbCoordinateForValue(this.getThumbPosition_(c));h=this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL?[this.getOffsetStart_(c),f.y]:[f.x,c.offsetTop];g=new goog.fx.dom.Slide(c,[g.x,g.y],h,goog.ui.SliderBase.ANIMATION_INTERVAL_);g.enableRightPositioningForRtl(this.flipForRtl_);b.add(g);this.rangeHighlight\u0026\u0026this.addRangeHighlightAnimations_(c,d,e,f,b);this.additionalAnimations_\u0026\u0026(a=this.additionalAnimations_.createAnimations(d,a,goog.ui.SliderBase.ANIMATION_INTERVAL_),goog.array.forEach(a,\nfunction(a){b.add(a)}));this.currentAnimation_=b;this.getHandler().listen(b,goog.fx.Transition.EventType.END,this.endAnimation_);this.isAnimating_=!0;b.play(!1)};goog.ui.SliderBase.prototype.isAnimating=function(){return this.isAnimating_};goog.ui.SliderBase.prototype.setAdditionalAnimations=function(a){this.additionalAnimations_=a};\ngoog.ui.SliderBase.prototype.addRangeHighlightAnimations_=function(a,b,c,d,e){var f=this.getThumbCoordinateForValue(b),g=this.getThumbCoordinateForValue(b+c);b=f;c=g;a==this.valueThumb?b=d:c=d;this.orientation_==goog.ui.SliderBase.Orientation.VERTICAL?(a=this.calculateRangeHighlightPositioning_(g.y,f.y,this.valueThumb.offsetHeight),f=this.calculateRangeHighlightPositioning_(c.y,b.y,this.valueThumb.offsetHeight),d=new goog.fx.dom.Slide(this.rangeHighlight,[this.getOffsetStart_(this.rangeHighlight),\na.offset],[this.getOffsetStart_(this.rangeHighlight),f.offset],goog.ui.SliderBase.ANIMATION_INTERVAL_),a=new goog.fx.dom.ResizeHeight(this.rangeHighlight,a.size,f.size,goog.ui.SliderBase.ANIMATION_INTERVAL_)):(a=this.calculateRangeHighlightPositioning_(f.x,g.x,this.valueThumb.offsetWidth),f=this.calculateRangeHighlightPositioning_(b.x,c.x,this.valueThumb.offsetWidth),d=new goog.fx.dom.Slide(this.rangeHighlight,[a.offset,this.rangeHighlight.offsetTop],[f.offset,this.rangeHighlight.offsetTop],goog.ui.SliderBase.ANIMATION_INTERVAL_),\na=new goog.fx.dom.ResizeWidth(this.rangeHighlight,a.size,f.size,goog.ui.SliderBase.ANIMATION_INTERVAL_));d.enableRightPositioningForRtl(this.flipForRtl_);a.enableRightPositioningForRtl(this.flipForRtl_);e.add(d);e.add(a)};goog.ui.SliderBase.prototype.endAnimation_=function(a){this.isAnimating_=!1;this.dispatchEvent(goog.ui.SliderBase.EventType.ANIMATION_END)};\ngoog.ui.SliderBase.prototype.setOrientation=function(a){if(this.orientation_!=a){var b=this.getCssClass(this.orientation_),c=this.getCssClass(a);this.orientation_=a;this.getElement()\u0026\u0026(goog.dom.classlist.swap(goog.asserts.assert(this.getElement()),b,c),a=this.flipForRtl_\u0026\u0026this.isRightToLeft()?\"right\":\"left\",this.valueThumb.style[a]=this.valueThumb.style.top=\"\",this.extentThumb.style[a]=this.extentThumb.style.top=\"\",this.rangeHighlight\u0026\u0026(this.rangeHighlight.style[a]=this.rangeHighlight.style.top=\"\",\nthis.rangeHighlight.style.width=this.rangeHighlight.style.height=\"\"),this.updateUi_())}};goog.ui.SliderBase.prototype.getOrientation=function(){return this.orientation_};\ngoog.ui.SliderBase.prototype.disposeInternal=function(){goog.ui.SliderBase.superClass_.disposeInternal.call(this);this.incTimer_\u0026\u0026this.incTimer_.dispose();delete this.incTimer_;this.currentAnimation_\u0026\u0026this.currentAnimation_.dispose();delete this.currentAnimation_;delete this.valueThumb;delete this.extentThumb;this.rangeHighlight\u0026\u0026delete this.rangeHighlight;this.rangeModel.dispose();delete this.rangeModel;this.keyHandler_\u0026\u0026(this.keyHandler_.dispose(),delete this.keyHandler_);this.mouseWheelHandler_\u0026\u0026\n(this.mouseWheelHandler_.dispose(),delete this.mouseWheelHandler_);this.valueDragger_\u0026\u0026(this.valueDragger_.dispose(),delete this.valueDragger_);this.extentDragger_\u0026\u0026(this.extentDragger_.dispose(),delete this.extentDragger_)};goog.ui.SliderBase.prototype.getBlockIncrement=function(){return this.blockIncrement_};goog.ui.SliderBase.prototype.setBlockIncrement=function(a){this.blockIncrement_=a};goog.ui.SliderBase.prototype.setMinExtent=function(a){this.minExtent_=a};\ngoog.ui.SliderBase.prototype.unitIncrement_=1;goog.ui.SliderBase.prototype.getUnitIncrement=function(){return this.unitIncrement_};goog.ui.SliderBase.prototype.setUnitIncrement=function(a){this.unitIncrement_=a};goog.ui.SliderBase.prototype.getStep=function(){return this.rangeModel.getStep()};goog.ui.SliderBase.prototype.setStep=function(a){this.rangeModel.setStep(a)};goog.ui.SliderBase.prototype.getMoveToPointEnabled=function(){return this.moveToPointEnabled_};\ngoog.ui.SliderBase.prototype.setMoveToPointEnabled=function(a){this.moveToPointEnabled_=a};goog.ui.SliderBase.prototype.getValue=function(){return this.rangeModel.getValue()};goog.ui.SliderBase.prototype.setValue=function(a){this.setThumbPosition_(this.valueThumb,a)};goog.ui.SliderBase.prototype.getExtent=function(){return this.rangeModel.getExtent()};goog.ui.SliderBase.prototype.setExtent=function(a){this.setThumbPosition_(this.extentThumb,this.rangeModel.getValue()+a)};\ngoog.ui.SliderBase.prototype.setVisible=function(a){goog.style.setElementShown(this.getElement(),a);a\u0026\u0026this.updateUi_()};goog.ui.SliderBase.prototype.setAriaRoles=function(){var a=this.getElement();goog.asserts.assert(a,\"The DOM element for the slider base cannot be null.\");goog.a11y.aria.setRole(a,goog.a11y.aria.Role.SLIDER);this.updateAriaStates()};\ngoog.ui.SliderBase.prototype.updateAriaStates=function(){var a=this.getElement();a\u0026\u0026(goog.a11y.aria.setState(a,goog.a11y.aria.State.VALUEMIN,this.getMinimum()),goog.a11y.aria.setState(a,goog.a11y.aria.State.VALUEMAX,this.getMaximum()),goog.a11y.aria.setState(a,goog.a11y.aria.State.VALUENOW,this.getValue()),goog.a11y.aria.setState(a,goog.a11y.aria.State.VALUETEXT,this.getTextValue()||\"\"))};\ngoog.ui.SliderBase.prototype.setHandleMouseWheel=function(a){this.isInDocument()\u0026\u0026a!=this.isHandleMouseWheel()\u0026\u0026this.enableMouseWheelHandling_(a);this.isHandleMouseWheel_=a};goog.ui.SliderBase.prototype.isHandleMouseWheel=function(){return this.isHandleMouseWheel_};\ngoog.ui.SliderBase.prototype.enableMouseWheelHandling_=function(a){a?(this.mouseWheelHandler_||(this.mouseWheelHandler_=new goog.events.MouseWheelHandler(this.getElement())),this.getHandler().listen(this.mouseWheelHandler_,goog.events.MouseWheelHandler.EventType.MOUSEWHEEL,this.handleMouseWheel_)):this.getHandler().unlisten(this.mouseWheelHandler_,goog.events.MouseWheelHandler.EventType.MOUSEWHEEL,this.handleMouseWheel_)};\ngoog.ui.SliderBase.prototype.setEnabled=function(a){this.enabled_!=a\u0026\u0026this.dispatchEvent(a?goog.ui.Component.EventType.ENABLE:goog.ui.Component.EventType.DISABLE)\u0026\u0026(this.enabled_=a,this.enableEventHandlers_(a),a||this.stopBlockIncrementing_(),goog.dom.classlist.enable(goog.asserts.assert(this.getElement()),goog.ui.SliderBase.DISABLED_CSS_CLASS_,!a))};goog.ui.SliderBase.prototype.isEnabled=function(){return this.enabled_};\ngoog.ui.SliderBase.prototype.getOffsetStart_=function(a){return this.flipForRtl_?goog.style.bidi.getOffsetStart(a):a.offsetLeft};goog.ui.SliderBase.prototype.getTextValue=function(){return this.labelFn_(this.getValue())};goog.ui.SliderBase.AnimationFactory=function(){};goog.ui.Slider=function(a,b){goog.ui.SliderBase.call(this,a,b);this.rangeModel.setExtent(0)};goog.inherits(goog.ui.Slider,goog.ui.SliderBase);goog.tagUnsealableClass(goog.ui.Slider);goog.ui.Slider.Orientation=goog.ui.SliderBase.Orientation;goog.ui.Slider.CSS_CLASS_PREFIX=\"goog-slider\";goog.ui.Slider.THUMB_CSS_CLASS=goog.ui.Slider.CSS_CLASS_PREFIX+\"-thumb\";\ngoog.ui.Slider.prototype.getCssClass=function(a){return a==goog.ui.SliderBase.Orientation.VERTICAL?goog.ui.Slider.CSS_CLASS_PREFIX+\"-vertical\":goog.ui.Slider.CSS_CLASS_PREFIX+\"-horizontal\"};goog.ui.Slider.prototype.createThumbs=function(){var a=this.getElement(),b=goog.dom.getElementsByTagNameAndClass(null,goog.ui.Slider.THUMB_CSS_CLASS,a)[0];b||(b=this.createThumb_(),a.appendChild(b));this.valueThumb=this.extentThumb=b};\ngoog.ui.Slider.prototype.createThumb_=function(){var a=this.getDomHelper().createDom(\"DIV\",goog.ui.Slider.THUMB_CSS_CLASS);goog.a11y.aria.setRole(a,goog.a11y.aria.Role.BUTTON);return a};goog.dom.animationFrame={};goog.dom.animationFrame.polyfill={};goog.dom.animationFrame.polyfill.ENABLED=!0;\ngoog.dom.animationFrame.polyfill.install=function(){if(goog.dom.animationFrame.polyfill.ENABLED){for(var a=[\"ms\",\"moz\",\"webkit\",\"o\"],b=0,c;c=a[b]\u0026\u0026!goog.global.requestAnimationFrame;++b)goog.global.requestAnimationFrame=goog.global[c+\"RequestAnimationFrame\"],goog.global.cancelAnimationFrame=goog.global[c+\"CancelAnimationFrame\"]||goog.global[c+\"CancelRequestAnimationFrame\"];if(!goog.global.requestAnimationFrame){var d=0;goog.global.requestAnimationFrame=function(a){var b=(new Date).getTime(),c=Math.max(0,\n16-(b-d));d=b+c;return goog.global.setTimeout(function(){a(b+c)},c)};goog.global.cancelAnimationFrame||(goog.global.cancelAnimationFrame=function(a){clearTimeout(a)})}}};goog.events.FocusHandler=function(a){goog.events.EventTarget.call(this);this.element_=a;a=goog.userAgent.IE?\"focusout\":\"blur\";this.listenKeyIn_=goog.events.listen(this.element_,goog.userAgent.IE?\"focusin\":\"focus\",this,!goog.userAgent.IE);this.listenKeyOut_=goog.events.listen(this.element_,a,this,!goog.userAgent.IE)};goog.inherits(goog.events.FocusHandler,goog.events.EventTarget);goog.events.FocusHandler.EventType={FOCUSIN:\"focusin\",FOCUSOUT:\"focusout\"};\ngoog.events.FocusHandler.prototype.handleEvent=function(a){var b=a.getBrowserEvent();b=new goog.events.BrowserEvent(b);b.type=\"focusin\"==a.type||\"focus\"==a.type?goog.events.FocusHandler.EventType.FOCUSIN:goog.events.FocusHandler.EventType.FOCUSOUT;this.dispatchEvent(b)};goog.events.FocusHandler.prototype.disposeInternal=function(){goog.events.FocusHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKeyIn_);goog.events.unlistenByKey(this.listenKeyOut_);delete this.element_};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;\ngoog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS\u0026\u0026(this.sequenceNumber_=\"number\"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};\ngoog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};\ngoog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),\"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.\");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;\ngoog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0\u003cgoog.debug.LogBuffer.CAPACITY};\ngoog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME=\"\";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level(\"OFF\",Infinity);\ngoog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level(\"SHOUT\",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level(\"SEVERE\",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level(\"WARNING\",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level(\"INFO\",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level(\"CONFIG\",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level(\"FINE\",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level(\"FINER\",400);\ngoog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level(\"FINEST\",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level(\"ALL\",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];\ngoog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};\ngoog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};\ngoog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b\u003cgoog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value\u003c=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};\ngoog.debug.Logger.logToProfilers=function(a){var b=goog.global.console;b\u0026\u0026b.timeStamp\u0026\u0026b.timeStamp(a);(b=goog.global.msWriteProfilerMark)\u0026\u0026b(a)};goog.debug.Logger.prototype.getName=function(){return this.name_};\ngoog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED\u0026\u0026(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,\"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false.\"),goog.debug.Logger.rootHandlers_.push(a)))};\ngoog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b\u0026\u0026goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};\ngoog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED\u0026\u0026(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,\"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false.\"),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};\ngoog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail(\"Root logger has no level set.\");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED\u0026\u0026a.value\u003e=this.getEffectiveLevel().value};\ngoog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED\u0026\u0026this.isLoggable(a)\u0026\u0026(goog.isFunction(b)\u0026\u0026(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c\u0026\u0026a.setException(c);return a};\ngoog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.INFO,a,b)};\ngoog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED\u0026\u0026this.log(goog.debug.Logger.Level.FINEST,a,b)};\ngoog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED\u0026\u0026this.isLoggable(a.getLevel())\u0026\u0026this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.logToProfilers(\"log:\"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};\ngoog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;\ngoog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};\ngoog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe(\"Error: \"+b.message+\" (\"+b.fileName+\" @ Line: \"+b.line+\")\")}};\ngoog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf(\".\"),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){if(goog.log.ENABLED){var c=goog.debug.LogManager.getLogger(a);b\u0026\u0026c\u0026\u0026c.setLevel(b);return c}return null};goog.log.addHandler=function(a,b){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.addHandler(b)};\ngoog.log.removeHandler=function(a,b){return goog.log.ENABLED\u0026\u0026a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED\u0026\u0026a\u0026\u0026a.fine(b,c)};goog.string.StringBuffer=function(a,b){null!=a\u0026\u0026this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.buffer_=\"\";goog.string.StringBuffer.prototype.set=function(a){this.buffer_=\"\"+a};goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=String(a);if(null!=b)for(var d=1;d\u003carguments.length;d++)this.buffer_+=arguments[d];return this};goog.string.StringBuffer.prototype.clear=function(){this.buffer_=\"\"};goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length};\ngoog.string.StringBuffer.prototype.toString=function(){return this.buffer_};goog.ui.tree={};goog.ui.tree.BaseNode=function(a,b,c){goog.ui.Component.call(this,c);this.config_=b||goog.ui.tree.BaseNode.defaultConfig;this.html_=goog.html.SafeHtml.htmlEscapePreservingNewlines(a);this.expanded_=this.selected_=!1;this.toolTip_=null;this.afterLabelHtml_=goog.html.SafeHtml.EMPTY;this.isUserCollapsible_=!0;this.depth_=-1};goog.inherits(goog.ui.tree.BaseNode,goog.ui.Component);\ngoog.ui.tree.BaseNode.EventType={BEFORE_EXPAND:\"beforeexpand\",EXPAND:\"expand\",BEFORE_COLLAPSE:\"beforecollapse\",COLLAPSE:\"collapse\"};goog.ui.tree.BaseNode.allNodes={};goog.ui.tree.BaseNode.prototype.disposeInternal=function(){goog.ui.tree.BaseNode.superClass_.disposeInternal.call(this);this.tree\u0026\u0026(this.tree.removeNode(this),this.tree=null);this.setElementInternal(null)};\ngoog.ui.tree.BaseNode.prototype.initAccessibility=function(){var a=this.getElement();if(a){var b=this.getLabelElement();b\u0026\u0026!b.id\u0026\u0026(b.id=this.getId()+\".label\");goog.a11y.aria.setRole(a,\"treeitem\");goog.a11y.aria.setState(a,\"selected\",!1);goog.a11y.aria.setState(a,\"level\",this.getDepth());b\u0026\u0026goog.a11y.aria.setState(a,\"labelledby\",b.id);(b=this.getIconElement())\u0026\u0026goog.a11y.aria.setRole(b,\"presentation\");(b=this.getExpandIconElement())\u0026\u0026goog.a11y.aria.setRole(b,\"presentation\");if(b=this.getChildrenElement())if(goog.a11y.aria.setRole(b,\n\"group\"),b.hasChildNodes())for(goog.a11y.aria.setState(a,goog.a11y.aria.State.EXPANDED,!1),a=this.getChildCount(),b=1;b\u003c=a;b++){var c=this.getChildAt(b-1).getElement();goog.asserts.assert(c,\"The child element cannot be null\");goog.a11y.aria.setState(c,\"setsize\",a);goog.a11y.aria.setState(c,\"posinset\",b)}}};goog.ui.tree.BaseNode.prototype.createDom=function(){var a=this.getDomHelper().safeHtmlToNode(this.toSafeHtml());this.setElementInternal(a)};\ngoog.ui.tree.BaseNode.prototype.enterDocument=function(){goog.ui.tree.BaseNode.superClass_.enterDocument.call(this);goog.ui.tree.BaseNode.allNodes[this.getId()]=this;this.initAccessibility()};goog.ui.tree.BaseNode.prototype.exitDocument=function(){goog.ui.tree.BaseNode.superClass_.exitDocument.call(this);delete goog.ui.tree.BaseNode.allNodes[this.getId()]};\ngoog.ui.tree.BaseNode.prototype.addChildAt=function(a,b,c){goog.asserts.assert(!a.getParent());goog.asserts.assertInstanceof(a,goog.ui.tree.BaseNode);c=this.getChildAt(b-1);var d=this.getChildAt(b);goog.ui.tree.BaseNode.superClass_.addChildAt.call(this,a,b);a.previousSibling_=c;a.nextSibling_=d;c?c.nextSibling_=a:this.firstChild_=a;d?d.previousSibling_=a:this.lastChild_=a;(b=this.getTree())\u0026\u0026a.setTreeInternal(b);a.setDepth_(this.getDepth()+1);if(b=this.getElement())if(this.updateExpandIcon(),goog.a11y.aria.setState(b,\ngoog.a11y.aria.State.EXPANDED,this.getExpanded()),this.getExpanded()){b=this.getChildrenElement();a.getElement()||a.createDom();var e=a.getElement(),f=d\u0026\u0026d.getElement();b.insertBefore(e,f);this.isInDocument()\u0026\u0026a.enterDocument();d||(c?c.updateExpandIcon():(goog.style.setElementShown(b,!0),this.setExpanded(this.getExpanded())))}};\ngoog.ui.tree.BaseNode.prototype.add=function(a,b){goog.asserts.assert(!b||b.getParent()==this,\"Can only add nodes before siblings\");a.getParent()\u0026\u0026a.getParent().removeChild(a);this.addChildAt(a,b?this.indexOfChild(b):this.getChildCount());return a};\ngoog.ui.tree.BaseNode.prototype.removeChild=function(a,b){var c=this.getTree(),d=c?c.getSelectedItem():null;if(d==a||a.contains(d))c.hasFocus()?(this.select(),goog.Timer.callOnce(this.onTimeoutSelect_,10,this)):this.select();goog.ui.tree.BaseNode.superClass_.removeChild.call(this,a);this.lastChild_==a\u0026\u0026(this.lastChild_=a.previousSibling_);this.firstChild_==a\u0026\u0026(this.firstChild_=a.nextSibling_);a.previousSibling_\u0026\u0026(a.previousSibling_.nextSibling_=a.nextSibling_);a.nextSibling_\u0026\u0026(a.nextSibling_.previousSibling_=\na.previousSibling_);d=a.isLastSibling();a.tree=null;a.depth_=-1;if(c\u0026\u0026(c.removeNode(a),this.isInDocument())){c=this.getChildrenElement();if(a.isInDocument()){var e=a.getElement();c.removeChild(e);a.exitDocument()}d\u0026\u0026(d=this.getLastChild())\u0026\u0026d.updateExpandIcon();this.hasChildren()||(c.style.display=\"none\",this.updateExpandIcon(),this.updateIcon_(),(d=this.getElement())\u0026\u0026goog.a11y.aria.removeState(d,goog.a11y.aria.State.EXPANDED))}return a};goog.ui.tree.BaseNode.prototype.remove=goog.ui.tree.BaseNode.prototype.removeChild;\ngoog.ui.tree.BaseNode.prototype.onTimeoutSelect_=function(){this.select()};goog.ui.tree.BaseNode.prototype.getTree=goog.abstractMethod;goog.ui.tree.BaseNode.prototype.getDepth=function(){var a=this.depth_;0\u003ea\u0026\u0026(a=this.computeDepth_(),this.setDepth_(a));return a};goog.ui.tree.BaseNode.prototype.computeDepth_=function(){var a=this.getParent();return a?a.getDepth()+1:0};\ngoog.ui.tree.BaseNode.prototype.setDepth_=function(a){if(a!=this.depth_){this.depth_=a;var b=this.getRowElement();if(b){var c=this.getPixelIndent_()+\"px\";this.isRightToLeft()?b.style.paddingRight=c:b.style.paddingLeft=c}this.forEachChild(function(b){b.setDepth_(a+1)})}};goog.ui.tree.BaseNode.prototype.contains=function(a){for(;a;){if(a==this)return!0;a=a.getParent()}return!1};goog.ui.tree.BaseNode.EMPTY_CHILDREN_=[];\ngoog.ui.tree.BaseNode.prototype.getChildren=function(){var a=[];this.forEachChild(function(b){a.push(b)});return a};goog.ui.tree.BaseNode.prototype.getFirstChild=function(){return this.getChildAt(0)};goog.ui.tree.BaseNode.prototype.getLastChild=function(){return this.getChildAt(this.getChildCount()-1)};goog.ui.tree.BaseNode.prototype.getPreviousSibling=function(){return this.previousSibling_};goog.ui.tree.BaseNode.prototype.getNextSibling=function(){return this.nextSibling_};\ngoog.ui.tree.BaseNode.prototype.isLastSibling=function(){return!this.nextSibling_};goog.ui.tree.BaseNode.prototype.isSelected=function(){return this.selected_};goog.ui.tree.BaseNode.prototype.select=function(){var a=this.getTree();a\u0026\u0026a.setSelectedItem(this)};goog.ui.tree.BaseNode.prototype.deselect=goog.nullFunction;\ngoog.ui.tree.BaseNode.prototype.setSelectedInternal=function(a){if(this.selected_!=a){this.selected_=a;this.updateRow();var b=this.getElement();b\u0026\u0026(goog.a11y.aria.setState(b,\"selected\",a),a\u0026\u0026(a=this.getTree().getElement(),goog.asserts.assert(a,\"The DOM element for the tree cannot be null\"),goog.a11y.aria.setState(a,\"activedescendant\",this.getId())))}};goog.ui.tree.BaseNode.prototype.getExpanded=function(){return this.expanded_};\ngoog.ui.tree.BaseNode.prototype.setExpandedInternal=function(a){this.expanded_=a};\ngoog.ui.tree.BaseNode.prototype.setExpanded=function(a){var b=a!=this.expanded_;if(!b||this.dispatchEvent(a?goog.ui.tree.BaseNode.EventType.BEFORE_EXPAND:goog.ui.tree.BaseNode.EventType.BEFORE_COLLAPSE)){this.expanded_=a;var c=this.getTree();var d=this.getElement();if(this.hasChildren()){if(!a\u0026\u0026c\u0026\u0026this.contains(c.getSelectedItem())\u0026\u0026this.select(),d){if(c=this.getChildrenElement())if(goog.style.setElementShown(c,a),goog.a11y.aria.setState(d,goog.a11y.aria.State.EXPANDED,a),a\u0026\u0026this.isInDocument()\u0026\u0026\n!c.hasChildNodes()){var e=[];this.forEachChild(function(a){e.push(a.toSafeHtml())});goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(e));this.forEachChild(function(a){a.enterDocument()})}this.updateExpandIcon()}}else(c=this.getChildrenElement())\u0026\u0026goog.style.setElementShown(c,!1);d\u0026\u0026this.updateIcon_();b\u0026\u0026this.dispatchEvent(a?goog.ui.tree.BaseNode.EventType.EXPAND:goog.ui.tree.BaseNode.EventType.COLLAPSE)}};goog.ui.tree.BaseNode.prototype.toggle=function(){this.setExpanded(!this.getExpanded())};\ngoog.ui.tree.BaseNode.prototype.expand=function(){this.setExpanded(!0)};goog.ui.tree.BaseNode.prototype.collapse=function(){this.setExpanded(!1)};goog.ui.tree.BaseNode.prototype.collapseChildren=function(){this.forEachChild(function(a){a.collapseAll()})};goog.ui.tree.BaseNode.prototype.collapseAll=function(){this.collapseChildren();this.collapse()};goog.ui.tree.BaseNode.prototype.expandChildren=function(){this.forEachChild(function(a){a.expandAll()})};\ngoog.ui.tree.BaseNode.prototype.expandAll=function(){this.expandChildren();this.expand()};goog.ui.tree.BaseNode.prototype.reveal=function(){var a=this.getParent();a\u0026\u0026(a.setExpanded(!0),a.reveal())};goog.ui.tree.BaseNode.prototype.setIsUserCollapsible=function(a){(this.isUserCollapsible_=a)||this.expand();this.getElement()\u0026\u0026this.updateExpandIcon()};goog.ui.tree.BaseNode.prototype.isUserCollapsible=function(){return this.isUserCollapsible_};\ngoog.ui.tree.BaseNode.prototype.toSafeHtml=function(){var a=this.getTree(),b=!a.getShowLines()||a==this.getParent()\u0026\u0026!a.getShowRootLines()?this.config_.cssChildrenNoLines:this.config_.cssChildren;a=this.getExpanded()\u0026\u0026this.hasChildren();b={\"class\":b,style:this.getLineStyle()};var c=[];a\u0026\u0026this.forEachChild(function(a){c.push(a.toSafeHtml())});a=goog.html.SafeHtml.create(\"div\",b,c);return goog.html.SafeHtml.create(\"div\",{\"class\":this.config_.cssItem,id:this.getId()},[this.getRowSafeHtml(),a])};\ngoog.ui.tree.BaseNode.prototype.getPixelIndent_=function(){return Math.max(0,(this.getDepth()-1)*this.config_.indentWidth)};goog.ui.tree.BaseNode.prototype.getRowSafeHtml=function(){var a={};a[\"padding-\"+(this.isRightToLeft()?\"right\":\"left\")]=this.getPixelIndent_()+\"px\";a={\"class\":this.getRowClassName(),style:a};var b=[this.getExpandIconSafeHtml(),this.getIconSafeHtml(),this.getLabelSafeHtml()];return goog.html.SafeHtml.create(\"div\",a,b)};\ngoog.ui.tree.BaseNode.prototype.getRowClassName=function(){var a=this.isSelected()?\" \"+this.config_.cssSelectedRow:\"\";return this.config_.cssTreeRow+a};goog.ui.tree.BaseNode.prototype.getLabelSafeHtml=function(){var a=goog.html.SafeHtml.create(\"span\",{\"class\":this.config_.cssItemLabel,title:this.getToolTip()||null},this.getSafeHtml());return goog.html.SafeHtml.concat(a,goog.html.SafeHtml.create(\"span\",{},this.getAfterLabelSafeHtml()))};goog.ui.tree.BaseNode.prototype.getAfterLabelHtml=function(){return goog.html.SafeHtml.unwrap(this.getAfterLabelSafeHtml())};\ngoog.ui.tree.BaseNode.prototype.getAfterLabelSafeHtml=function(){return this.afterLabelHtml_};goog.ui.tree.BaseNode.prototype.setAfterLabelSafeHtml=function(a){this.afterLabelHtml_=a;var b=this.getAfterLabelElement();b\u0026\u0026goog.dom.safe.setInnerHtml(b,a)};goog.ui.tree.BaseNode.prototype.getIconSafeHtml=function(){return goog.html.SafeHtml.create(\"span\",{style:{display:\"inline-block\"},\"class\":this.getCalculatedIconClass()})};goog.ui.tree.BaseNode.prototype.getCalculatedIconClass=goog.abstractMethod;\ngoog.ui.tree.BaseNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create(\"span\",{type:\"expand\",style:{display:\"inline-block\"},\"class\":this.getExpandIconClass()})};\ngoog.ui.tree.BaseNode.prototype.getExpandIconClass=function(){var a=this.getTree(),b=!a.getShowLines()||a==this.getParent()\u0026\u0026!a.getShowRootLines(),c=this.config_,d=new goog.string.StringBuffer;d.append(c.cssTreeIcon,\" \",c.cssExpandTreeIcon,\" \");if(this.hasChildren()){var e=0;a.getShowExpandIcons()\u0026\u0026this.isUserCollapsible_\u0026\u0026(e=this.getExpanded()?2:1);b||(e=this.isLastSibling()?e+4:e+8);switch(e){case 1:d.append(c.cssExpandTreeIconPlus);break;case 2:d.append(c.cssExpandTreeIconMinus);break;case 4:d.append(c.cssExpandTreeIconL);\nbreak;case 5:d.append(c.cssExpandTreeIconLPlus);break;case 6:d.append(c.cssExpandTreeIconLMinus);break;case 8:d.append(c.cssExpandTreeIconT);break;case 9:d.append(c.cssExpandTreeIconTPlus);break;case 10:d.append(c.cssExpandTreeIconTMinus);break;default:d.append(c.cssExpandTreeIconBlank)}}else b?d.append(c.cssExpandTreeIconBlank):this.isLastSibling()?d.append(c.cssExpandTreeIconL):d.append(c.cssExpandTreeIconT);return d.toString()};\ngoog.ui.tree.BaseNode.prototype.getLineStyle=function(){var a=this.getExpanded()\u0026\u0026this.hasChildren();return goog.html.SafeStyle.create({\"background-position\":this.getBackgroundPosition(),display:a?null:\"none\"})};goog.ui.tree.BaseNode.prototype.getBackgroundPosition=function(){return(this.isLastSibling()?\"-100\":(this.getDepth()-1)*this.config_.indentWidth)+\"px 0\"};\ngoog.ui.tree.BaseNode.prototype.getElement=function(){var a=goog.ui.tree.BaseNode.superClass_.getElement.call(this);a||(a=this.getDomHelper().getElement(this.getId()),this.setElementInternal(a));return a};goog.ui.tree.BaseNode.prototype.getRowElement=function(){var a=this.getElement();return a?a.firstChild:null};goog.ui.tree.BaseNode.prototype.getExpandIconElement=function(){var a=this.getRowElement();return a?a.firstChild:null};\ngoog.ui.tree.BaseNode.prototype.getIconElement=function(){var a=this.getRowElement();return a?a.childNodes[1]:null};goog.ui.tree.BaseNode.prototype.getLabelElement=function(){var a=this.getRowElement();return a\u0026\u0026a.lastChild?a.lastChild.previousSibling:null};goog.ui.tree.BaseNode.prototype.getAfterLabelElement=function(){var a=this.getRowElement();return a?a.lastChild:null};goog.ui.tree.BaseNode.prototype.getChildrenElement=function(){var a=this.getElement();return a?a.lastChild:null};\ngoog.ui.tree.BaseNode.prototype.setIconClass=function(a){this.iconClass_=a;this.isInDocument()\u0026\u0026this.updateIcon_()};goog.ui.tree.BaseNode.prototype.getIconClass=function(){return this.iconClass_};goog.ui.tree.BaseNode.prototype.setExpandedIconClass=function(a){this.expandedIconClass_=a;this.isInDocument()\u0026\u0026this.updateIcon_()};goog.ui.tree.BaseNode.prototype.getExpandedIconClass=function(){return this.expandedIconClass_};goog.ui.tree.BaseNode.prototype.setText=function(a){this.setSafeHtml(goog.html.SafeHtml.htmlEscape(a))};\ngoog.ui.tree.BaseNode.prototype.getText=function(){return goog.string.unescapeEntities(goog.html.SafeHtml.unwrap(this.html_))};goog.ui.tree.BaseNode.prototype.setSafeHtml=function(a){this.html_=a;var b=this.getLabelElement();b\u0026\u0026goog.dom.safe.setInnerHtml(b,a);(a=this.getTree())\u0026\u0026a.setNode(this)};goog.ui.tree.BaseNode.prototype.getHtml=function(){return goog.html.SafeHtml.unwrap(this.getSafeHtml())};goog.ui.tree.BaseNode.prototype.getSafeHtml=function(){return this.html_};\ngoog.ui.tree.BaseNode.prototype.setToolTip=function(a){this.toolTip_=a;var b=this.getLabelElement();b\u0026\u0026(b.title=a)};goog.ui.tree.BaseNode.prototype.getToolTip=function(){return this.toolTip_};goog.ui.tree.BaseNode.prototype.updateRow=function(){var a=this.getRowElement();a\u0026\u0026(a.className=this.getRowClassName())};\ngoog.ui.tree.BaseNode.prototype.updateExpandIcon=function(){var a=this.getExpandIconElement();a\u0026\u0026(a.className=this.getExpandIconClass());if(a=this.getChildrenElement())a.style.backgroundPosition=this.getBackgroundPosition()};goog.ui.tree.BaseNode.prototype.updateIcon_=function(){this.getIconElement().className=this.getCalculatedIconClass()};\ngoog.ui.tree.BaseNode.prototype.onMouseDown=function(a){\"expand\"==a.target.getAttribute(\"type\")\u0026\u0026this.hasChildren()?this.isUserCollapsible_\u0026\u0026this.toggle():(this.select(),this.updateRow())};goog.ui.tree.BaseNode.prototype.onClick_=goog.events.Event.preventDefault;goog.ui.tree.BaseNode.prototype.onDoubleClick_=function(a){\"expand\"==a.target.getAttribute(\"type\")\u0026\u0026this.hasChildren()||this.isUserCollapsible_\u0026\u0026this.toggle()};\ngoog.ui.tree.BaseNode.prototype.onKeyDown=function(a){var b=!0;switch(a.keyCode){case goog.events.KeyCodes.RIGHT:if(a.altKey)break;this.hasChildren()\u0026\u0026(this.getExpanded()?this.getFirstChild().select():this.setExpanded(!0));break;case goog.events.KeyCodes.LEFT:if(a.altKey)break;if(this.hasChildren()\u0026\u0026this.getExpanded()\u0026\u0026this.isUserCollapsible_)this.setExpanded(!1);else{var c=this.getParent(),d=this.getTree();c\u0026\u0026(d.getShowRootNode()||c!=d)\u0026\u0026c.select()}break;case goog.events.KeyCodes.DOWN:(c=this.getNextShownNode())\u0026\u0026\nc.select();break;case goog.events.KeyCodes.UP:(c=this.getPreviousShownNode())\u0026\u0026c.select();break;default:b=!1}b\u0026\u0026(a.preventDefault(),(d=this.getTree())\u0026\u0026d.clearTypeAhead());return b};goog.ui.tree.BaseNode.prototype.getLastShownDescendant=function(){return this.getExpanded()\u0026\u0026this.hasChildren()?this.getLastChild().getLastShownDescendant():this};\ngoog.ui.tree.BaseNode.prototype.getNextShownNode=function(){if(this.hasChildren()\u0026\u0026this.getExpanded())return this.getFirstChild();for(var a=this,b;a!=this.getTree();){b=a.getNextSibling();if(null!=b)return b;a=a.getParent()}return null};goog.ui.tree.BaseNode.prototype.getPreviousShownNode=function(){var a=this.getPreviousSibling();if(null!=a)return a.getLastShownDescendant();a=this.getParent();var b=this.getTree();return!b.getShowRootNode()\u0026\u0026a==b||this==b?null:a};\ngoog.ui.tree.BaseNode.prototype.getClientData=goog.ui.tree.BaseNode.prototype.getModel;goog.ui.tree.BaseNode.prototype.setClientData=goog.ui.tree.BaseNode.prototype.setModel;goog.ui.tree.BaseNode.prototype.getConfig=function(){return this.config_};goog.ui.tree.BaseNode.prototype.setTreeInternal=function(a){this.tree!=a\u0026\u0026(this.tree=a,a.setNode(this),this.forEachChild(function(b){b.setTreeInternal(a)}))};\ngoog.ui.tree.BaseNode.defaultConfig={indentWidth:19,cssRoot:\"goog-tree-root goog-tree-item\",cssHideRoot:\"goog-tree-hide-root\",cssItem:\"goog-tree-item\",cssChildren:\"goog-tree-children\",cssChildrenNoLines:\"goog-tree-children-nolines\",cssTreeRow:\"goog-tree-row\",cssItemLabel:\"goog-tree-item-label\",cssTreeIcon:\"goog-tree-icon\",cssExpandTreeIcon:\"goog-tree-expand-icon\",cssExpandTreeIconPlus:\"goog-tree-expand-icon-plus\",cssExpandTreeIconMinus:\"goog-tree-expand-icon-minus\",cssExpandTreeIconTPlus:\"goog-tree-expand-icon-tplus\",\ncssExpandTreeIconTMinus:\"goog-tree-expand-icon-tminus\",cssExpandTreeIconLPlus:\"goog-tree-expand-icon-lplus\",cssExpandTreeIconLMinus:\"goog-tree-expand-icon-lminus\",cssExpandTreeIconT:\"goog-tree-expand-icon-t\",cssExpandTreeIconL:\"goog-tree-expand-icon-l\",cssExpandTreeIconBlank:\"goog-tree-expand-icon-blank\",cssExpandedFolderIcon:\"goog-tree-expanded-folder-icon\",cssCollapsedFolderIcon:\"goog-tree-collapsed-folder-icon\",cssFileIcon:\"goog-tree-file-icon\",cssExpandedRootIcon:\"goog-tree-expanded-folder-icon\",\ncssCollapsedRootIcon:\"goog-tree-collapsed-folder-icon\",cssSelectedRow:\"selected\"};goog.ui.tree.TreeNode=function(a,b,c){goog.ui.tree.BaseNode.call(this,a,b,c)};goog.inherits(goog.ui.tree.TreeNode,goog.ui.tree.BaseNode);goog.ui.tree.TreeNode.prototype.getTree=function(){if(this.tree)return this.tree;var a=this.getParent();return a\u0026\u0026(a=a.getTree())?(this.setTreeInternal(a),a):null};\ngoog.ui.tree.TreeNode.prototype.getCalculatedIconClass=function(){var a=this.getExpanded(),b=this.getExpandedIconClass();if(a\u0026\u0026b)return b;b=this.getIconClass();if(!a\u0026\u0026b)return b;b=this.getConfig();if(this.hasChildren()){if(a\u0026\u0026b.cssExpandedFolderIcon)return b.cssTreeIcon+\" \"+b.cssExpandedFolderIcon;if(!a\u0026\u0026b.cssCollapsedFolderIcon)return b.cssTreeIcon+\" \"+b.cssCollapsedFolderIcon}else if(b.cssFileIcon)return b.cssTreeIcon+\" \"+b.cssFileIcon;return\"\"};goog.structs={};goog.structs.getCount=function(a){return a.getCount\u0026\u0026\"function\"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues\u0026\u0026\"function\"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split(\"\");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d\u003cc;d++)b.push(a[d]);return b}return goog.object.getValues(a)};\ngoog.structs.getKeys=function(a){if(a.getKeys\u0026\u0026\"function\"==typeof a.getKeys)return a.getKeys();if(!a.getValues||\"function\"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c\u003ca;c++)b.push(c);return b}return goog.object.getKeys(a)}};\ngoog.structs.contains=function(a,b){return a.contains\u0026\u0026\"function\"==typeof a.contains?a.contains(b):a.containsValue\u0026\u0026\"function\"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty\u0026\u0026\"function\"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};\ngoog.structs.clear=function(a){a.clear\u0026\u0026\"function\"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach\u0026\u0026\"function\"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g\u003cf;g++)b.call(c,e[g],d\u0026\u0026d[g],a)};\ngoog.structs.filter=function(a,b,c){if(\"function\"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h\u003cf;h++)b.call(c,e[h],d[h],a)\u0026\u0026(g[d[h]]=e[h])}else for(g=[],h=0;h\u003cf;h++)b.call(c,e[h],void 0,a)\u0026\u0026g.push(e[h]);return g};\ngoog.structs.map=function(a,b,c){if(\"function\"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h\u003cf;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h\u003cf;h++)g[h]=b.call(c,e[h],void 0,a);return g};\ngoog.structs.some=function(a,b,c){if(\"function\"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g\u003cf;g++)if(b.call(c,e[g],d\u0026\u0026d[g],a))return!0;return!1};\ngoog.structs.every=function(a,b,c){if(\"function\"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g\u003cf;g++)if(!b.call(c,e[g],d\u0026\u0026d[g],a))return!1;return!0};goog.structs.Trie=function(a){this.value_=void 0;this.childNodes_={};a\u0026\u0026this.setAll(a)};goog.structs.Trie.prototype.set=function(a,b){this.setOrAdd_(a,b,!1)};goog.structs.Trie.prototype.add=function(a,b){this.setOrAdd_(a,b,!0)};\ngoog.structs.Trie.prototype.setOrAdd_=function(a,b,c){for(var d=this,e=0;e\u003ca.length;e++){var f=a.charAt(e);d.childNodes_[f]||(d.childNodes_[f]=new goog.structs.Trie);d=d.childNodes_[f]}if(c\u0026\u0026void 0!==d.value_)throw Error('The collection already contains the key \"'+a+'\"');d.value_=b};goog.structs.Trie.prototype.setAll=function(a){var b=goog.structs.getKeys(a);a=goog.structs.getValues(a);for(var c=0;c\u003cb.length;c++)this.set(b[c],a[c])};\ngoog.structs.Trie.prototype.getChildNode_=function(a){for(var b=this,c=0;c\u003ca.length;c++){var d=a.charAt(c);b=b.childNodes_[d];if(!b)return}return b};goog.structs.Trie.prototype.get=function(a){return(a=this.getChildNode_(a))?a.value_:void 0};goog.structs.Trie.prototype.getKeyAndPrefixes=function(a,b){var c=this,d={},e=b||0;void 0!==c.value_\u0026\u0026(d[e]=c.value_);for(;e\u003ca.length;e++){var f=a.charAt(e);if(!(f in c.childNodes_))break;c=c.childNodes_[f];void 0!==c.value_\u0026\u0026(d[e]=c.value_)}return d};\ngoog.structs.Trie.prototype.getValues=function(){var a=[];this.getValuesInternal_(a);return a};goog.structs.Trie.prototype.getValuesInternal_=function(a){void 0!==this.value_\u0026\u0026a.push(this.value_);for(var b in this.childNodes_)this.childNodes_[b].getValuesInternal_(a)};goog.structs.Trie.prototype.getKeys=function(a){var b=[];if(a){for(var c=this,d=0;d\u003ca.length;d++){var e=a.charAt(d);if(!c.childNodes_[e])return[];c=c.childNodes_[e]}c.getKeysInternal_(a,b)}else this.getKeysInternal_(\"\",b);return b};\ngoog.structs.Trie.prototype.getKeysInternal_=function(a,b){void 0!==this.value_\u0026\u0026b.push(a);for(var c in this.childNodes_)this.childNodes_[c].getKeysInternal_(a+c,b)};goog.structs.Trie.prototype.containsKey=function(a){return void 0!==this.get(a)};goog.structs.Trie.prototype.containsPrefix=function(a){return 0==a.length?!this.isEmpty():!!this.getChildNode_(a)};\ngoog.structs.Trie.prototype.containsValue=function(a){if(this.value_===a)return!0;for(var b in this.childNodes_)if(this.childNodes_[b].containsValue(a))return!0;return!1};goog.structs.Trie.prototype.clear=function(){this.childNodes_={};this.value_=void 0};\ngoog.structs.Trie.prototype.remove=function(a){for(var b=this,c=[],d=0;d\u003ca.length;d++){var e=a.charAt(d);if(!b.childNodes_[e])throw Error('The collection does not have the key \"'+a+'\"');c.push([b,e]);b=b.childNodes_[e]}a=b.value_;for(delete b.value_;0\u003cc.length;)if(e=c.pop(),b=e[0],e=e[1],b.childNodes_[e].isEmpty())delete b.childNodes_[e];else break;return a};goog.structs.Trie.prototype.clone=function(){return new goog.structs.Trie(this)};goog.structs.Trie.prototype.getCount=function(){return goog.structs.getCount(this.getValues())};\ngoog.structs.Trie.prototype.isEmpty=function(){return void 0===this.value_\u0026\u0026goog.object.isEmpty(this.childNodes_)};goog.ui.tree.TypeAhead=function(){this.nodeMap_=new goog.structs.Trie;this.buffer_=\"\";this.matchingNodes_=this.matchingLabels_=null;this.matchingNodeIndex_=this.matchingLabelIndex_=0};goog.ui.tree.TypeAhead.Offset={DOWN:1,UP:-1};\ngoog.ui.tree.TypeAhead.prototype.handleNavigation=function(a){var b=!1;switch(a.keyCode){case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.UP:a.ctrlKey\u0026\u0026(this.jumpTo_(a.keyCode==goog.events.KeyCodes.DOWN?goog.ui.tree.TypeAhead.Offset.DOWN:goog.ui.tree.TypeAhead.Offset.UP),b=!0);break;case goog.events.KeyCodes.BACKSPACE:a=this.buffer_.length-1;b=!0;0\u003ca?(this.buffer_=this.buffer_.substring(0,a),this.jumpToLabel_(this.buffer_)):0==a?this.buffer_=\"\":b=!1;break;case goog.events.KeyCodes.ESC:this.buffer_=\n\"\",b=!0}return b};goog.ui.tree.TypeAhead.prototype.handleTypeAheadChar=function(a){var b=!1;a.ctrlKey||a.altKey||(a=String.fromCharCode(a.charCode||a.keyCode).toLowerCase(),goog.string.isUnicodeChar(a)\u0026\u0026(\" \"!=a||this.buffer_)\u0026\u0026(this.buffer_+=a,b=this.jumpToLabel_(this.buffer_)));return b};\ngoog.ui.tree.TypeAhead.prototype.setNodeInMap=function(a){var b=a.getText();if(b\u0026\u0026!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(b))){b=b.toLowerCase();var c=this.nodeMap_.get(b);c?c.push(a):this.nodeMap_.set(b,[a])}};\ngoog.ui.tree.TypeAhead.prototype.removeNodeFromMap=function(a){var b=a.getText();if(b\u0026\u0026!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(b))){b=b.toLowerCase();var c=this.nodeMap_.get(b);if(c){for(var d=a.getChildCount(),e=0;e\u003cd;e++)this.removeNodeFromMap(a.getChildAt(e));goog.array.remove(c,a);c.length||this.nodeMap_.remove(b)}}};\ngoog.ui.tree.TypeAhead.prototype.jumpToLabel_=function(a){var b=!1;(a=this.nodeMap_.getKeys(a))\u0026\u0026a.length\u0026\u0026(this.matchingLabelIndex_=this.matchingNodeIndex_=0,b=this.nodeMap_.get(a[0]),b=this.selectMatchingNode_(b))\u0026\u0026(this.matchingLabels_=a);return b};\ngoog.ui.tree.TypeAhead.prototype.jumpTo_=function(a){var b=!1,c=this.matchingLabels_;if(c){b=null;var d=!1;if(this.matchingNodes_){var e=this.matchingNodeIndex_+a;0\u003c=e\u0026\u0026e\u003cthis.matchingNodes_.length?(this.matchingNodeIndex_=e,b=this.matchingNodes_):d=!0}b||(e=this.matchingLabelIndex_+a,0\u003c=e\u0026\u0026e\u003cc.length\u0026\u0026(this.matchingLabelIndex_=e),c.length\u003ethis.matchingLabelIndex_\u0026\u0026(b=this.nodeMap_.get(c[this.matchingLabelIndex_])),b\u0026\u0026b.length\u0026\u0026d\u0026\u0026(this.matchingNodeIndex_=a==goog.ui.tree.TypeAhead.Offset.UP?b.length-\n1:0));if(b=this.selectMatchingNode_(b))this.matchingLabels_=c}return b};goog.ui.tree.TypeAhead.prototype.selectMatchingNode_=function(a){if(a){if(this.matchingNodeIndex_\u003ca.length){var b=a[this.matchingNodeIndex_];this.matchingNodes_=a}b\u0026\u0026(b.reveal(),b.select())}return!!b};goog.ui.tree.TypeAhead.prototype.clear=function(){this.buffer_=\"\"};goog.ui.tree.TreeControl=function(a,b,c){goog.ui.tree.BaseNode.call(this,a,b,c);this.setExpandedInternal(!0);this.setSelectedInternal(!0);this.selectedItem_=this;this.typeAhead_=new goog.ui.tree.TypeAhead;this.focusHandler_=this.keyHandler_=null;this.logger_=goog.log.getLogger(\"this\");this.focused_=!1;this.focusedNode_=null;this.showRootLines_=this.showRootNode_=this.showExpandIcons_=this.showLines_=!0;if(goog.userAgent.IE)try{document.execCommand(\"BackgroundImageCache\",!1,!0)}catch(d){goog.log.warning(this.logger_,\n\"Failed to enable background image cache\")}};goog.inherits(goog.ui.tree.TreeControl,goog.ui.tree.BaseNode);goog.ui.tree.TreeControl.prototype.getTree=function(){return this};goog.ui.tree.TreeControl.prototype.getDepth=function(){return 0};goog.ui.tree.TreeControl.prototype.reveal=function(){};goog.ui.tree.TreeControl.prototype.handleFocus_=function(a){this.focused_=!0;goog.dom.classlist.add(goog.asserts.assert(this.getElement()),\"focused\");this.selectedItem_\u0026\u0026this.selectedItem_.select()};\ngoog.ui.tree.TreeControl.prototype.handleBlur_=function(a){this.focused_=!1;goog.dom.classlist.remove(goog.asserts.assert(this.getElement()),\"focused\")};goog.ui.tree.TreeControl.prototype.hasFocus=function(){return this.focused_};goog.ui.tree.TreeControl.prototype.getExpanded=function(){return!this.showRootNode_||goog.ui.tree.TreeControl.superClass_.getExpanded.call(this)};\ngoog.ui.tree.TreeControl.prototype.setExpanded=function(a){this.showRootNode_?goog.ui.tree.TreeControl.superClass_.setExpanded.call(this,a):this.setExpandedInternal(a)};goog.ui.tree.TreeControl.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.EMPTY};goog.ui.tree.TreeControl.prototype.getIconElement=function(){var a=this.getRowElement();return a?a.firstChild:null};goog.ui.tree.TreeControl.prototype.getExpandIconElement=function(){return null};\ngoog.ui.tree.TreeControl.prototype.updateExpandIcon=function(){};goog.ui.tree.TreeControl.prototype.getRowClassName=function(){return goog.ui.tree.TreeControl.superClass_.getRowClassName.call(this)+(this.showRootNode_?\"\":\" \"+this.getConfig().cssHideRoot)};\ngoog.ui.tree.TreeControl.prototype.getCalculatedIconClass=function(){var a=this.getExpanded(),b=this.getExpandedIconClass();if(a\u0026\u0026b)return b;b=this.getIconClass();if(!a\u0026\u0026b)return b;b=this.getConfig();return a\u0026\u0026b.cssExpandedRootIcon?b.cssTreeIcon+\" \"+b.cssExpandedRootIcon:!a\u0026\u0026b.cssCollapsedRootIcon?b.cssTreeIcon+\" \"+b.cssCollapsedRootIcon:\"\"};\ngoog.ui.tree.TreeControl.prototype.setSelectedItem=function(a){if(this.selectedItem_!=a){var b=!1;this.selectedItem_\u0026\u0026(b=this.selectedItem_==this.focusedNode_,this.selectedItem_.setSelectedInternal(!1));if(this.selectedItem_=a)a.setSelectedInternal(!0),b\u0026\u0026a.select();this.dispatchEvent(goog.events.EventType.CHANGE)}};goog.ui.tree.TreeControl.prototype.getSelectedItem=function(){return this.selectedItem_};\ngoog.ui.tree.TreeControl.prototype.setShowLines=function(a){this.showLines_!=a\u0026\u0026(this.showLines_=a,this.isInDocument()\u0026\u0026this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowLines=function(){return this.showLines_};\ngoog.ui.tree.TreeControl.prototype.updateLinesAndExpandIcons_=function(){function a(e){var f=e.getChildrenElement();if(f){var g=!c||b==e.getParent()\u0026\u0026!d?e.getConfig().cssChildrenNoLines:e.getConfig().cssChildren;f.className=g;if(f=e.getExpandIconElement())f.className=e.getExpandIconClass()}e.forEachChild(a)}var b=this,c=b.getShowLines(),d=b.getShowRootLines();a(this)};\ngoog.ui.tree.TreeControl.prototype.setShowRootLines=function(a){this.showRootLines_!=a\u0026\u0026(this.showRootLines_=a,this.isInDocument()\u0026\u0026this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowRootLines=function(){return this.showRootLines_};goog.ui.tree.TreeControl.prototype.setShowExpandIcons=function(a){this.showExpandIcons_!=a\u0026\u0026(this.showExpandIcons_=a,this.isInDocument()\u0026\u0026this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowExpandIcons=function(){return this.showExpandIcons_};\ngoog.ui.tree.TreeControl.prototype.setShowRootNode=function(a){if(this.showRootNode_!=a){this.showRootNode_=a;if(this.isInDocument()){var b=this.getRowElement();b\u0026\u0026(b.className=this.getRowClassName())}!a\u0026\u0026this.getSelectedItem()==this\u0026\u0026this.getFirstChild()\u0026\u0026this.setSelectedItem(this.getFirstChild())}};goog.ui.tree.TreeControl.prototype.getShowRootNode=function(){return this.showRootNode_};\ngoog.ui.tree.TreeControl.prototype.initAccessibility=function(){goog.ui.tree.TreeControl.superClass_.initAccessibility.call(this);var a=this.getElement();goog.asserts.assert(a,\"The DOM element for the tree cannot be null.\");goog.a11y.aria.setRole(a,\"tree\");goog.a11y.aria.setState(a,\"labelledby\",this.getLabelElement().id)};\ngoog.ui.tree.TreeControl.prototype.enterDocument=function(){goog.ui.tree.TreeControl.superClass_.enterDocument.call(this);var a=this.getElement();a.className=this.getConfig().cssRoot;a.setAttribute(\"hideFocus\",\"true\");this.attachEvents_();this.initAccessibility()};goog.ui.tree.TreeControl.prototype.exitDocument=function(){goog.ui.tree.TreeControl.superClass_.exitDocument.call(this);this.detachEvents_()};\ngoog.ui.tree.TreeControl.prototype.attachEvents_=function(){var a=this.getElement();a.tabIndex=0;var b=this.keyHandler_=new goog.events.KeyHandler(a),c=this.focusHandler_=new goog.events.FocusHandler(a);this.getHandler().listen(c,goog.events.FocusHandler.EventType.FOCUSOUT,this.handleBlur_).listen(c,goog.events.FocusHandler.EventType.FOCUSIN,this.handleFocus_).listen(b,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseEvent_).listen(a,\ngoog.events.EventType.CLICK,this.handleMouseEvent_).listen(a,goog.events.EventType.DBLCLICK,this.handleMouseEvent_)};goog.ui.tree.TreeControl.prototype.detachEvents_=function(){this.keyHandler_.dispose();this.keyHandler_=null;this.focusHandler_.dispose();this.focusHandler_=null};\ngoog.ui.tree.TreeControl.prototype.handleMouseEvent_=function(a){goog.log.fine(this.logger_,\"Received event \"+a.type);var b=this.getNodeFromEvent_(a);if(b)switch(a.type){case goog.events.EventType.MOUSEDOWN:b.onMouseDown(a);break;case goog.events.EventType.CLICK:b.onClick_(a);break;case goog.events.EventType.DBLCLICK:b.onDoubleClick_(a)}};\ngoog.ui.tree.TreeControl.prototype.handleKeyEvent=function(a){var b;(b=this.typeAhead_.handleNavigation(a)||this.selectedItem_\u0026\u0026this.selectedItem_.onKeyDown(a)||this.typeAhead_.handleTypeAheadChar(a))\u0026\u0026a.preventDefault();return b};goog.ui.tree.TreeControl.prototype.getNodeFromEvent_=function(a){for(var b=a.target;null!=b;){if(a=goog.ui.tree.BaseNode.allNodes[b.id])return a;if(b==this.getElement())break;b=b.parentNode}return null};\ngoog.ui.tree.TreeControl.prototype.createNode=function(a){return new goog.ui.tree.TreeNode(a||goog.html.SafeHtml.EMPTY,this.getConfig(),this.getDomHelper())};goog.ui.tree.TreeControl.prototype.setNode=function(a){this.typeAhead_.setNodeInMap(a)};goog.ui.tree.TreeControl.prototype.removeNode=function(a){this.typeAhead_.removeNodeFromMap(a)};goog.ui.tree.TreeControl.prototype.clearTypeAhead=function(){this.typeAhead_.clear()};goog.ui.tree.TreeControl.defaultConfig=goog.ui.tree.BaseNode.defaultConfig;\n// Copyright 2013 Google Inc. Apache License 2.0\nvar Blockly={};Blockly.Blocks=Object(null);/*\n\n Visual Blocks Editor\n\n Copyright 2016 Massachusetts Institute of Technology\n All rights reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nBlockly.Colours={motion:{primary:\"#4C97FF\",secondary:\"#4280D7\",tertiary:\"#3373CC\"},looks:{primary:\"#9966FF\",secondary:\"#855CD6\",tertiary:\"#774DCB\"},sounds:{primary:\"#CF63CF\",secondary:\"#C94FC9\",tertiary:\"#BD42BD\"},control:{primary:\"#FFAB19\",secondary:\"#EC9C13\",tertiary:\"#CF8B17\"},event:{primary:\"#FFBF00\",secondary:\"#E6AC00\",tertiary:\"#CC9900\"},sensing:{primary:\"#5CB1D6\",secondary:\"#47A8D1\",tertiary:\"#2E8EB8\"},pen:{primary:\"#0fBD8C\",secondary:\"#0DA57A\",tertiary:\"#0B8E69\"},operators:{primary:\"#59C059\",\nsecondary:\"#46B946\",tertiary:\"#389438\"},data:{primary:\"#FF8C1A\",secondary:\"#FF8000\",tertiary:\"#DB6E00\"},more:{primary:\"#FF6680\",secondary:\"#FF4D6A\",tertiary:\"#FF3355\"},text:\"#575E75\",workspace:\"#F9F9F9\",toolboxHover:\"#4C97FF\",toolboxSelected:\"#e9eef2\",toolboxText:\"#575E75\",toolbox:\"#FFFFFF\",flyout:\"#F9F9F9\",scrollbar:\"#CECDCE\",scrollbarHover:\"#CECDCE\",textField:\"#FFFFFF\",insertionMarker:\"#000000\",insertionMarkerOpacity:.2,dragShadowOpacity:.3,stackGlow:\"#FFF200\",stackGlowOpacity:1,replacementGlow:\"#FFFFFF\",\nreplacementGlowOpacity:1,colourPickerStroke:\"#FFFFFF\",fieldShadow:\"rgba(0,0,0,0.1)\",dropDownShadow:\"rgba(0, 0, 0, .3)\",numPadBackground:\"#547AB2\",numPadBorder:\"#435F91\",numPadActiveBackground:\"#435F91\",numPadText:\"#FFFFFF\",valueReportBackground:\"#FFFFFF\",valueReportBorder:\"#AAAAAA\"};\n// Copyright 2016 Google Inc. Apache License 2.0\nBlockly.Touch={};Blockly.Touch.touchIdentifier_=null;Blockly.Touch.TOUCH_MAP={};goog.events.BrowserFeature.TOUCH_ENABLED\u0026\u0026(Blockly.Touch.TOUCH_MAP={mousedown:[\"touchstart\"],mousemove:[\"touchmove\"],mouseup:[\"touchend\",\"touchcancel\"]});Blockly.longPid_=0;Blockly.longStart_=function(a,b){Blockly.longStop_();1==a.changedTouches.length\u0026\u0026(Blockly.longPid_=setTimeout(function(){a.button=2;a.clientX=a.changedTouches[0].clientX;a.clientY=a.changedTouches[0].clientY;b\u0026\u0026b.handleRightClick(a)},Blockly.LONGPRESS))};\nBlockly.longStop_=function(){Blockly.longPid_\u0026\u0026(clearTimeout(Blockly.longPid_),Blockly.longPid_=0)};Blockly.Touch.clearTouchIdentifier=function(){Blockly.Touch.touchIdentifier_=null};Blockly.Touch.shouldHandleEvent=function(a){return!Blockly.Touch.isMouseOrTouchEvent(a)||Blockly.Touch.checkTouchIdentifier(a)};\nBlockly.Touch.getTouchIdentifierFromEvent=function(a){return a.changedTouches\u0026\u0026a.changedTouches[0]\u0026\u0026void 0!=a.changedTouches[0].identifier\u0026\u0026null!=a.changedTouches[0].identifier?a.changedTouches[0].identifier:\"mouse\"};\nBlockly.Touch.checkTouchIdentifier=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);return void 0!=Blockly.Touch.touchIdentifier_\u0026\u0026null!=Blockly.Touch.touchIdentifier_?Blockly.Touch.touchIdentifier_==b:\"mousedown\"==a.type||\"touchstart\"==a.type?(Blockly.Touch.touchIdentifier_=b,!0):!1};Blockly.Touch.setClientFromTouch=function(a){if(goog.string.startsWith(a.type,\"touch\")){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}};\nBlockly.Touch.isMouseOrTouchEvent=function(a){return goog.string.startsWith(a.type,\"touch\")||goog.string.startsWith(a.type,\"mouse\")};Blockly.Touch.splitEventByTouches=function(a){var b=[];if(a.changedTouches)for(var c=0;c\u003ca.changedTouches.length;c++)b[c]={type:a.type,changedTouches:[a.changedTouches[c]],target:a.target,stopPropagation:function(){a.stopPropagation()},preventDefault:function(){a.preventDefault()}};else b.push(a);return b};\n// Copyright 2017 Google Inc. Apache License 2.0\nBlockly.VariableModel=function(a,b,c,d){this.workspace=a;this.name=b;this.type=c||\"\";this.id_=d||Blockly.utils.genUid();Blockly.Events.fire(new Blockly.Events.VarCreate(this))};Blockly.VariableModel.prototype.getId=function(){return this.id_};Blockly.VariableModel.compareByName=function(a,b){return goog.string.caseInsensitiveCompare(a.name,b.name)};Blockly.VariableMap=function(a){this.variableMap_={};this.workspace=a};Blockly.VariableMap.prototype.clear=function(){this.variableMap_=Object(null)};\nBlockly.VariableMap.prototype.renameVariable=function(a,b){var c=this.getVariable(b),d=-1,e=-1,f=\"\";if(a||c)f=(a||c).type;var g=this.getVariablesOfType(f);a\u0026\u0026(d=g.indexOf(a));c\u0026\u0026(e=g.indexOf(c));-1==d\u0026\u0026-1==e?(this.createVariable(b,\"\"),console.log(\"Tried to rename an non-existent variable.\")):d==e||-1!=d\u0026\u0026-1==e?(c=this.variableMap_[f][d],Blockly.Events.fire(new Blockly.Events.VarRename(c,b)),c.name=b):-1!=d\u0026\u0026-1!=e\u0026\u0026(c=this.variableMap_[f][e],Blockly.Events.fire(new Blockly.Events.VarRename(c,b)),Blockly.Events.fire(new Blockly.Events.VarDelete(this.variableMap_[f][d])),\nc.name=b,this.variableMap_[f].splice(d,1))};\nBlockly.VariableMap.prototype.createVariable=function(a,b,c){var d=this.getVariable(a);if(d){if(b\u0026\u0026d.type!=b)throw Error('Variable \"'+a+'\" is already in use and its type is \"'+d.type+'\" which conflicts with the passed in type, \"'+b+'\".');if(c\u0026\u0026d.getId()!=c)throw Error('Variable \"'+a+'\" is already in use and its id is \"'+d.getId()+'\" which conflicts with the passed in id, \"'+c+'\".');return d}if(c\u0026\u0026this.getVariableById(c))throw Error('Variable id, \"'+c+'\", is already in use.');c=c||Blockly.utils.genUid();\nb=b||\"\";d=new Blockly.VariableModel(this.workspace,a,b,c);this.variableMap_[b]?this.variableMap_[b].push(d):this.variableMap_[b]=[d];return d};Blockly.VariableMap.prototype.deleteVariable=function(a){for(var b=this.variableMap_[a.type],c=0,d;d=b[c];c++)if(d.getId()==a.getId()){b.splice(c,1);Blockly.Events.fire(new Blockly.Events.VarDelete(a));break}};\nBlockly.VariableMap.prototype.getVariable=function(a){for(var b=Object.keys(this.variableMap_),c=0;c\u003cb.length;c++)for(var d=b[c],e=0,f;f=this.variableMap_[d][e];e++)if(Blockly.Names.equals(f.name,a))return f;return null};Blockly.VariableMap.prototype.getVariableById=function(a){for(var b=Object.keys(this.variableMap_),c=0;c\u003cb.length;c++)for(var d=b[c],e=0,f;f=this.variableMap_[d][e];e++)if(f.getId()==a)return f;return null};\nBlockly.VariableMap.prototype.getVariablesOfType=function(a){return(a=this.variableMap_[a||\"\"])?a.slice():[]};Blockly.VariableMap.prototype.getVariableTypes=function(){return Object.keys(this.variableMap_)};Blockly.VariableMap.prototype.getAllVariables=function(){for(var a=[],b=Object.keys(this.variableMap_),c=0;c\u003cb.length;c++)a=a.concat(this.variableMap_[b[c]]);return a};\n// Copyright 2012 Google Inc. Apache License 2.0\nBlockly.Workspace=function(a){this.id=Blockly.utils.genUid();Blockly.Workspace.WorkspaceDB_[this.id]=this;this.options=a||{};this.RTL=!!this.options.RTL;this.horizontalLayout=!!this.options.horizontalLayout;this.toolboxPosition=this.options.toolboxPosition;this.topBlocks_=[];this.listeners_=[];this.tapListeners_=[];this.undoStack_=[];this.redoStack_=[];this.blockDB_=Object.create(null);this.variableMap_=new Blockly.VariableMap(this)};Blockly.Workspace.prototype.rendered=!1;\nBlockly.Workspace.prototype.MAX_UNDO=1024;Blockly.Workspace.prototype.dispose=function(){this.listeners_.length=0;this.clear();delete Blockly.Workspace.WorkspaceDB_[this.id]};Blockly.Workspace.SCAN_ANGLE=3;Blockly.Workspace.prototype.addTopBlock=function(a){this.topBlocks_.push(a);if(this.isFlyout){a=Blockly.Variables.allUsedVariables(a);for(var b=0,c;c=a[b];b++)this.getVariable(c)||this.createVariable(c)}};\nBlockly.Workspace.prototype.removeTopBlock=function(a){if(!goog.array.remove(this.topBlocks_,a))throw\"Block not present in workspace's list of top-most blocks.\";};Blockly.Workspace.prototype.getTopBlocks=function(a){var b=[].concat(this.topBlocks_);if(a\u0026\u00261\u003cb.length){var c=Math.sin(goog.math.toRadians(Blockly.Workspace.SCAN_ANGLE));this.RTL\u0026\u0026(c*=-1);b.sort(function(a,b){var d=a.getRelativeToSurfaceXY(),e=b.getRelativeToSurfaceXY();return d.y+c*d.x-(e.y+c*e.x)})}return b};\nBlockly.Workspace.prototype.getAllBlocks=function(){for(var a=this.getTopBlocks(!1),b=0;b\u003ca.length;b++)a.push.apply(a,a[b].getChildren());return a};Blockly.Workspace.prototype.clear=function(){var a=Blockly.Events.getGroup();for(a||Blockly.Events.setGroup(!0);this.topBlocks_.length;)this.topBlocks_[0].dispose();a||Blockly.Events.setGroup(!1);this.variableMap_.clear();Blockly.DropDownDiv\u0026\u0026Blockly.DropDownDiv.hideWithoutAnimation();Blockly.WidgetDiv\u0026\u0026Blockly.WidgetDiv.hide(!0)};\nBlockly.Workspace.prototype.updateVariableStore=function(a){if(!this.isFlyout){for(var b=Blockly.Variables.allUsedVariables(this),c=[],d=0,e;e=b[d];d++){var f=this.getVariable(e);f?c.push({name:f.name,type:f.type,id:f.getId()}):c.push({name:e,type:null,id:null})}a\u0026\u0026this.variableMap_.clear();for(d=0;a=c[d];d++)this.getVariable(a.name)||this.createVariable(a.name,a.type,a.id)}};\nBlockly.Workspace.prototype.renameVariableInternal_=function(a,b){var c=this.getVariable(b);if(a\u0026\u0026c\u0026\u0026a.type!=c.type)throw Error('Variable \"'+a.name+'\" is type \"'+a.type+'\" and variable \"'+b+'\" is type \"'+c.type+'\". Both must be the same type.');if(c\u0026\u0026c.name!=b)var d=c.name;Blockly.Events.setGroup(!0);c=this.getAllBlocks();for(var e=0;e\u003cc.length;e++)c[e].renameVar(a.name,b),d\u0026\u0026c[e].renameVar(d,b);this.variableMap_.renameVariable(a,b);Blockly.Events.setGroup(!1)};\nBlockly.Workspace.prototype.renameVariable=function(a,b){var c=this.getVariable(a);this.renameVariableInternal_(c,b)};Blockly.Workspace.prototype.renameVariableById=function(a,b){var c=this.getVariableById(a);this.renameVariableInternal_(c,b)};Blockly.Workspace.prototype.createVariable=function(a,b,c){if(a.toLowerCase()!=Blockly.Variables.noVariableText())return this.variableMap_.createVariable(a,b,c)};\nBlockly.Workspace.prototype.getVariableUses=function(a){for(var b=[],c=this.getAllBlocks(),d=0;d\u003cc.length;d++){var e=c[d].getVars();if(e)for(var f=0;f\u003ce.length;f++){var g=e[f];g\u0026\u0026a\u0026\u0026Blockly.Names.equals(g,a)\u0026\u0026b.push(c[d])}}return b};\nBlockly.Workspace.prototype.deleteVariable=function(a){for(var b=this.getVariableUses(a),c=0,d;d=b[c];c++)if(\"procedures_defnoreturn\"==d.type||\"procedures_defreturn\"==d.type){b=d.getFieldValue(\"NAME\");Blockly.alert(Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE.replace(\"%1\",a).replace(\"%2\",b));return}var e=this,f=e.getVariable(a);1\u003cb.length?Blockly.confirm(Blockly.Msg.DELETE_VARIABLE_CONFIRMATION.replace(\"%1\",b.length).replace(\"%2\",a),function(a){a\u0026\u0026e.deleteVariableInternal_(f)}):this.deleteVariableInternal_(f)};\nBlockly.Workspace.prototype.deleteVariableById=function(a){var b=this.getVariableById(a);b?this.deleteVariableInternal_(b):console.warn(\"Can't delete non-existant variable: \"+a)};Blockly.Workspace.prototype.deleteVariableInternal_=function(a){var b=this.getVariableUses(a.name);Blockly.Events.setGroup(!0);for(var c=0;c\u003cb.length;c++)b[c].dispose(!0,!1);this.variableMap_.deleteVariable(a);Blockly.Events.setGroup(!1)};\nBlockly.Workspace.prototype.variableIndexOf=function(){console.warn(\"Deprecated call to Blockly.Workspace.prototype.variableIndexOf\");return-1};Blockly.Workspace.prototype.getVariable=function(a){return this.variableMap_.getVariable(a)};Blockly.Workspace.prototype.getVariableById=function(a){return this.variableMap_.getVariableById(a)};Blockly.Workspace.prototype.getWidth=function(){return 0};Blockly.Workspace.prototype.newBlock=function(a,b){return new Blockly.Block(this,a,b)};\nBlockly.Workspace.prototype.undo=function(a){var b=a?this.redoStack_:this.undoStack_,c=a?this.undoStack_:this.redoStack_,d=b.pop();if(d){for(var e=[d];b.length\u0026\u0026d.group\u0026\u0026d.group==b[b.length-1].group;)e.push(b.pop());for(b=0;d=e[b];b++)c.push(d);e=Blockly.Events.filter(e,a);Blockly.Events.recordUndo=!1;try{for(b=0;d=e[b];b++)d.run(a)}finally{Blockly.Events.recordUndo=!0}}};Blockly.Workspace.prototype.clearUndo=function(){this.undoStack_.length=0;this.redoStack_.length=0;Blockly.Events.clearPendingUndo()};\nBlockly.Workspace.prototype.hasRedoStack=function(){return 0!=this.redoStack_.length};Blockly.Workspace.prototype.hasUndoStack=function(){return 0!=this.undoStack_.length};Blockly.Workspace.prototype.addChangeListener=function(a){this.listeners_.push(a);return a};Blockly.Workspace.prototype.removeChangeListener=function(a){goog.array.remove(this.listeners_,a)};\nBlockly.Workspace.prototype.fireChangeListener=function(a){a.recordUndo\u0026\u0026(this.undoStack_.push(a),this.redoStack_.length=0,this.undoStack_.length\u003ethis.MAX_UNDO\u0026\u0026this.undoStack_.unshift());for(var b=this.listeners_.slice(),c=0,d;d=b[c];c++)d(a)};Blockly.Workspace.prototype.getBlockById=function(a){var b=this.blockDB_[a];!b\u0026\u0026this.getFlyout()\u0026\u0026this.getFlyout().getWorkspace()\u0026\u0026(b=this.getFlyout().getWorkspace().blockDB_[a]);return b||null};Blockly.Workspace.prototype.getFlyout=function(){return null};\nBlockly.Workspace.prototype.allInputsFilled=function(a){for(var b=this.getTopBlocks(!1),c=0,d;d=b[c];c++)if(!d.allInputsFilled(a))return!1;return!0};Blockly.Workspace.prototype.getVariablesOfType=function(a){return this.variableMap_.getVariablesOfType(a)};Blockly.Workspace.prototype.getVariableTypes=function(){return this.variableMap_.getVariableTypes()};Blockly.Workspace.prototype.getAllVariables=function(){return this.variableMap_.getAllVariables()};Blockly.Workspace.WorkspaceDB_=Object.create(null);\nBlockly.Workspace.getById=function(a){return Blockly.Workspace.WorkspaceDB_[a]||null};Blockly.Workspace.prototype.clear=Blockly.Workspace.prototype.clear;Blockly.Workspace.prototype.clearUndo=Blockly.Workspace.prototype.clearUndo;Blockly.Workspace.prototype.addChangeListener=Blockly.Workspace.prototype.addChangeListener;Blockly.Workspace.prototype.removeChangeListener=Blockly.Workspace.prototype.removeChangeListener;Blockly.Bubble=function(a,b,c,d,e,f){this.workspace_=a;this.content_=b;this.shape_=c;c=Blockly.Bubble.ARROW_ANGLE;this.workspace_.RTL\u0026\u0026(c=-c);this.arrow_radians_=goog.math.toRadians(c);a.getBubbleCanvas().appendChild(this.createDom_(b,!(!e||!f)));this.setAnchorLocation(d);e\u0026\u0026f||(b=this.content_.getBBox(),e=b.width+2*Blockly.Bubble.BORDER_WIDTH,f=b.height+2*Blockly.Bubble.BORDER_WIDTH);this.setBubbleSize(e,f);this.positionBubble_();this.renderArrow_();this.rendered_=!0;a.options.readOnly||(Blockly.bindEventWithChecks_(this.bubbleBack_,\n\"mousedown\",this,this.bubbleMouseDown_),this.resizeGroup_\u0026\u0026Blockly.bindEventWithChecks_(this.resizeGroup_,\"mousedown\",this,this.resizeMouseDown_))};Blockly.Bubble.BORDER_WIDTH=6;Blockly.Bubble.ARROW_THICKNESS=5;Blockly.Bubble.ARROW_ANGLE=20;Blockly.Bubble.ARROW_BEND=4;Blockly.Bubble.ANCHOR_RADIUS=8;Blockly.Bubble.onMouseUpWrapper_=null;Blockly.Bubble.onMouseMoveWrapper_=null;Blockly.Bubble.prototype.resizeCallback_=null;\nBlockly.Bubble.unbindDragEvents_=function(){Blockly.Bubble.onMouseUpWrapper_\u0026\u0026(Blockly.unbindEvent_(Blockly.Bubble.onMouseUpWrapper_),Blockly.Bubble.onMouseUpWrapper_=null);Blockly.Bubble.onMouseMoveWrapper_\u0026\u0026(Blockly.unbindEvent_(Blockly.Bubble.onMouseMoveWrapper_),Blockly.Bubble.onMouseMoveWrapper_=null)};Blockly.Bubble.bubbleMouseUp_=function(){Blockly.Touch.clearTouchIdentifier();Blockly.Bubble.unbindDragEvents_()};Blockly.Bubble.prototype.rendered_=!1;Blockly.Bubble.prototype.anchorXY_=null;\nBlockly.Bubble.prototype.relativeLeft_=0;Blockly.Bubble.prototype.relativeTop_=0;Blockly.Bubble.prototype.width_=0;Blockly.Bubble.prototype.height_=0;Blockly.Bubble.prototype.autoLayout_=!0;\nBlockly.Bubble.prototype.createDom_=function(a,b){this.bubbleGroup_=Blockly.utils.createSvgElement(\"g\",{},null);var c={filter:\"url(#\"+this.workspace_.options.embossFilterId+\")\"};-1!=goog.userAgent.getUserAgentString().indexOf(\"JavaFX\")\u0026\u0026(c={});c=Blockly.utils.createSvgElement(\"g\",c,this.bubbleGroup_);this.bubbleArrow_=Blockly.utils.createSvgElement(\"path\",{},c);this.bubbleBack_=Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyDraggable\",x:0,y:0,rx:Blockly.Bubble.BORDER_WIDTH,ry:Blockly.Bubble.BORDER_WIDTH},\nc);b?(this.resizeGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":this.workspace_.RTL?\"blocklyResizeSW\":\"blocklyResizeSE\"},this.bubbleGroup_),c=2*Blockly.Bubble.BORDER_WIDTH,Blockly.utils.createSvgElement(\"polygon\",{points:\"0,x x,x x,0\".replace(/x/g,c.toString())},this.resizeGroup_),Blockly.utils.createSvgElement(\"line\",{\"class\":\"blocklyResizeLine\",x1:c/3,y1:c-1,x2:c-1,y2:c/3},this.resizeGroup_),Blockly.utils.createSvgElement(\"line\",{\"class\":\"blocklyResizeLine\",x1:2*c/3,y1:c-1,x2:c-1,y2:2*c/3},\nthis.resizeGroup_)):this.resizeGroup_=null;this.bubbleGroup_.appendChild(a);return this.bubbleGroup_};\nBlockly.Bubble.prototype.bubbleMouseDown_=function(a){this.promote_();Blockly.Bubble.unbindDragEvents_();Blockly.utils.isRightButton(a)?a.stopPropagation():Blockly.utils.isTargetInput(a)||(this.workspace_.startDrag(a,new goog.math.Coordinate(this.workspace_.RTL?-this.relativeLeft_:this.relativeLeft_,this.relativeTop_)),Blockly.Bubble.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,\"mouseup\",this,Blockly.Bubble.bubbleMouseUp_),Blockly.Bubble.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,\n\"mousemove\",this,this.bubbleMouseMove_),Blockly.hideChaff(),a.stopPropagation())};Blockly.Bubble.prototype.bubbleMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace_.moveDrag(a);this.relativeLeft_=this.workspace_.RTL?-a.x:a.x;this.relativeTop_=a.y;this.positionBubble_();this.renderArrow_()};\nBlockly.Bubble.prototype.resizeMouseDown_=function(a){this.promote_();Blockly.Bubble.unbindDragEvents_();Blockly.utils.isRightButton(a)||(this.workspace_.startDrag(a,new goog.math.Coordinate(this.workspace_.RTL?-this.width_:this.width_,this.height_)),Blockly.Bubble.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,\"mouseup\",this,Blockly.Bubble.bubbleMouseUp_),Blockly.Bubble.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,\"mousemove\",this,this.resizeMouseMove_),Blockly.hideChaff());\na.stopPropagation()};Blockly.Bubble.prototype.resizeMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace_.moveDrag(a);this.setBubbleSize(this.workspace_.RTL?-a.x:a.x,a.y);this.workspace_.RTL\u0026\u0026this.positionBubble_()};Blockly.Bubble.prototype.registerResizeEvent=function(a){this.resizeCallback_=a};Blockly.Bubble.prototype.promote_=function(){this.bubbleGroup_.parentNode.appendChild(this.bubbleGroup_)};Blockly.Bubble.prototype.setAnchorLocation=function(a){this.anchorXY_=a;this.rendered_\u0026\u0026this.positionBubble_()};\nBlockly.Bubble.prototype.layoutBubble_=function(){var a=-this.width_/4,b=-this.height_-Blockly.BlockSvg.MIN_BLOCK_Y,c=this.workspace_.getMetrics();c.viewWidth/=this.workspace_.scale;c.viewLeft/=this.workspace_.scale;var d=this.anchorXY_.x;this.workspace_.RTL?d-c.viewLeft-a-this.width_\u003cBlockly.Scrollbar.scrollbarThickness?a=d-c.viewLeft-this.width_-Blockly.Scrollbar.scrollbarThickness:d-c.viewLeft-a\u003ec.viewWidth\u0026\u0026(a=d-c.viewLeft-c.viewWidth):d+a\u003cc.viewLeft?a=c.viewLeft-d:c.viewLeft+c.viewWidth\u003cd+a+\nthis.width_+Blockly.BlockSvg.SEP_SPACE_X+Blockly.Scrollbar.scrollbarThickness\u0026\u0026(a=c.viewLeft+c.viewWidth-d-this.width_-Blockly.Scrollbar.scrollbarThickness);this.anchorXY_.y+b\u003cc.viewTop\u0026\u0026(b=this.shape_.getBBox().height);this.relativeLeft_=a;this.relativeTop_=b};\nBlockly.Bubble.prototype.positionBubble_=function(){var a=this.anchorXY_.x;a=this.workspace_.RTL?a-(this.relativeLeft_+this.width_):a+this.relativeLeft_;this.bubbleGroup_.setAttribute(\"transform\",\"translate(\"+a+\",\"+(this.relativeTop_+this.anchorXY_.y)+\")\")};Blockly.Bubble.prototype.getBubbleSize=function(){return{width:this.width_,height:this.height_}};\nBlockly.Bubble.prototype.setBubbleSize=function(a,b){var c=2*Blockly.Bubble.BORDER_WIDTH;a=Math.max(a,c+45);b=Math.max(b,c+20);this.width_=a;this.height_=b;this.bubbleBack_.setAttribute(\"width\",a);this.bubbleBack_.setAttribute(\"height\",b);this.resizeGroup_\u0026\u0026(this.workspace_.RTL?this.resizeGroup_.setAttribute(\"transform\",\"translate(\"+2*Blockly.Bubble.BORDER_WIDTH+\",\"+(b-c)+\") scale(-1 1)\"):this.resizeGroup_.setAttribute(\"transform\",\"translate(\"+(a-c)+\",\"+(b-c)+\")\"));this.rendered_\u0026\u0026(this.autoLayout_\u0026\u0026\nthis.layoutBubble_(),this.positionBubble_(),this.renderArrow_());this.resizeCallback_\u0026\u0026this.resizeCallback_()};\nBlockly.Bubble.prototype.renderArrow_=function(){var a=[],b=this.width_/2,c=this.height_/2,d=-this.relativeLeft_,e=-this.relativeTop_;if(b==d\u0026\u0026c==e)a.push(\"M \"+b+\",\"+c);else{e-=c;d-=b;this.workspace_.RTL\u0026\u0026(d*=-1);var f=Math.sqrt(e*e+d*d),g=Math.acos(d/f);0\u003ee\u0026\u0026(g=2*Math.PI-g);var h=g+Math.PI/2;h\u003e2*Math.PI\u0026\u0026(h-=2*Math.PI);var k=Math.sin(h),m=Math.cos(h),l=this.getBubbleSize();h=(l.width+l.height)/Blockly.Bubble.ARROW_THICKNESS;h=Math.min(h,l.width,l.height)/4;l=1-Blockly.Bubble.ANCHOR_RADIUS/f;d=b+\nl*d;e=c+l*e;l=b+h*m;var n=c+h*k;b-=h*m;c-=h*k;k=g+this.arrow_radians_;k\u003e2*Math.PI\u0026\u0026(k-=2*Math.PI);g=Math.sin(k)*f/Blockly.Bubble.ARROW_BEND;f=Math.cos(k)*f/Blockly.Bubble.ARROW_BEND;a.push(\"M\"+l+\",\"+n);a.push(\"C\"+(l+f)+\",\"+(n+g)+\" \"+d+\",\"+e+\" \"+d+\",\"+e);a.push(\"C\"+d+\",\"+e+\" \"+(b+f)+\",\"+(c+g)+\" \"+b+\",\"+c)}a.push(\"z\");this.bubbleArrow_.setAttribute(\"d\",a.join(\" \"))};Blockly.Bubble.prototype.setColour=function(a){this.bubbleBack_.setAttribute(\"fill\",a);this.bubbleArrow_.setAttribute(\"fill\",a)};\nBlockly.Bubble.prototype.dispose=function(){Blockly.Bubble.unbindDragEvents_();goog.dom.removeNode(this.bubbleGroup_);this.shape_=this.content_=this.workspace_=this.resizeGroup_=this.bubbleBack_=this.bubbleArrow_=this.bubbleGroup_=null};Blockly.Icon=function(a){this.block_=a};Blockly.Icon.prototype.collapseHidden=!0;Blockly.Icon.prototype.SIZE=17;Blockly.Icon.prototype.bubble_=null;Blockly.Icon.prototype.iconXY_=null;\nBlockly.Icon.prototype.createIcon=function(){this.iconGroup_||(this.iconGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyIconGroup\"},null),this.block_.isInFlyout\u0026\u0026Blockly.utils.addClass(this.iconGroup_,\"blocklyIconGroupReadonly\"),this.drawIcon_(this.iconGroup_),this.block_.getSvgRoot().appendChild(this.iconGroup_),Blockly.bindEventWithChecks_(this.iconGroup_,\"mouseup\",this,this.iconClick_),this.updateEditable())};\nBlockly.Icon.prototype.dispose=function(){goog.dom.removeNode(this.iconGroup_);this.iconGroup_=null;this.setVisible(!1);this.block_=null};Blockly.Icon.prototype.updateEditable=function(){};Blockly.Icon.prototype.isVisible=function(){return!!this.bubble_};Blockly.Icon.prototype.iconClick_=function(a){this.block_.workspace.isDragging()||this.block_.isInFlyout||Blockly.utils.isRightButton(a)||this.setVisible(!this.isVisible())};Blockly.Icon.prototype.updateColour=function(){this.isVisible()\u0026\u0026this.bubble_.setColour(this.block_.getColour())};\nBlockly.Icon.prototype.renderIcon=function(a){if(this.collapseHidden\u0026\u0026this.block_.isCollapsed())return this.iconGroup_.setAttribute(\"display\",\"none\"),a;this.iconGroup_.setAttribute(\"display\",\"block\");var b=this.SIZE;this.block_.RTL\u0026\u0026(a-=b);this.iconGroup_.setAttribute(\"transform\",\"translate(\"+a+\",5)\");this.computeIconLocation();return a=this.block_.RTL?a-Blockly.BlockSvg.SEP_SPACE_X:a+(b+Blockly.BlockSvg.SEP_SPACE_X)};\nBlockly.Icon.prototype.setIconLocation=function(a){this.iconXY_=a;this.isVisible()\u0026\u0026this.bubble_.setAnchorLocation(a)};Blockly.Icon.prototype.computeIconLocation=function(){var a=this.block_.getRelativeToSurfaceXY(),b=Blockly.utils.getRelativeXY(this.iconGroup_);a=new goog.math.Coordinate(a.x+b.x+this.SIZE/2,a.y+b.y+this.SIZE/2);goog.math.Coordinate.equals(this.getIconLocation(),a)||this.setIconLocation(a)};Blockly.Icon.prototype.getIconLocation=function(){return this.iconXY_};\n// Copyright 2011 Google Inc. Apache License 2.0\nBlockly.Comment=function(a){Blockly.Comment.superClass_.constructor.call(this,a);this.createIcon()};goog.inherits(Blockly.Comment,Blockly.Icon);Blockly.Comment.prototype.text_=\"\";Blockly.Comment.prototype.width_=160;Blockly.Comment.prototype.height_=80;\nBlockly.Comment.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement(\"circle\",{\"class\":\"blocklyIconShape\",r:\"8\",cx:\"8\",cy:\"8\"},a);Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyIconSymbol\",d:\"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.405 0.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25 -1.201,0.998 -1.201,1.528 -1.204,2.19z\"},a);Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyIconSymbol\",x:\"6.8\",y:\"10.78\",height:\"2\",width:\"2\"},a)};\nBlockly.Comment.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.createSvgElement(\"foreignObject\",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);var a=document.createElementNS(Blockly.HTML_NS,\"body\");a.setAttribute(\"xmlns\",Blockly.HTML_NS);a.className=\"blocklyMinimalBody\";var b=document.createElementNS(Blockly.HTML_NS,\"textarea\");b.className=\"blocklyCommentTextarea\";b.setAttribute(\"dir\",this.block_.RTL?\"RTL\":\"LTR\");a.appendChild(b);this.textarea_=b;this.foreignObject_.appendChild(a);\nBlockly.bindEventWithChecks_(b,\"mouseup\",this,this.textareaFocus_);Blockly.bindEventWithChecks_(b,\"wheel\",this,function(a){a.stopPropagation()});Blockly.bindEventWithChecks_(b,\"change\",this,function(){this.text_!=b.value\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,\"comment\",null,this.text_,b.value)),this.text_=b.value)});setTimeout(function(){b.focus()},0);return this.foreignObject_};\nBlockly.Comment.prototype.updateEditable=function(){this.isVisible()\u0026\u0026(this.setVisible(!1),this.setVisible(!0));Blockly.Icon.prototype.updateEditable.call(this)};Blockly.Comment.prototype.resizeBubble_=function(){if(this.isVisible()){var a=this.bubble_.getBubbleSize(),b=2*Blockly.Bubble.BORDER_WIDTH;this.foreignObject_.setAttribute(\"width\",a.width-b);this.foreignObject_.setAttribute(\"height\",a.height-b);this.textarea_.style.width=a.width-b-4+\"px\";this.textarea_.style.height=a.height-b-4+\"px\"}};\nBlockly.Comment.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,\"commentOpen\",!a,a)),!this.block_.isEditable()\u0026\u0026!this.textarea_||goog.userAgent.IE)Blockly.Warning.prototype.setVisible.call(this,a);else{var b=this.getText(),c=this.getBubbleSize();a?(this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,this.width_,this.height_),this.bubble_.registerResizeEvent(this.resizeBubble_.bind(this)),\nthis.updateColour()):(this.bubble_.dispose(),this.foreignObject_=this.textarea_=this.bubble_=null);this.setText(b);this.setBubbleSize(c.width,c.height)}};Blockly.Comment.prototype.textareaFocus_=function(){this.bubble_.promote_();this.textarea_.focus()};Blockly.Comment.prototype.getBubbleSize=function(){return this.isVisible()?this.bubble_.getBubbleSize():{width:this.width_,height:this.height_}};\nBlockly.Comment.prototype.setBubbleSize=function(a,b){this.textarea_?this.bubble_.setBubbleSize(a,b):(this.width_=a,this.height_=b)};Blockly.Comment.prototype.getText=function(){return this.textarea_?this.textarea_.value:this.text_};Blockly.Comment.prototype.setText=function(a){this.text_!=a\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,\"comment\",null,this.text_,a)),this.text_=a);this.textarea_\u0026\u0026(this.textarea_.value=a)};\nBlockly.Comment.prototype.dispose=function(){Blockly.Events.isEnabled()\u0026\u0026this.setText(\"\");this.block_.comment=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Connection=function(a,b){this.sourceBlock_=a;this.type=b;a.workspace.connectionDBList\u0026\u0026(this.db_=a.workspace.connectionDBList[b],this.dbOpposite_=a.workspace.connectionDBList[Blockly.OPPOSITE_TYPE[b]],this.hidden_=!this.db_)};Blockly.Connection.CAN_CONNECT=0;Blockly.Connection.REASON_SELF_CONNECTION=1;Blockly.Connection.REASON_WRONG_TYPE=2;Blockly.Connection.REASON_TARGET_NULL=3;Blockly.Connection.REASON_CHECKS_FAILED=4;Blockly.Connection.REASON_DIFFERENT_WORKSPACES=5;\nBlockly.Connection.REASON_SHADOW_PARENT=6;Blockly.Connection.prototype.targetConnection=null;Blockly.Connection.prototype.check_=null;Blockly.Connection.prototype.shadowDom_=null;Blockly.Connection.prototype.x_=0;Blockly.Connection.prototype.y_=0;Blockly.Connection.prototype.inDB_=!1;Blockly.Connection.prototype.db_=null;Blockly.Connection.prototype.dbOpposite_=null;Blockly.Connection.prototype.hidden_=null;\nBlockly.Connection.prototype.connect_=function(a){var b=this,c=b.getSourceBlock(),d=a.getSourceBlock(),e=!1;b==c.getFirstStatementConnection()\u0026\u0026(e=!0);if(a.isConnected()){if(e)var f=a.targetConnection;a.disconnect()}if(b.isConnected()){var g=b.targetBlock(),h=b.getShadowDom();b.setShadowDom(null);if(g.isShadow())h=Blockly.Xml.blockToDom(g),g.dispose(),g=null;else if(b.type==Blockly.NEXT_STATEMENT){if(!g.previousConnection)throw\"Orphan block does not have a previous connection.\";for(var k=d;k.nextConnection;){var m=\nk.getNextBlock();if(m\u0026\u0026!m.isShadow())k=m;else{g.previousConnection.checkType_(k.nextConnection)\u0026\u0026(k.nextConnection.connect(g.previousConnection),g=null);break}}}if(g\u0026\u0026(b.disconnect(),Blockly.Events.recordUndo)){var l=Blockly.Events.getGroup();setTimeout(function(){g.workspace\u0026\u0026!g.getParent()\u0026\u0026(Blockly.Events.setGroup(l),g.outputConnection?g.outputConnection.bumpAwayFrom_(b):g.previousConnection\u0026\u0026g.previousConnection.bumpAwayFrom_(b),Blockly.Events.setGroup(!1))},Blockly.BUMP_DELAY)}b.setShadowDom(h)}e\u0026\u0026\nf\u0026\u0026f.connect(c.previousConnection);var n;Blockly.Events.isEnabled()\u0026\u0026(n=new Blockly.Events.BlockMove(d));Blockly.Connection.connectReciprocally_(b,a);d.setParent(c);n\u0026\u0026(n.recordNew(),Blockly.Events.fire(n))};Blockly.Connection.prototype.dispose=function(){if(this.isConnected())throw\"Disconnect connection before disposing of it.\";this.inDB_\u0026\u0026this.db_.removeConnection_(this);this.dbOpposite_=this.db_=null};\nBlockly.Connection.prototype.isConnectedToNonInsertionMarker=function(){return this.targetConnection\u0026\u0026!this.targetBlock().isInsertionMarker()};Blockly.Connection.prototype.getSourceBlock=function(){return this.sourceBlock_};Blockly.Connection.prototype.isSuperior=function(){return this.type==Blockly.INPUT_VALUE||this.type==Blockly.NEXT_STATEMENT};Blockly.Connection.prototype.isConnected=function(){return!!this.targetConnection};\nBlockly.Connection.prototype.canConnectWithReason_=function(a){if(!a)return Blockly.Connection.REASON_TARGET_NULL;if(this.isSuperior())var b=this.sourceBlock_,c=a.getSourceBlock();else c=this.sourceBlock_,b=a.getSourceBlock();return b\u0026\u0026b==c?Blockly.Connection.REASON_SELF_CONNECTION:a.type!=Blockly.OPPOSITE_TYPE[this.type]?Blockly.Connection.REASON_WRONG_TYPE:b\u0026\u0026c\u0026\u0026b.workspace!==c.workspace?Blockly.Connection.REASON_DIFFERENT_WORKSPACES:this.checkType_(a)?b.isShadow()\u0026\u0026!c.isShadow()?Blockly.Connection.REASON_SHADOW_PARENT:\nBlockly.Connection.CAN_CONNECT:Blockly.Connection.REASON_CHECKS_FAILED};\nBlockly.Connection.prototype.checkConnection_=function(a){switch(this.canConnectWithReason_(a)){case Blockly.Connection.CAN_CONNECT:break;case Blockly.Connection.REASON_SELF_CONNECTION:throw\"Attempted to connect a block to itself.\";case Blockly.Connection.REASON_DIFFERENT_WORKSPACES:throw\"Blocks not on same workspace.\";case Blockly.Connection.REASON_WRONG_TYPE:throw\"Attempt to connect incompatible types.\";case Blockly.Connection.REASON_TARGET_NULL:throw\"Target connection is null.\";case Blockly.Connection.REASON_CHECKS_FAILED:throw\"Connection checks failed. \"+\n(this+\" expected \"+this.check_+\", found \"+a.check_);case Blockly.Connection.REASON_SHADOW_PARENT:throw\"Connecting non-shadow to shadow block.\";default:throw\"Unknown connection failure: this should never happen!\";}};\nBlockly.Connection.prototype.canConnectToPrevious_=function(a){if(this.targetConnection||-1!=Blockly.draggingConnections_.indexOf(a))return!1;var b=this.sourceBlock_.getFirstStatementConnection(),c=this==b,d=this==this.sourceBlock_.nextConnection;if(null!=b\u0026\u0026!c\u0026\u0026!d)return!1;b=null!=this.sourceBlock_.previousConnection;if(c\u0026\u0026b)return!0;if(d||c\u0026\u0026!b){if(!a.targetConnection)return!0;a=a.targetBlock();return a.isInsertionMarker()?!a.getPreviousBlock():!1}};\nBlockly.Connection.prototype.isConnectionAllowed=function(a){if(a.sourceBlock_.isInsertionMarker()||this.canConnectWithReason_(a)!=Blockly.Connection.CAN_CONNECT)return!1;var b=this.sourceBlock_.getFirstStatementConnection();switch(a.type){case Blockly.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(a);case Blockly.OUTPUT_VALUE:return!1;case Blockly.INPUT_VALUE:if(a.targetConnection\u0026\u0026!a.targetBlock().isMovable()\u0026\u0026!a.targetBlock().isShadow())return!1;break;case Blockly.NEXT_STATEMENT:if(b\u0026\u0026this==\nthis.sourceBlock_.previousConnection\u0026\u0026a.isConnectedToNonInsertionMarker()\u0026\u0026!b.targetConnection||a.isConnectedToNonInsertionMarker()\u0026\u0026!this.sourceBlock_.nextConnection\u0026\u0026!a.targetBlock().isShadow()\u0026\u0026a.targetBlock().nextConnection)return!1;break;default:throw\"Unknown connection type in isConnectionAllowed\";}return-1!=Blockly.draggingConnections_.indexOf(a)?!1:!0};Blockly.Connection.prototype.connect=function(a){this.targetConnection!=a\u0026\u0026(this.checkConnection_(a),this.isSuperior()?this.connect_(a):a.connect_(this))};\nBlockly.Connection.connectReciprocally_=function(a,b){goog.asserts.assert(a\u0026\u0026b,\"Cannot connect null connections.\");a.targetConnection=b;b.targetConnection=a};Blockly.Connection.singleConnection_=function(a,b){for(var c=!1,d=0;d\u003ca.inputList.length;d++){var e=a.inputList[d].connection;if(e\u0026\u0026e.type==Blockly.INPUT_VALUE\u0026\u0026b.outputConnection.checkType_(e)){if(c)return null;c=e}}return c};\nBlockly.Connection.prototype.disconnect=function(){var a=this.targetConnection;goog.asserts.assert(a,\"Source connection not connected.\");goog.asserts.assert(a.targetConnection==this,\"Target connection not connected to source connection.\");if(this.isSuperior()){var b=this.sourceBlock_;var c=a.getSourceBlock();a=this}else b=a.getSourceBlock(),c=this.sourceBlock_;this.disconnectInternal_(b,c);a.respawnShadow_()};\nBlockly.Connection.prototype.disconnectInternal_=function(a,b){var c;Blockly.Events.isEnabled()\u0026\u0026(c=new Blockly.Events.BlockMove(b));this.targetConnection=this.targetConnection.targetConnection=null;b.setParent(null);c\u0026\u0026(c.recordNew(),Blockly.Events.fire(c))};\nBlockly.Connection.prototype.respawnShadow_=function(){var a=this.getSourceBlock(),b=this.getShadowDom();if(a.workspace\u0026\u0026b\u0026\u0026Blockly.Events.recordUndo)if(a=Blockly.Xml.domToBlock(b,a.workspace),a.outputConnection)this.connect(a.outputConnection);else if(a.previousConnection)this.connect(a.previousConnection);else throw\"Child block does not have output or previous statement.\";};Blockly.Connection.prototype.targetBlock=function(){return this.isConnected()?this.targetConnection.getSourceBlock():null};\nBlockly.Connection.prototype.checkType_=function(a){if(!this.check_||!a.check_)return!0;for(var b=0;b\u003cthis.check_.length;b++)if(-1!=a.check_.indexOf(this.check_[b]))return!0;return!1};Blockly.Connection.prototype.onCheckChanged_=function(){this.isConnected()\u0026\u0026!this.checkType_(this.targetConnection)\u0026\u0026(this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug()};\nBlockly.Connection.prototype.setCheck=function(a){a?(goog.isArray(a)||(a=[a]),this.check_=a,this.onCheckChanged_()):this.check_=null;return this};Blockly.Connection.prototype.getOutputShape=function(){return this.check_?-1!==this.check_.indexOf(\"Boolean\")?Blockly.OUTPUT_SHAPE_HEXAGONAL:-1!==this.check_.indexOf(\"Number\")?Blockly.OUTPUT_SHAPE_ROUND:-1!==this.check_.indexOf(\"String\")?Blockly.OUTPUT_SHAPE_SQUARE:Blockly.OUTPUT_SHAPE_ROUND:Blockly.OUTPUT_SHAPE_ROUND};\nBlockly.Connection.prototype.setShadowDom=function(a){this.shadowDom_=a};Blockly.Connection.prototype.getShadowDom=function(){return this.shadowDom_};Blockly.Connection.prototype.neighbours_=function(){return[]};\nBlockly.Connection.prototype.toString=function(){var a=this.sourceBlock_;if(a)if(a.outputConnection==this)var b=\"Output Connection of \";else if(a.previousConnection==this)b=\"Previous Connection of \";else if(a.nextConnection==this)b=\"Next Connection of \";else if(b=goog.array.find(a.inputList,function(a){return a.connection==this},this))b='Input \"'+b.name+'\" connection on ';else return console.warn(\"Connection not actually connected to sourceBlock_\"),\"Orphan Connection\";else return\"Orphan Connection\";\nreturn b+a.toDevString()};Blockly.ConnectionDB=function(){};Blockly.ConnectionDB.prototype=[];Blockly.ConnectionDB.constructor=Blockly.ConnectionDB;Blockly.ConnectionDB.prototype.addConnection=function(a){if(a.inDB_)throw\"Connection already in database.\";if(!a.getSourceBlock().isInFlyout){var b=this.findPositionForConnection_(a);this.splice(b,0,a);a.inDB_=!0}};\nBlockly.ConnectionDB.prototype.findConnection=function(a){if(!this.length)return-1;var b=this.findPositionForConnection_(a);if(b\u003e=this.length)return-1;for(var c=a.y_,d=b;0\u003c=d\u0026\u0026this[d].y_==c;){if(this[d]==a)return d;d--}for(;b\u003cthis.length\u0026\u0026this[b].y_==c;){if(this[b]==a)return b;b++}return-1};\nBlockly.ConnectionDB.prototype.findPositionForConnection_=function(a){if(!this.length)return 0;for(var b=0,c=this.length;b\u003cc;){var d=Math.floor((b+c)/2);if(this[d].y_\u003ca.y_)b=d+1;else if(this[d].y_\u003ea.y_)c=d;else{b=d;break}}return b};Blockly.ConnectionDB.prototype.removeConnection_=function(a){if(!a.inDB_)throw\"Connection not in database.\";var b=this.findConnection(a);if(-1==b)throw\"Unable to find connection in connectionDB.\";a.inDB_=!1;this.splice(b,1)};\nBlockly.ConnectionDB.prototype.getNeighbours=function(a,b){function c(a){var c=e-d[a].x_,g=f-d[a].y_;Math.sqrt(c*c+g*g)\u003c=b\u0026\u0026m.push(d[a]);return g\u003cb}for(var d=this,e=a.x_,f=a.y_,g=0,h=d.length-2,k=h;g\u003ck;)d[k].y_\u003cf?g=k:h=k,k=Math.floor((g+h)/2);var m=[];h=g=k;if(d.length){for(;0\u003c=g\u0026\u0026c(g);)g--;do h++;while(h\u003cd.length\u0026\u0026c(h))}return m};Blockly.ConnectionDB.prototype.isInYRange_=function(a,b,c){return Math.abs(this[a].y_-b)\u003c=c};\nBlockly.ConnectionDB.prototype.searchForClosest=function(a,b,c){if(!this.length)return{connection:null,radius:b};var d=a.y_,e=a.x_;a.x_=e+c.x;a.y_=d+c.y;var f=this.findPositionForConnection_(a);c=null;for(var g=b,h,k=f-1;0\u003c=k\u0026\u0026this.isInYRange_(k,a.y_,b);)h=this[k],a.isConnectionAllowed(h,g)\u0026\u0026(c=h,g=h.distanceFrom(a)),k--;for(;f\u003cthis.length\u0026\u0026this.isInYRange_(f,a.y_,b);)h=this[f],a.isConnectionAllowed(h,g)\u0026\u0026(c=h,g=h.distanceFrom(a)),f++;a.x_=e;a.y_=d;return{connection:c,radius:g}};\nBlockly.ConnectionDB.init=function(a){var b=[];b[Blockly.INPUT_VALUE]=new Blockly.ConnectionDB;b[Blockly.OUTPUT_VALUE]=new Blockly.ConnectionDB;b[Blockly.NEXT_STATEMENT]=new Blockly.ConnectionDB;b[Blockly.PREVIOUS_STATEMENT]=new Blockly.ConnectionDB;a.connectionDBList=b};Blockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=96;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:\"sprites.png\"};Blockly.SVG_NS=\"http://www.w3.org/2000/svg\";Blockly.HTML_NS=\"http://www.w3.org/1999/xhtml\";\nBlockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;\nBlockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.STACK_GLOW_RADIUS=1.3;Blockly.REPLACEMENT_GLOW_RADIUS=2;Blockly.Categories={motion:\"motion\",looks:\"looks\",sound:\"sounds\",pen:\"pen\",data:\"data\",event:\"events\",control:\"control\",sensing:\"sensing\",operators:\"operators\",more:\"more\"};\nBlockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME=\"VARIABLE\";Blockly.PROCEDURE_CATEGORY_NAME=\"PROCEDURE\";Blockly.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";Blockly.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";Blockly.Variables={};Blockly.Variables.NAME_TYPE=Blockly.VARIABLE_CATEGORY_NAME;\nBlockly.Variables.allUsedVariables=function(a){if(a instanceof Blockly.Block)var b=a.getDescendants();else if(a instanceof Blockly.Workspace||a instanceof Blockly.WorkspaceSvg)b=a.getAllBlocks();else throw\"Not Block or Workspace: \"+a;var c=Blockly.Variables.noVariableText();a=Object.create(null);for(var d=0;d\u003cb.length;d++){var e=b[d].getVars();if(e)for(var f=0;f\u003ce.length;f++){var g=e[f];g\u0026\u0026g.toLowerCase()!=c\u0026\u0026(a[g.toLowerCase()]=g)}}b=[];for(var h in a)b.push(a[h]);return b};\nBlockly.Variables.allVariables=function(a){return a instanceof Blockly.Block?(console.warn(\"Deprecated call to Blockly.Variables.allVariables with a block instead of a workspace. You may want Blockly.Variables.allUsedVariables\"),{}):a.getAllVariables()};Blockly.Variables.createValueDom_=function(a){var b=goog.dom.createDom(\"value\");b.setAttribute(\"name\",a);return b};Blockly.Variables.createShadowDom_=function(a){var b=goog.dom.createDom(\"shadow\");b.setAttribute(\"type\",a);return b};\nBlockly.Variables.createVariableDom_=function(a){var b=goog.dom.createDom(\"field\",null,a.name);b.setAttribute(\"name\",\"VARIABLE\");b.setAttribute(\"variableType\",a.type);b.setAttribute(\"id\",a.getId());return b};Blockly.Variables.createTextDom_=function(){var a=Blockly.Variables.createValueDom_(\"VALUE\"),b=Blockly.Variables.createShadowDom_(\"text\"),c=goog.dom.createDom(\"field\",null,\"0\");c.setAttribute(\"name\",\"TEXT\");b.appendChild(c);a.appendChild(b);return a};\nBlockly.Variables.createMathNumberDom_=function(){var a=Blockly.Variables.createValueDom_(\"VALUE\"),b=Blockly.Variables.createShadowDom_(\"math_number\"),c=goog.dom.createDom(\"field\",null,\"1\");c.setAttribute(\"name\",\"NUM\");b.appendChild(c);a.appendChild(b);return a};Blockly.Variables.noVariableText=function(){return\"No variable selected\"};\nBlockly.Variables.generateUniqueName=function(a){a=a.getAllVariables();var b=\"\";if(a.length)for(var c=1,d=0,e=\"ijkmnopqrstuvwxyzabcdefgh\".charAt(d);!b;){for(var f=!1,g=0;g\u003ca.length;g++)if(a[g].name.toLowerCase()==e){f=!0;break}f?(d++,25==d\u0026\u0026(d=0,c++),e=\"ijkmnopqrstuvwxyzabcdefgh\".charAt(d),1\u003cc\u0026\u0026(e+=c)):b=e}else b=\"i\";return b};\nBlockly.Variables.createVariable=function(a,b,c){var d=function(e){Blockly.Variables.promptName(Blockly.Msg.NEW_VARIABLE_TITLE,e,function(e){if(e)if(a.getVariable(e))Blockly.alert(Blockly.Msg.VARIABLE_ALREADY_EXISTS.replace(\"%1\",e.toLowerCase()),function(){d(e)});else if(Blockly.Procedures.isNameUsed(e,a)){var f=a.createVariable(e,c),h=a.getFlyout();f=f.getId();h.setCheckboxState\u0026\u0026h.setCheckboxState(f,!0);b\u0026\u0026b(e)}else Blockly.alert(Blockly.Msg.PROCEDURE_ALREADY_EXISTS.replace(\"%1\",e.toLowerCase()),\nfunction(){d(e)});else b\u0026\u0026b(null)})};d(\"\")};\nBlockly.Variables.renameVariable=function(a,b,c){var d=function(e){Blockly.Variables.promptName(Blockly.Msg.RENAME_VARIABLE_TITLE.replace(\"%1\",b.name),e,function(e){if(e){var f=a.getVariable(e);f\u0026\u0026f.type!=b.type?Blockly.alert(Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE.replace(\"%1\",e.toLowerCase()).replace(\"%2\",f.type),function(){d(e)}):Blockly.Procedures.isNameUsed(e,a)?(a.renameVariable(b.name,e),c\u0026\u0026c(e)):Blockly.alert(Blockly.Msg.PROCEDURE_ALREADY_EXISTS.replace(\"%1\",e.toLowerCase()),\nfunction(){d(e)})}else c\u0026\u0026c(null)})};d(\"\")};Blockly.Variables.promptName=function(a,b,c){Blockly.prompt(a,b,function(a){a\u0026\u0026(a=a.replace(/[\\s\\xa0]+/g,\" \").replace(/^ | $/g,\"\"),a==Blockly.Msg.RENAME_VARIABLE||a==Blockly.Msg.NEW_VARIABLE)\u0026\u0026(a=null);c(a)})};Blockly.Variables.generateVariableFieldXml_=function(a,b){return'\u003cfield name=\"'+(b||\"VARIABLE\")+'\" variableType=\"'+a.type+'\" id=\"'+a.getId()+'\"\u003e'+a.name+\"\u003c/field\u003e\"};Blockly.DataCategory=function(a){var b=a.getVariablesOfType(\"\");b.sort(Blockly.VariableModel.compareByName);var c=[];Blockly.DataCategory.addCreateButton(c,a,\"VARIABLE\");for(var d=0;d\u003cb.length;d++)Blockly.DataCategory.addDataVariable(c,b[d]);0\u003cb.length\u0026\u0026(c[c.length-1].setAttribute(\"gap\",24),b=b[0],Blockly.DataCategory.addSetVariableTo(c,b),Blockly.DataCategory.addChangeVariableBy(c,b),Blockly.DataCategory.addShowVariable(c,b),Blockly.DataCategory.addHideVariable(c,b));b=a.getVariablesOfType(\"list\");\nb.sort(Blockly.VariableModel.compareByName);for(d=0;d\u003cb.length;d++)Blockly.DataCategory.addDataVariable(c,b[d]);0\u003cb.length\u0026\u0026(c[c.length-1].setAttribute(\"gap\",24),b=b[0],Blockly.DataCategory.addAddToList(c,b),Blockly.DataCategory.addDeleteOfList(c,b),Blockly.DataCategory.addInsertAtList(c,b),Blockly.DataCategory.addReplaceItemOfList(c,b),Blockly.DataCategory.addItemOfList(c,b),Blockly.DataCategory.addLengthOfList(c,b),Blockly.DataCategory.addListContainsItem(c,b),Blockly.DataCategory.addShowList(c,\nb),Blockly.DataCategory.addHideList(c,b));return c};Blockly.DataCategory.addDataVariable=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_variable\",\"VARIABLE\")};Blockly.DataCategory.addSetVariableTo=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_setvariableto\",\"VARIABLE\",[\"VALUE\",\"text\"])};Blockly.DataCategory.addChangeVariableBy=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_changevariableby\",\"VARIABLE\",[\"VALUE\",\"math_number\"])};\nBlockly.DataCategory.addShowVariable=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_showvariable\",\"VARIABLE\")};Blockly.DataCategory.addHideVariable=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_hidevariable\",\"VARIABLE\")};Blockly.DataCategory.addAddToList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_addtolist\",\"LIST\",[\"ITEM\",\"text\"])};Blockly.DataCategory.addDeleteOfList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_deleteoflist\",\"LIST\",[\"INDEX\",\"math_integer\"])};\nBlockly.DataCategory.addInsertAtList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_insertatlist\",\"LIST\",[\"INDEX\",\"math_integer\"],[\"ITEM\",\"text\"])};Blockly.DataCategory.addReplaceItemOfList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_replaceitemoflist\",\"LIST\",[\"INDEX\",\"math_integer\"],[\"ITEM\",\"text\"])};Blockly.DataCategory.addItemOfList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_itemoflist\",\"LIST\",[\"INDEX\",\"math_integer\"])};\nBlockly.DataCategory.addLengthOfList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_lengthoflist\",\"LIST\")};Blockly.DataCategory.addListContainsItem=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_listcontainsitem\",\"LIST\",[\"ITEM\",\"text\"])};Blockly.DataCategory.addShowList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_showlist\",\"LIST\")};Blockly.DataCategory.addHideList=function(a,b){Blockly.DataCategory.addBlock(a,b,\"data_hidelist\",\"LIST\")};\nBlockly.DataCategory.addCreateButton=function(a,b,c){var d=goog.dom.createDom(\"button\"),e=Blockly.Msg.NEW_VARIABLE,f=\"CREATE_VARIABLE\",g=function(a){Blockly.Variables.createVariable(a.getTargetWorkspace())};\"LIST\"===c\u0026\u0026(e=Blockly.Msg.NEW_LIST,f=\"CREATE_LIST\",g=function(a){Blockly.Variables.createVariable(a.getTargetWorkspace(),null,\"list\")});d.setAttribute(\"text\",e);d.setAttribute(\"callbackKey\",f);b.registerButtonCallback(f,g);a.push(d)};\nBlockly.DataCategory.addBlock=function(a,b,c,d,e,f){if(Blockly.Blocks[c]){var g,h;e\u0026\u0026(g=Blockly.DataCategory.createValue(e[0],e[1]));f\u0026\u0026(h=Blockly.DataCategory.createValue(f[0],f[1]));b='\u003cxml\u003e\u003cblock type=\"'+c+'\" gap=\"8\"\u003e'+Blockly.Variables.generateVariableFieldXml_(b,d)+g+h+\"\u003c/block\u003e\u003c/xml\u003e\";b=Blockly.Xml.textToDom(b).firstChild;a.push(b)}};\nBlockly.DataCategory.createValue=function(a,b){switch(a){case \"ITEM\":var c=\"TEXT\";var d=\"thing\";break;case \"INDEX\":c=\"NUM\";d=1;break;case \"VALUE\":c=\"math_number\"===b?\"NUM\":\"TEXT\",d=0}return'\u003cvalue name=\"'+a+'\"\u003e\u003cshadow type=\"'+b+'\"\u003e\u003cfield name=\"'+c+'\"\u003e'+d+\"\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\"};Blockly.DropDownDiv=function(){};Blockly.DropDownDiv.DIV_=null;Blockly.DropDownDiv.boundsElement_=null;Blockly.DropDownDiv.owner_=null;Blockly.DropDownDiv.ARROW_SIZE=16;Blockly.DropDownDiv.BORDER_SIZE=1;Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING=12;Blockly.DropDownDiv.PADDING_Y=20;Blockly.DropDownDiv.ANIMATION_TIME=.25;Blockly.DropDownDiv.animateOutTimer_=null;Blockly.DropDownDiv.onHide_=0;\nBlockly.DropDownDiv.createDom=function(){Blockly.DropDownDiv.DIV_||(Blockly.DropDownDiv.DIV_=goog.dom.createDom(\"div\",\"blocklyDropDownDiv\"),document.body.appendChild(Blockly.DropDownDiv.DIV_),Blockly.DropDownDiv.content_=goog.dom.createDom(\"div\",\"blocklyDropDownContent\"),Blockly.DropDownDiv.DIV_.appendChild(Blockly.DropDownDiv.content_),Blockly.DropDownDiv.arrow_=goog.dom.createDom(\"div\",\"blocklyDropDownArrow\"),Blockly.DropDownDiv.DIV_.appendChild(Blockly.DropDownDiv.arrow_),Blockly.DropDownDiv.DIV_.style.transition=\n\"transform \"+Blockly.DropDownDiv.ANIMATION_TIME+\"s, opacity \"+Blockly.DropDownDiv.ANIMATION_TIME+\"s\")};Blockly.DropDownDiv.setBoundsElement=function(a){Blockly.DropDownDiv.boundsElement_=a};Blockly.DropDownDiv.getContentDiv=function(){return Blockly.DropDownDiv.content_};Blockly.DropDownDiv.clearContent=function(){Blockly.DropDownDiv.content_.innerHTML=\"\"};Blockly.DropDownDiv.setColour=function(a,b){Blockly.DropDownDiv.DIV_.style.backgroundColor=a;Blockly.DropDownDiv.DIV_.style.borderColor=b};\nBlockly.DropDownDiv.setCategory=function(a){Blockly.DropDownDiv.DIV_.setAttribute(\"data-category\",a)};Blockly.DropDownDiv.showPositionedByBlock=function(a,b,c,d){var e=b.workspace.scale,f=b.width;a=b.height;f*=e;a*=e;e=b.getSvgRoot().getBoundingClientRect();f=e.left+f/2;a=e.top+a;e=e.top;d\u0026\u0026(e+=d);Blockly.DropDownDiv.setBoundsElement(b.workspace.getParentSvg().parentNode);return Blockly.DropDownDiv.show(this,f,a,f,e,c)};\nBlockly.DropDownDiv.show=function(a,b,c,d,e,f){Blockly.DropDownDiv.owner_=a;Blockly.DropDownDiv.onHide_=f;a=Blockly.DropDownDiv.DIV_;b=Blockly.DropDownDiv.getPositionMetrics(b,c,d,e);Blockly.DropDownDiv.arrow_.style.transform=\"translate(\"+b.arrowX+\"px,\"+b.arrowY+\"px) rotate(45deg)\";Blockly.DropDownDiv.arrow_.setAttribute(\"class\",b.arrowAtTop?\"blocklyDropDownArrow arrowTop\":\"blocklyDropDownArrow arrowBottom\");a.style.left=b.initialX+\"px\";a.style.top=b.initialY+\"px\";a.style.display=\"block\";a.style.opacity=\n1;a.style.transform=\"translate(\"+(b.finalX-b.initialX)+\"px,\"+(b.finalY-b.initialY)+\"px)\";return b.arrowAtTop};\nBlockly.DropDownDiv.getPositionMetrics=function(a,b,c,d){var e=Blockly.DropDownDiv.DIV_,f=Blockly.DropDownDiv.boundsElement_.getBoundingClientRect(),g=goog.style.getSize(Blockly.DropDownDiv.boundsElement_);e=goog.style.getSize(e);if(b+e.height\u003ef.top+g.height)if(d-e.height\u003cf.top){c=b+Blockly.DropDownDiv.PADDING_Y;var h=!1}else a=c,c=d-e.height-Blockly.DropDownDiv.PADDING_Y,h=!0;else c=b+Blockly.DropDownDiv.PADDING_Y,h=!1;var k=a-Blockly.DropDownDiv.ARROW_SIZE/2;k=Math.max(f.left,Math.min(k,f.left+\ng.width));a=Math.max(f.left,Math.min(a-e.width/2,f.left+g.width-e.width));k=Math.max(Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING,Math.min(k-a,e.width-Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING-Blockly.DropDownDiv.ARROW_SIZE));f=h?e.height-Blockly.DropDownDiv.BORDER_SIZE:0;f-=Blockly.DropDownDiv.ARROW_SIZE/2+Blockly.DropDownDiv.BORDER_SIZE;return{initialX:a,initialY:h?d-e.height:b,finalX:a,finalY:c,arrowX:k,arrowY:f,arrowAtTop:!h}};Blockly.DropDownDiv.isVisible=function(){return!!Blockly.DropDownDiv.owner_};\nBlockly.DropDownDiv.hideIfOwner=function(a){return Blockly.DropDownDiv.owner_===a?(Blockly.DropDownDiv.hide(),!0):!1};Blockly.DropDownDiv.hide=function(){var a=Blockly.DropDownDiv.DIV_;a.style.transform=\"translate(0px, 0px)\";a.style.opacity=0;Blockly.DropDownDiv.animateOutTimer_=setTimeout(function(){Blockly.DropDownDiv.hideWithoutAnimation()},1E3*Blockly.DropDownDiv.ANIMATION_TIME);Blockly.DropDownDiv.onHide_\u0026\u0026(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)};\nBlockly.DropDownDiv.hideWithoutAnimation=function(){if(Blockly.DropDownDiv.isVisible()){var a=Blockly.DropDownDiv.DIV_;Blockly.DropDownDiv.animateOutTimer_\u0026\u0026window.clearTimeout(Blockly.DropDownDiv.animateOutTimer_);a.style.transform=\"\";a.style.top=\"\";a.style.left=\"\";a.style.display=\"none\";Blockly.DropDownDiv.clearContent();Blockly.DropDownDiv.owner_=null;Blockly.DropDownDiv.onHide_\u0026\u0026(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)}};Blockly.Events={};Blockly.Events.group_=\"\";Blockly.Events.recordUndo=!0;Blockly.Events.disabled_=0;Blockly.Events.CREATE=\"create\";Blockly.Events.BLOCK_CREATE=Blockly.Events.CREATE;Blockly.Events.DELETE=\"delete\";Blockly.Events.BLOCK_DELETE=Blockly.Events.DELETE;Blockly.Events.CHANGE=\"change\";Blockly.Events.BLOCK_CHANGE=Blockly.Events.CHANGE;Blockly.Events.MOVE=\"move\";Blockly.Events.BLOCK_MOVE=Blockly.Events.MOVE;Blockly.Events.VAR_CREATE=\"var_create\";Blockly.Events.VAR_DELETE=\"var_delete\";\nBlockly.Events.VAR_RENAME=\"var_rename\";Blockly.Events.UI=\"ui\";Blockly.Events.FIRE_QUEUE_=[];Blockly.Events.fire=function(a){Blockly.Events.isEnabled()\u0026\u0026(Blockly.Events.FIRE_QUEUE_.length||setTimeout(Blockly.Events.fireNow_,0),Blockly.Events.FIRE_QUEUE_.push(a))};Blockly.Events.fireNow_=function(){for(var a=Blockly.Events.filter(Blockly.Events.FIRE_QUEUE_,!0),b=Blockly.Events.FIRE_QUEUE_.length=0,c;c=a[b];b++){var d=Blockly.Workspace.getById(c.workspaceId);d\u0026\u0026d.fireChangeListener(c)}};\nBlockly.Events.filter=function(a,b){var c=goog.array.clone(a);b||c.reverse();for(var d=0,e;e=c[d];d++)for(var f=d+1,g;g=c[f];f++)e.type==g.type\u0026\u0026e.blockId==g.blockId\u0026\u0026e.workspaceId==g.workspaceId\u0026\u0026(e.type==Blockly.Events.MOVE?(e.newParentId=g.newParentId,e.newInputName=g.newInputName,e.newCoordinate=g.newCoordinate,c.splice(f,1),f--):e.type==Blockly.Events.CHANGE\u0026\u0026e.element==g.element\u0026\u0026e.name==g.name?(e.newValue=g.newValue,c.splice(f,1),f--):e.type!=Blockly.Events.UI||\"click\"!=g.element||\"commentOpen\"!=\ne.element\u0026\u0026\"mutatorOpen\"!=e.element\u0026\u0026\"warningOpen\"!=e.element||(e.newValue=g.newValue,c.splice(f,1),f--));for(d=c.length-1;0\u003c=d;d--)c[d].isNull()\u0026\u0026c.splice(d,1);b||c.reverse();for(d=1;e=c[d];d++)e.type==Blockly.Events.CHANGE\u0026\u0026\"mutation\"==e.element\u0026\u0026c.unshift(c.splice(d,1)[0]);return c};Blockly.Events.clearPendingUndo=function(){for(var a=0,b;b=Blockly.Events.FIRE_QUEUE_[a];a++)b.recordUndo=!1};Blockly.Events.disable=function(){Blockly.Events.disabled_++};Blockly.Events.enable=function(){Blockly.Events.disabled_--};\nBlockly.Events.isEnabled=function(){return 0==Blockly.Events.disabled_};Blockly.Events.getGroup=function(){return Blockly.Events.group_};Blockly.Events.setGroup=function(a){Blockly.Events.group_=\"boolean\"==typeof a?a?Blockly.utils.genUid():\"\":a};Blockly.Events.getDescendantIds_=function(a){var b=[];a=a.getDescendants();for(var c=0,d;d=a[c];c++)b[c]=d.id;return b};\nBlockly.Events.fromJson=function(a,b){switch(a.type){case Blockly.Events.CREATE:var c=new Blockly.Events.Create(null);break;case Blockly.Events.DELETE:c=new Blockly.Events.Delete(null);break;case Blockly.Events.CHANGE:c=new Blockly.Events.Change(null);break;case Blockly.Events.MOVE:c=new Blockly.Events.Move(null);break;case Blockly.Events.VAR_CREATE:c=new Blockly.Events.VarCreate(null);break;case Blockly.Events.VAR_DELETE:c=new Blockly.Events.VarDelete(null);break;case Blockly.Events.VAR_RENAME:c=\nnew Blockly.Events.VarRename(null);break;case Blockly.Events.UI:c=new Blockly.Events.Ui(null);break;default:throw\"Unknown event type.\";}c.fromJson(a);c.workspaceId=b.id;return c};Blockly.Events.Abstract=function(a){a instanceof Blockly.Block?(this.blockId=a.id,this.workspaceId=a.workspace.id):a instanceof Blockly.VariableModel\u0026\u0026(this.workspaceId=a.workspace.id,this.varId=a.getId());this.group=Blockly.Events.group_;this.recordUndo=Blockly.Events.recordUndo};\nBlockly.Events.Abstract.prototype.toJson=function(){var a={type:this.type};this.blockId\u0026\u0026(a.blockId=this.blockId);this.varId\u0026\u0026(a.varId=this.varId);this.group\u0026\u0026(a.group=this.group);return a};Blockly.Events.Abstract.prototype.fromJson=function(a){this.blockId=a.blockId;this.varId=a.varId;this.group=a.group};Blockly.Events.Abstract.prototype.isNull=function(){return!1};Blockly.Events.Abstract.prototype.run=function(){};\nBlockly.Events.Abstract.prototype.getEventWorkspace_=function(){var a=Blockly.Workspace.getById(this.workspaceId);if(!a)throw Error(\"Workspace is null. Event must have been generated from real Blockly events.\");return a};Blockly.Events.Create=function(a){a\u0026\u0026(Blockly.Events.Create.superClass_.constructor.call(this,a),this.xml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a),this.ids=Blockly.Events.getDescendantIds_(a))};goog.inherits(Blockly.Events.Create,Blockly.Events.Abstract);\nBlockly.Events.BlockCreate=Blockly.Events.Create;Blockly.Events.Create.prototype.type=Blockly.Events.CREATE;Blockly.Events.Create.prototype.toJson=function(){var a=Blockly.Events.Create.superClass_.toJson.call(this);a.xml=Blockly.Xml.domToText(this.xml);a.ids=this.ids;return a};Blockly.Events.Create.prototype.fromJson=function(a){Blockly.Events.Create.superClass_.fromJson.call(this,a);this.xml=Blockly.Xml.textToDom(\"\u003cxml\u003e\"+a.xml+\"\u003c/xml\u003e\").firstChild;this.ids=a.ids};\nBlockly.Events.Create.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)a=goog.dom.createDom(\"xml\"),a.appendChild(this.xml),Blockly.Xml.domToWorkspace(a,b);else{a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1,!1):c==this.blockId\u0026\u0026console.warn(\"Can't uncreate non-existant block: \"+c)}}};\nBlockly.Events.Delete=function(a){if(a){if(a.getParent())throw\"Connected blocks cannot be deleted.\";Blockly.Events.Delete.superClass_.constructor.call(this,a);this.oldXml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a);this.ids=Blockly.Events.getDescendantIds_(a)}};goog.inherits(Blockly.Events.Delete,Blockly.Events.Abstract);Blockly.Events.BlockDelete=Blockly.Events.Delete;Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE;\nBlockly.Events.Delete.prototype.toJson=function(){var a=Blockly.Events.Delete.superClass_.toJson.call(this);a.ids=this.ids;return a};Blockly.Events.Delete.prototype.fromJson=function(a){Blockly.Events.Delete.superClass_.fromJson.call(this,a);this.ids=a.ids};\nBlockly.Events.Delete.prototype.run=function(a){var b=this.getEventWorkspace_();if(a){a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1,!1):c==this.blockId\u0026\u0026console.warn(\"Can't delete non-existant block: \"+c)}}else a=goog.dom.createDom(\"xml\"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)};Blockly.Events.Change=function(a,b,c,d,e){a\u0026\u0026(Blockly.Events.Change.superClass_.constructor.call(this,a),this.element=b,this.name=c,this.oldValue=d,this.newValue=e)};\ngoog.inherits(Blockly.Events.Change,Blockly.Events.Abstract);Blockly.Events.BlockChange=Blockly.Events.Change;Blockly.Events.Change.prototype.type=Blockly.Events.CHANGE;Blockly.Events.Change.prototype.toJson=function(){var a=Blockly.Events.Change.superClass_.toJson.call(this);a.element=this.element;this.name\u0026\u0026(a.name=this.name);a.newValue=this.newValue;return a};\nBlockly.Events.Change.prototype.fromJson=function(a){Blockly.Events.Change.superClass_.fromJson.call(this,a);this.element=a.element;this.name=a.name;this.newValue=a.newValue};Blockly.Events.Change.prototype.isNull=function(){return this.oldValue==this.newValue};\nBlockly.Events.Change.prototype.run=function(a){var b=this.getEventWorkspace_().getBlockById(this.blockId);if(b)switch(b.mutator\u0026\u0026b.mutator.setVisible(!1),a=a?this.newValue:this.oldValue,this.element){case \"field\":(b=b.getField(this.name))?(b.callValidator(a),b.setValue(a)):console.warn(\"Can't set non-existant field: \"+this.name);break;case \"comment\":b.setCommentText(a||null);break;case \"collapsed\":b.setCollapsed(a);break;case \"disabled\":b.setDisabled(a);break;case \"inline\":b.setInputsInline(a);break;\ncase \"mutation\":var c=\"\";b.mutationToDom\u0026\u0026(c=(c=b.mutationToDom())\u0026\u0026Blockly.Xml.domToText(c));if(b.domToMutation){a=a||\"\u003cmutation\u003e\u003c/mutation\u003e\";var d=Blockly.Xml.textToDom(\"\u003cxml\u003e\"+a+\"\u003c/xml\u003e\");b.domToMutation(d.firstChild)}Blockly.Events.fire(new Blockly.Events.Change(b,\"mutation\",null,c,a));break;default:console.warn(\"Unknown change type: \"+this.element)}else console.warn(\"Can't change non-existant block: \"+this.blockId)};\nBlockly.Events.Move=function(a){a\u0026\u0026(Blockly.Events.Move.superClass_.constructor.call(this,a),a=this.currentLocation_(),this.oldParentId=a.parentId,this.oldInputName=a.inputName,this.oldCoordinate=a.coordinate)};goog.inherits(Blockly.Events.Move,Blockly.Events.Abstract);Blockly.Events.BlockMove=Blockly.Events.Move;Blockly.Events.Move.prototype.type=Blockly.Events.MOVE;\nBlockly.Events.Move.prototype.toJson=function(){var a=Blockly.Events.Move.superClass_.toJson.call(this);this.newParentId\u0026\u0026(a.newParentId=this.newParentId);this.newInputName\u0026\u0026(a.newInputName=this.newInputName);this.newCoordinate\u0026\u0026(a.newCoordinate=Math.round(this.newCoordinate.x)+\",\"+Math.round(this.newCoordinate.y));return a};\nBlockly.Events.Move.prototype.fromJson=function(a){Blockly.Events.Move.superClass_.fromJson.call(this,a);this.newParentId=a.newParentId;this.newInputName=a.newInputName;a.newCoordinate\u0026\u0026(a=a.newCoordinate.split(\",\"),this.newCoordinate=new goog.math.Coordinate(parseFloat(a[0]),parseFloat(a[1])))};Blockly.Events.Move.prototype.recordNew=function(){var a=this.currentLocation_();this.newParentId=a.parentId;this.newInputName=a.inputName;this.newCoordinate=a.coordinate};\nBlockly.Events.Move.prototype.currentLocation_=function(){var a=Blockly.Workspace.getById(this.workspaceId).getBlockById(this.blockId),b={},c=a.getParent();if(c){if(b.parentId=c.id,a=c.getInputWithBlock(a))b.inputName=a.name}else b.coordinate=a.getRelativeToSurfaceXY();return b};Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId\u0026\u0026this.oldInputName==this.newInputName\u0026\u0026goog.math.Coordinate.equals(this.oldCoordinate,this.newCoordinate)};\nBlockly.Events.Move.prototype.run=function(a){var b=this.getEventWorkspace_(),c=b.getBlockById(this.blockId);if(c){var d=a?this.newParentId:this.oldParentId,e=a?this.newInputName:this.oldInputName;a=a?this.newCoordinate:this.oldCoordinate;var f=null;if(d\u0026\u0026(f=b.getBlockById(d),!f)){console.warn(\"Can't connect to non-existant block: \"+d);return}c.getParent()\u0026\u0026c.unplug();if(a)e=c.getRelativeToSurfaceXY(),c.moveBy(a.x-e.x,a.y-e.y);else{c=c.outputConnection||c.previousConnection;if(e){if(b=f.getInput(e))var g=\nb.connection}else c.type==Blockly.PREVIOUS_STATEMENT\u0026\u0026(g=f.nextConnection);g?c.connect(g):console.warn(\"Can't connect to non-existant input: \"+e)}}else console.warn(\"Can't move non-existant block: \"+this.blockId)};Blockly.Events.Ui=function(a,b,c,d){Blockly.Events.Ui.superClass_.constructor.call(this,a);this.element=b;this.oldValue=c;this.newValue=d;this.recordUndo=!1};goog.inherits(Blockly.Events.Ui,Blockly.Events.Abstract);Blockly.Events.Ui.prototype.type=Blockly.Events.UI;\nBlockly.Events.Ui.prototype.toJson=function(){var a=Blockly.Events.Ui.superClass_.toJson.call(this);a.element=this.element;void 0!==this.newValue\u0026\u0026(a.newValue=this.newValue);return a};Blockly.Events.Ui.prototype.fromJson=function(a){Blockly.Events.Ui.superClass_.fromJson.call(this,a);this.element=a.element;this.newValue=a.newValue};Blockly.Events.VarCreate=function(a){a\u0026\u0026(Blockly.Events.VarCreate.superClass_.constructor.call(this,a),this.varType=a.type,this.varName=a.name)};\ngoog.inherits(Blockly.Events.VarCreate,Blockly.Events.Abstract);Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE;Blockly.Events.VarCreate.prototype.toJson=function(){var a=Blockly.Events.VarCreate.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};Blockly.Events.VarCreate.prototype.fromJson=function(a){Blockly.Events.VarCreate.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};\nBlockly.Events.VarCreate.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.createVariable(this.varName,this.varType,this.varId):b.deleteVariableById(this.varId)};Blockly.Events.VarDelete=function(a){a\u0026\u0026(Blockly.Events.VarDelete.superClass_.constructor.call(this,a),this.varType=a.type,this.varName=a.name)};goog.inherits(Blockly.Events.VarDelete,Blockly.Events.Abstract);Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE;\nBlockly.Events.VarDelete.prototype.toJson=function(){var a=Blockly.Events.VarDelete.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};Blockly.Events.VarDelete.prototype.fromJson=function(a){Blockly.Events.VarDelete.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarDelete.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.deleteVariableById(this.varId):b.createVariable(this.varName,this.varType,this.varId)};\nBlockly.Events.VarRename=function(a,b){a\u0026\u0026(Blockly.Events.VarRename.superClass_.constructor.call(this,a),this.oldName=a.name,this.newName=b)};goog.inherits(Blockly.Events.VarRename,Blockly.Events.Abstract);Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME;Blockly.Events.VarRename.prototype.toJson=function(){var a=Blockly.Events.VarRename.superClass_.toJson.call(this);a.oldName=this.oldName;a.newName=this.newName;return a};\nBlockly.Events.VarRename.prototype.fromJson=function(a){Blockly.Events.VarRename.superClass_.fromJson.call(this,a);this.oldName=a.oldName;this.newName=a.newName};Blockly.Events.VarRename.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.renameVariableById(this.varId,this.newName):b.renameVariableById(this.varId,this.oldName)};\nBlockly.Events.disableOrphans=function(a){if(a.type==Blockly.Events.MOVE||a.type==Blockly.Events.CREATE){Blockly.Events.disable();var b=Blockly.Workspace.getById(a.workspaceId);if(a=b.getBlockById(a.blockId))if(a.getParent()\u0026\u0026!a.getParent().disabled){b=a.getDescendants();a=0;for(var c;c=b[a];a++)c.setDisabled(!1)}else if((a.outputConnection||a.previousConnection)\u0026\u0026!b.isDragging()){do a.setDisabled(!0),a=a.getNextBlock();while(a)}Blockly.Events.enable()}};Blockly.RenderedConnection=function(a,b){Blockly.RenderedConnection.superClass_.constructor.call(this,a,b);this.offsetInBlock_=new goog.math.Coordinate(0,0)};goog.inherits(Blockly.RenderedConnection,Blockly.Connection);Blockly.RenderedConnection.prototype.distanceFrom=function(a){var b=this.x_-a.x_;a=this.y_-a.y_;return Math.sqrt(b*b+a*a)};\nBlockly.RenderedConnection.prototype.bumpAwayFrom_=function(a){if(!this.sourceBlock_.workspace.isDragging()){var b=this.sourceBlock_.getRootBlock();if(!b.isInFlyout){var c=!1;if(!b.isMovable()){b=a.getSourceBlock().getRootBlock();if(!b.isMovable())return;a=this;c=!0}var d=Blockly.selected==b;d||b.addSelect();var e=a.x_+Blockly.SNAP_RADIUS-this.x_;a=a.y_+Blockly.SNAP_RADIUS-this.y_;c\u0026\u0026(a=-a);b.RTL\u0026\u0026(e=-e);b.moveBy(e,a);d||b.removeSelect()}}};\nBlockly.RenderedConnection.prototype.moveTo=function(a,b){this.inDB_\u0026\u0026this.db_.removeConnection_(this);this.x_=a;this.y_=b;this.hidden_||this.db_.addConnection(this)};Blockly.RenderedConnection.prototype.moveBy=function(a,b){this.moveTo(this.x_+a,this.y_+b)};Blockly.RenderedConnection.prototype.moveToOffset=function(a){this.moveTo(a.x+this.offsetInBlock_.x,a.y+this.offsetInBlock_.y)};\nBlockly.RenderedConnection.prototype.setOffsetInBlock=function(a,b){this.offsetInBlock_.x=a;this.offsetInBlock_.y=b};Blockly.RenderedConnection.prototype.tighten_=function(){var a=this.targetConnection.x_-this.x_,b=this.targetConnection.y_-this.y_;if(0!=a||0!=b){var c=this.targetBlock(),d=c.getSvgRoot();if(!d)throw\"block is not rendered.\";d=Blockly.utils.getRelativeXY(d);c.getSvgRoot().setAttribute(\"transform\",\"translate(\"+(d.x-a)+\",\"+(d.y-b)+\")\");c.moveConnections_(-a,-b)}};\nBlockly.RenderedConnection.prototype.closest=function(a,b){return this.dbOpposite_.searchForClosest(this,a,b)};\nBlockly.RenderedConnection.prototype.highlight=function(){var a=\"m -20,0 h 5 \"+Blockly.BlockSvg.NOTCH_PATH_LEFT+\" h 5\";var b=this.sourceBlock_.getRelativeToSurfaceXY();Blockly.Connection.highlightedPath_=Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyHighlightedConnectionPath\",d:a,transform:\"translate(\"+(this.x_-b.x)+\",\"+(this.y_-b.y)+\")\"+(this.sourceBlock_.RTL?\" scale(-1 1)\":\"\")},this.sourceBlock_.getSvgRoot())};\nBlockly.RenderedConnection.prototype.unhideAll=function(){this.setHidden(!1);var a=[];if(this.type!=Blockly.INPUT_VALUE\u0026\u0026this.type!=Blockly.NEXT_STATEMENT)return a;var b=this.targetBlock();if(b){if(b.isCollapsed()){var c=[];b.outputConnection\u0026\u0026c.push(b.outputConnection);b.nextConnection\u0026\u0026c.push(b.nextConnection);b.previousConnection\u0026\u0026c.push(b.previousConnection)}else c=b.getConnections_(!0);for(var d=0;d\u003cc.length;d++)a.push.apply(a,c[d].unhideAll());a.length||(a[0]=b)}return a};\nBlockly.RenderedConnection.prototype.unhighlight=function(){goog.dom.removeNode(Blockly.Connection.highlightedPath_);delete Blockly.Connection.highlightedPath_};Blockly.RenderedConnection.prototype.setHidden=function(a){(this.hidden_=a)\u0026\u0026this.inDB_?this.db_.removeConnection_(this):a||this.inDB_||this.db_.addConnection(this)};\nBlockly.RenderedConnection.prototype.hideAll=function(){this.setHidden(!0);if(this.targetConnection)for(var a=this.targetBlock().getDescendants(),b=0;b\u003ca.length;b++){for(var c=a[b],d=c.getConnections_(!0),e=0;e\u003cd.length;e++)d[e].setHidden(!0);c=c.getIcons();for(e=0;e\u003cc.length;e++)c[e].setVisible(!1)}};Blockly.RenderedConnection.prototype.isConnectionAllowed=function(a,b){return this.distanceFrom(a)\u003eb?!1:Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,a)};\nBlockly.RenderedConnection.prototype.disconnectInternal_=function(a,b){Blockly.RenderedConnection.superClass_.disconnectInternal_.call(this,a,b);a.rendered\u0026\u0026a.render();b.rendered\u0026\u0026(b.updateDisabled(),b.render())};\nBlockly.RenderedConnection.prototype.respawnShadow_=function(){var a=this.getSourceBlock(),b=this.getShadowDom();if(a.workspace\u0026\u0026b\u0026\u0026Blockly.Events.recordUndo){Blockly.RenderedConnection.superClass_.respawnShadow_.call(this);b=this.targetBlock();if(!b)throw\"Couldn't respawn the shadow block that should exist here.\";b.initSvg();b.render(!1);a.rendered\u0026\u0026a.render()}};Blockly.RenderedConnection.prototype.neighbours_=function(a){return this.dbOpposite_.getNeighbours(this,a)};\nBlockly.RenderedConnection.prototype.connect_=function(a){Blockly.RenderedConnection.superClass_.connect_.call(this,a);var b=this.getSourceBlock();a=a.getSourceBlock();b.rendered\u0026\u0026b.updateDisabled();a.rendered\u0026\u0026a.updateDisabled();b.rendered\u0026\u0026a.rendered\u0026\u0026(this.type==Blockly.NEXT_STATEMENT||this.type==Blockly.PREVIOUS_STATEMENT?a.render():b.render())};\nBlockly.RenderedConnection.prototype.onCheckChanged_=function(){this.isConnected()\u0026\u0026!this.checkType_(this.targetConnection)\u0026\u0026((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours_())};Blockly.InsertionMarkerManager=function(a){this.topBlock_=Blockly.selected=a;this.workspace_=a.workspace;this.lastMarker_=this.lastOnStack_=null;this.firstMarker_=this.createMarkerBlock_(this.topBlock_);this.localConnection_=this.closestConnection_=null;this.wouldDeleteBlock_=!1;this.markerConnection_=null;this.highlightingBlock_=!1;this.highlightedBlock_=null;this.availableConnections_=this.initAvailableConnections_()};\nBlockly.InsertionMarkerManager.prototype.dispose=function(){this.workspace_=this.topBlock_=null;this.availableConnections_.length=0;this.localConnection_=this.closestConnection_=null;Blockly.Events.disable();try{this.firstMarker_\u0026\u0026(this.firstMarker_.dispose(),this.firstMarker_=null),this.lastMarker_\u0026\u0026(this.lastMarker_.dispose(),this.lastMarker_=null)}finally{Blockly.Events.enable()}this.highlightedBlock_=null};Blockly.InsertionMarkerManager.prototype.wouldDeleteBlock=function(){return this.wouldDeleteBlock_};\nBlockly.InsertionMarkerManager.prototype.applyConnections=function(){this.closestConnection_\u0026\u0026(Blockly.Events.disable(),this.hidePreview_(),Blockly.Events.enable(),this.localConnection_.connect(this.closestConnection_),this.topBlock_.rendered\u0026\u0026((this.localConnection_.isSuperior()?this.closestConnection_:this.localConnection_).getSourceBlock().connectionUiEffect(),this.topBlock_.getRootBlock().bringToFront()))};\nBlockly.InsertionMarkerManager.prototype.update=function(a,b){var c=this.getCandidate_(a);if((this.wouldDeleteBlock_=this.shouldDelete_(c,b))||this.shouldUpdatePreviews_(c,a))Blockly.Events.disable(),this.maybeHidePreview_(c),this.maybeShowPreview_(c),Blockly.Events.enable()};\nBlockly.InsertionMarkerManager.prototype.createMarkerBlock_=function(a){var b=a.type;Blockly.Events.disable();try{var c=this.workspace_.newBlock(b);if(a.mutationToDom){var d=a.mutationToDom();c.domToMutation(d)}c.setInsertionMarker(!0,a.width);c.initSvg()}finally{Blockly.Events.enable()}return c};\nBlockly.InsertionMarkerManager.prototype.initAvailableConnections_=function(){var a=this.topBlock_.getConnections_(!1),b=this.topBlock_.lastConnectionInStack();b\u0026\u0026b!=this.topBlock_.nextConnection\u0026\u0026(a.push(b),this.lastOnStack_=b,this.lastMarker_=this.createMarkerBlock_(b.sourceBlock_));return a};\nBlockly.InsertionMarkerManager.prototype.shouldUpdatePreviews_=function(a,b){var c=a.local,d=a.closest,e=a.radius;if(c\u0026\u0026d){if(c.type==Blockly.OUTPUT_VALUE)return!0;if(this.localConnection_\u0026\u0026this.closestConnection_){if(this.closestConnection_==d)return!1;c=this.localConnection_.x_+b.x-this.closestConnection_.x_;var f=this.localConnection_.y_+b.y-this.closestConnection_.y_;c=Math.sqrt(c*c+f*f);return!(d\u0026\u0026e\u003ec-Blockly.CURRENT_CONNECTION_PREFERENCE)}if(this.localConnection_||this.closestConnection_)console.error(\"Only one of localConnection_ and closestConnection_ was set.\");\nelse return!0}else return!(!this.localConnection_||!this.closestConnection_);console.error(\"Returning true from shouldUpdatePreviews, but it's not clear why.\");return!0};Blockly.InsertionMarkerManager.prototype.getCandidate_=function(a){for(var b=this.getStartRadius_(),c=null,d=null,e=0;e\u003cthis.availableConnections_.length;e++){var f=this.availableConnections_[e],g=f.closest(b,a);g.connection\u0026\u0026(c=g.connection,d=f,b=g.radius)}return{closest:c,local:d,radius:b}};\nBlockly.InsertionMarkerManager.prototype.getStartRadius_=function(){return this.closestConnection_\u0026\u0026this.localConnection_?Blockly.CONNECTING_SNAP_RADIUS:Blockly.SNAP_RADIUS};Blockly.InsertionMarkerManager.prototype.shouldReplace_=function(){var a=this.closestConnection_,b=this.localConnection_;return b.type==Blockly.OUTPUT_VALUE?!0:b==b.sourceBlock_.getFirstStatementConnection()?!1:!this.topBlock_.nextConnection\u0026\u0026b.type==Blockly.PREVIOUS_STATEMENT\u0026\u0026a.isConnected()?!0:!1};\nBlockly.InsertionMarkerManager.prototype.shouldDelete_=function(a,b){var c=a\u0026\u0026!!a.closest\u0026\u0026b!=Blockly.DELETE_AREA_TOOLBOX;return!!b\u0026\u0026!this.topBlock_.getParent()\u0026\u0026this.topBlock_.isDeletable()\u0026\u0026!c};Blockly.InsertionMarkerManager.prototype.maybeShowPreview_=function(a){if(!this.wouldDeleteBlock_){var b=a.closest;a=a.local;b\u0026\u0026b!=this.closestConnection_\u0026\u0026!b.sourceBlock_.isInsertionMarker()\u0026\u0026(this.closestConnection_=b,this.localConnection_=a,this.showPreview_())}};\nBlockly.InsertionMarkerManager.prototype.showPreview_=function(){this.shouldReplace_()?this.highlightBlock_():this.connectMarker_()};Blockly.InsertionMarkerManager.prototype.maybeHidePreview_=function(a){a.closest||this.hidePreview_();var b=this.closestConnection_!=a.closest;a=this.localConnection_!=a.local;this.closestConnection_\u0026\u0026this.localConnection_\u0026\u0026(b||a||this.wouldDeleteBlock_)\u0026\u0026this.hidePreview_();this.localConnection_=this.closestConnection_=this.markerConnection_=null};\nBlockly.InsertionMarkerManager.prototype.hidePreview_=function(){this.highlightingBlock_?this.unhighlightBlock_():this.markerConnection_\u0026\u0026this.disconnectMarker_()};\nBlockly.InsertionMarkerManager.prototype.highlightBlock_=function(){var a=this.closestConnection_,b=this.localConnection_;a.targetBlock()?(this.highlightedBlock_=a.targetBlock(),a.targetBlock().highlightForReplacement(!0)):b.type==Blockly.OUTPUT_VALUE\u0026\u0026(this.highlightedBlock_=a.sourceBlock_,a.sourceBlock_.highlightShapeForInput(a,!0));this.highlightingBlock_=!0};\nBlockly.InsertionMarkerManager.prototype.unhighlightBlock_=function(){var a=this.closestConnection_;a.type!=Blockly.INPUT_VALUE||a.isConnected()?this.highlightedBlock_.highlightForReplacement(!1):this.highlightedBlock_.highlightShapeForInput(a,!1);this.highlightedBlock_=null;this.highlightingBlock_=!1};\nBlockly.InsertionMarkerManager.prototype.disconnectMarker_=function(){if(this.markerConnection_){var a=this.markerConnection_,b=a.sourceBlock_,c=b.nextConnection,d=b.previousConnection;a!=c||d\u0026\u0026d.targetConnection?a.type==Blockly.NEXT_STATEMENT\u0026\u0026a!=c?(c=a.targetConnection,c.sourceBlock_.unplug(!1),d=d?d.targetConnection:null,b.unplug(!0),d\u0026\u0026d.connect(c)):b.unplug(!0):a.targetBlock().unplug(!1);if(a.targetConnection)throw\"markerConnection_ still connected at the end of disconnectInsertionMarker\";this.markerConnection_=\nnull;b.getSvgRoot().setAttribute(\"visibility\",\"hidden\")}else console.log(\"No insertion marker connection to disconnect\")};\nBlockly.InsertionMarkerManager.prototype.connectMarker_=function(){var a=this.localConnection_,b=this.closestConnection_,c=this.lastOnStack_\u0026\u0026a==this.lastOnStack_?this.lastMarker_:this.firstMarker_;a=c.getMatchingConnection(a.sourceBlock_,a);goog.asserts.assert(a!=this.markerConnection_,\"Made it to connectMarker_ even though the marker isn't changing\");c.render();c.rendered=!0;c.getSvgRoot().setAttribute(\"visibility\",\"visible\");c.positionNewBlock(c,a,b);a.connect(b);this.markerConnection_=a};Blockly.BlockDragger=function(a,b){this.draggingBlock_=a;this.workspace_=b;this.draggedConnectionManager_=new Blockly.InsertionMarkerManager(this.draggingBlock_);this.deleteArea_=null;this.wouldDeleteBlock_=!1;this.startXY_=this.draggingBlock_.getRelativeToSurfaceXY();this.dragIconData_=Blockly.BlockDragger.initIconData_(a)};\nBlockly.BlockDragger.prototype.dispose=function(){this.startWorkspace_=this.workspace_=this.draggingBlock_=null;this.dragIconData_.length=0;this.draggedConnectionManager_\u0026\u0026(this.draggedConnectionManager_.dispose(),this.draggedConnectionManager_=null)};Blockly.BlockDragger.initIconData_=function(a){var b=[];a=a.getDescendants();for(var c=0,d;d=a[c];c++){d=d.getIcons();for(var e=0;e\u003cd.length;e++){var f={location:d[e].getIconLocation(),icon:d[e]};b.push(f)}}return b};\nBlockly.BlockDragger.prototype.startBlockDrag=function(a){Blockly.Events.getGroup()||Blockly.Events.setGroup(!0);this.workspace_.setResizesEnabled(!1);Blockly.BlockSvg.disconnectUiStop_();this.draggingBlock_.getParent()\u0026\u0026(this.draggingBlock_.unplug(),a=this.pixelsToWorkspaceUnits_(a),a=goog.math.Coordinate.sum(this.startXY_,a),this.draggingBlock_.translate(a.x,a.y),this.draggingBlock_.disconnectUiEffect());this.draggingBlock_.setDragging(!0);this.draggingBlock_.moveToDragSurface_();this.workspace_.toolbox_\u0026\u0026\nthis.workspace_.toolbox_.addDeleteStyle()};Blockly.BlockDragger.prototype.dragBlock=function(a,b){var c=this.pixelsToWorkspaceUnits_(b),d=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBlock_.moveDuringDrag(d);this.dragIcons_(c);this.deleteArea_=this.workspace_.isDeleteArea(a);this.draggedConnectionManager_.update(c,this.deleteArea_);this.updateCursorDuringBlockDrag_()};\nBlockly.BlockDragger.prototype.endBlockDrag=function(a,b){this.dragBlock(a,b);this.dragIconData_=[];Blockly.BlockSvg.disconnectUiStop_();var c=this.pixelsToWorkspaceUnits_(b),d=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBlock_.moveOffDragSurface_(d);this.maybeDeleteBlock_()||(this.draggingBlock_.moveConnections_(c.x,c.y),this.draggingBlock_.setDragging(!1),this.draggedConnectionManager_.applyConnections(),this.draggingBlock_.render(),this.fireMoveEvent_(),this.draggingBlock_.scheduleSnapAndBump());\nthis.workspace_.setResizesEnabled(!0);this.workspace_.toolbox_\u0026\u0026this.workspace_.toolbox_.removeDeleteStyle();Blockly.Events.setGroup(!1)};Blockly.BlockDragger.prototype.fireMoveEvent_=function(){var a=new Blockly.Events.BlockMove(this.draggingBlock_);a.oldCoordinate=this.startXY_;a.recordNew();Blockly.Events.fire(a)};\nBlockly.BlockDragger.prototype.maybeDeleteBlock_=function(){var a=this.workspace_.trashcan;this.wouldDeleteBlock_?(a\u0026\u0026goog.Timer.callOnce(a.close,100,a),this.fireMoveEvent_(),this.draggingBlock_.dispose(!1,!0)):a\u0026\u0026a.close();return this.wouldDeleteBlock_};\nBlockly.BlockDragger.prototype.updateCursorDuringBlockDrag_=function(){this.wouldDeleteBlock_=this.draggedConnectionManager_.wouldDeleteBlock();var a=this.workspace_.trashcan;this.wouldDeleteBlock_?(this.draggingBlock_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH\u0026\u0026a\u0026\u0026a.setOpen_(!0)):(this.draggingBlock_.setDeleteStyle(!1),a\u0026\u0026a.setOpen_(!1))};\nBlockly.BlockDragger.prototype.pixelsToWorkspaceUnits_=function(a){a=new goog.math.Coordinate(a.x/this.workspace_.scale,a.y/this.workspace_.scale);this.workspace_.isMutator\u0026\u0026(a=a.scale(1/this.workspace_.options.parentWorkspace.scale));return a};Blockly.BlockDragger.prototype.dragIcons_=function(a){for(var b=0;b\u003cthis.dragIconData_.length;b++){var c=this.dragIconData_[b];c.icon.setIconLocation(goog.math.Coordinate.sum(c.location,a))}};Blockly.WorkspaceDragger=function(a){this.workspace_=a;this.startDragMetrics_=a.getMetrics();this.startScrollXY_=new goog.math.Coordinate(a.scrollX,a.scrollY)};Blockly.WorkspaceDragger.prototype.dispose=function(){this.workspace_=null};Blockly.WorkspaceDragger.prototype.startDrag=function(){Blockly.selected\u0026\u0026Blockly.selected.unselect();this.workspace_.setupDragSurface()};Blockly.WorkspaceDragger.prototype.endDrag=function(a){this.drag(a);this.workspace_.resetDragSurface()};\nBlockly.WorkspaceDragger.prototype.drag=function(a){var b=this.startDragMetrics_,c=goog.math.Coordinate.sum(this.startScrollXY_,a);a=Math.min(c.x,-b.contentLeft);c=Math.min(c.y,-b.contentTop);a=Math.max(a,b.viewWidth-b.contentLeft-b.contentWidth);c=Math.max(c,b.viewHeight-b.contentTop-b.contentHeight);a=-a-b.contentLeft;c=-c-b.contentTop;this.updateScroll_(a,c)};Blockly.WorkspaceDragger.prototype.updateScroll_=function(a,b){this.workspace_.scrollbar.set(a,b)};Blockly.FlyoutDragger=function(a){Blockly.FlyoutDragger.superClass_.constructor.call(this,a.getWorkspace());this.scrollbar_=a.scrollbar_;this.horizontalLayout_=a.horizontalLayout_};goog.inherits(Blockly.FlyoutDragger,Blockly.WorkspaceDragger);Blockly.FlyoutDragger.prototype.updateScroll_=function(a,b){this.horizontalLayout_?this.scrollbar_.set(a):this.scrollbar_.set(b)};Blockly.Tooltip={};Blockly.Tooltip.visible=!1;Blockly.Tooltip.blocked_=!1;Blockly.Tooltip.LIMIT=50;Blockly.Tooltip.mouseOutPid_=0;Blockly.Tooltip.showPid_=0;Blockly.Tooltip.lastX_=0;Blockly.Tooltip.lastY_=0;Blockly.Tooltip.element_=null;Blockly.Tooltip.poisonedElement_=null;Blockly.Tooltip.OFFSET_X=0;Blockly.Tooltip.OFFSET_Y=10;Blockly.Tooltip.RADIUS_OK=10;Blockly.Tooltip.HOVER_MS=750;Blockly.Tooltip.MARGINS=5;Blockly.Tooltip.DIV=null;\nBlockly.Tooltip.createDom=function(){Blockly.Tooltip.DIV||(Blockly.Tooltip.DIV=goog.dom.createDom(\"DIV\",\"blocklyTooltipDiv\"),document.body.appendChild(Blockly.Tooltip.DIV))};Blockly.Tooltip.bindMouseEvents=function(a){Blockly.bindEvent_(a,\"mouseover\",null,Blockly.Tooltip.onMouseOver_);Blockly.bindEvent_(a,\"mouseout\",null,Blockly.Tooltip.onMouseOut_);a.addEventListener(\"mousemove\",Blockly.Tooltip.onMouseMove_,!1)};\nBlockly.Tooltip.onMouseOver_=function(a){if(!Blockly.Tooltip.blocked_){for(a=a.target;!goog.isString(a.tooltip)\u0026\u0026!goog.isFunction(a.tooltip);)a=a.tooltip;Blockly.Tooltip.element_!=a\u0026\u0026(Blockly.Tooltip.hide(),Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.element_=a);clearTimeout(Blockly.Tooltip.mouseOutPid_)}};\nBlockly.Tooltip.onMouseOut_=function(){Blockly.Tooltip.blocked_||(Blockly.Tooltip.mouseOutPid_=setTimeout(function(){Blockly.Tooltip.element_=null;Blockly.Tooltip.poisonedElement_=null;Blockly.Tooltip.hide()},1),clearTimeout(Blockly.Tooltip.showPid_))};\nBlockly.Tooltip.onMouseMove_=function(a){if(Blockly.Tooltip.element_\u0026\u0026Blockly.Tooltip.element_.tooltip\u0026\u0026!Blockly.WidgetDiv.isVisible()\u0026\u0026!Blockly.Tooltip.blocked_)if(Blockly.Tooltip.visible){var b=Blockly.Tooltip.lastX_-a.pageX;a=Blockly.Tooltip.lastY_-a.pageY;Math.sqrt(b*b+a*a)\u003eBlockly.Tooltip.RADIUS_OK\u0026\u0026Blockly.Tooltip.hide()}else Blockly.Tooltip.poisonedElement_!=Blockly.Tooltip.element_\u0026\u0026(clearTimeout(Blockly.Tooltip.showPid_),Blockly.Tooltip.lastX_=a.pageX,Blockly.Tooltip.lastY_=a.pageY,Blockly.Tooltip.showPid_=\nsetTimeout(Blockly.Tooltip.show_,Blockly.Tooltip.HOVER_MS))};Blockly.Tooltip.hide=function(){Blockly.Tooltip.visible\u0026\u0026(Blockly.Tooltip.visible=!1,Blockly.Tooltip.DIV\u0026\u0026(Blockly.Tooltip.DIV.style.display=\"none\"));Blockly.Tooltip.showPid_\u0026\u0026clearTimeout(Blockly.Tooltip.showPid_)};Blockly.Tooltip.block=function(){Blockly.Tooltip.hide();Blockly.Tooltip.blocked_=!0};Blockly.Tooltip.unblock=function(){Blockly.Tooltip.blocked_=!1};\nBlockly.Tooltip.show_=function(){if(!Blockly.Tooltip.blocked_\u0026\u0026(Blockly.Tooltip.poisonedElement_=Blockly.Tooltip.element_,Blockly.Tooltip.DIV)){goog.dom.removeChildren(Blockly.Tooltip.DIV);for(var a=Blockly.Tooltip.element_.tooltip;goog.isFunction(a);)a=a();a=Blockly.utils.wrap(a,Blockly.Tooltip.LIMIT);a=a.split(\"\\n\");for(var b=0;b\u003ca.length;b++){var c=document.createElement(\"div\");c.appendChild(document.createTextNode(a[b]));Blockly.Tooltip.DIV.appendChild(c)}a=Blockly.Tooltip.element_.RTL;b=goog.dom.getViewportSize();\nBlockly.Tooltip.DIV.style.direction=a?\"rtl\":\"ltr\";Blockly.Tooltip.DIV.style.display=\"block\";Blockly.Tooltip.visible=!0;c=Blockly.Tooltip.lastX_;c=a?c-(Blockly.Tooltip.OFFSET_X+Blockly.Tooltip.DIV.offsetWidth):c+Blockly.Tooltip.OFFSET_X;var d=Blockly.Tooltip.lastY_+Blockly.Tooltip.OFFSET_Y;d+Blockly.Tooltip.DIV.offsetHeight\u003eb.height+window.scrollY\u0026\u0026(d-=Blockly.Tooltip.DIV.offsetHeight+2*Blockly.Tooltip.OFFSET_Y);a?c=Math.max(Blockly.Tooltip.MARGINS-window.scrollX,c):c+Blockly.Tooltip.DIV.offsetWidth\u003e\nb.width+window.scrollX-2*Blockly.Tooltip.MARGINS\u0026\u0026(c=b.width-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS);Blockly.Tooltip.DIV.style.top=d+\"px\";Blockly.Tooltip.DIV.style.left=c+\"px\"}};Blockly.Gesture=function(a,b){this.mouseDownXY_=null;this.currentDragDeltaXY_=new goog.math.Coordinate(0,0);this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=null;this.creatorWorkspace_=b;this.isDraggingBlock_=this.isDraggingWorkspace_=this.hasExceededDragRadius_=!1;this.mostRecentEvent_=a;this.flyout_=this.workspaceDragger_=this.blockDragger_=this.onUpWrapper_=this.onMoveWrapper_=null;this.shouldDuplicateOnDrag_=this.isEnding_=this.hasStarted_=this.calledUpdateIsDragging_=\n!1};\nBlockly.Gesture.prototype.dispose=function(){Blockly.Touch.clearTouchIdentifier();Blockly.Tooltip.unblock();this.creatorWorkspace_.clearGesture();this.onMoveWrapper_\u0026\u0026Blockly.unbindEvent_(this.onMoveWrapper_);this.onUpWrapper_\u0026\u0026Blockly.unbindEvent_(this.onUpWrapper_);this.flyout_=this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=null;this.blockDragger_\u0026\u0026(this.blockDragger_.dispose(),this.blockDragger_=null);this.workspaceDragger_\u0026\u0026(this.workspaceDragger_.dispose(),this.workspaceDragger_=null)};\nBlockly.Gesture.prototype.updateFromEvent_=function(a){var b=new goog.math.Coordinate(a.clientX,a.clientY);this.updateDragDelta_(b)\u0026\u0026(this.updateIsDragging_(),Blockly.longStop_());this.mostRecentEvent_=a};\nBlockly.Gesture.prototype.updateDragDelta_=function(a){this.currentDragDeltaXY_=goog.math.Coordinate.difference(a,this.mouseDownXY_);return this.hasExceededDragRadius_?!1:this.hasExceededDragRadius_=goog.math.Coordinate.magnitude(this.currentDragDeltaXY_)\u003e(this.flyout_?Blockly.FLYOUT_DRAG_RADIUS:Blockly.DRAG_RADIUS)};\nBlockly.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return this.targetBlock_.disabled?!1:!this.flyout_.isScrollable()||this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_)?(this.startWorkspace_=this.flyout_.targetWorkspace_,this.startWorkspace_.updateScreenCalculationsIfScrolled(),Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.startBlock_=null,this.targetBlock_=this.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(),!0):!1};\nBlockly.Gesture.prototype.updateIsDraggingBlock_=function(){if(!this.targetBlock_)return!1;if(this.flyout_)this.isDraggingBlock_=this.updateIsDraggingFromFlyout_();else if(this.targetBlock_.isMovable()||this.shouldDuplicateOnDrag_)this.isDraggingBlock_=!0;return this.isDraggingBlock_?(this.startDraggingBlock_(),!0):!1};\nBlockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){if(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_\u0026\u0026this.startWorkspace_.isDraggable())this.workspaceDragger_=this.flyout_?new Blockly.FlyoutDragger(this.flyout_):new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag()};\nBlockly.Gesture.prototype.updateIsDragging_=function(){goog.asserts.assert(!this.calledUpdateIsDragging_,\"updateIsDragging_ should only be called once per gesture.\");this.calledUpdateIsDragging_=!0;this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()};\nBlockly.Gesture.prototype.startDraggingBlock_=function(){this.shouldDuplicateOnDrag_\u0026\u0026this.duplicateOnDrag_();this.blockDragger_=new Blockly.BlockDragger(this.targetBlock_,this.startWorkspace_);this.blockDragger_.startBlockDrag(this.currentDragDeltaXY_);this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_)};\nBlockly.Gesture.prototype.doStart=function(a){Blockly.utils.isTargetInput(a)?this.cancel():(this.hasStarted_=!0,Blockly.BlockSvg.disconnectUiStop_(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator\u0026\u0026this.startWorkspace_.resize(),this.startWorkspace_.markFocused(),this.mostRecentEvent_=a,Blockly.hideChaff(!!this.flyout_),Blockly.Tooltip.block(),this.targetBlock_\u0026\u0026this.targetBlock_.select(),Blockly.utils.isRightButton(a)?this.handleRightClick(a):(goog.string.caseInsensitiveEquals(a.type,\n\"touchstart\")\u0026\u0026Blockly.longStart_(a,this),this.mouseDownXY_=new goog.math.Coordinate(a.clientX,a.clientY),this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,\"mousemove\",null,this.handleMove.bind(this)),this.onUpWrapper_=Blockly.bindEventWithChecks_(document,\"mouseup\",null,this.handleUp.bind(this)),a.preventDefault(),a.stopPropagation()))};\nBlockly.Gesture.prototype.handleMove=function(a){this.updateFromEvent_(a);this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_\u0026\u0026this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_);a.preventDefault();a.stopPropagation()};\nBlockly.Gesture.prototype.handleUp=function(a){this.updateFromEvent_(a);Blockly.longStop_();this.isEnding_?console.log(\"Trying to end a gesture recursively.\"):(this.isEnding_=!0,this.isDraggingBlock_?this.blockDragger_.endBlockDrag(a,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isFieldClick_()?this.doFieldClick_():this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()\u0026\u0026this.doWorkspaceClick_(),a.preventDefault(),a.stopPropagation(),\nthis.dispose())};Blockly.Gesture.prototype.cancel=function(){this.isEnding_?console.log(\"Trying to cancel a gesture recursively.\"):(this.isEnding_=!0,Blockly.longStop_(),this.isDraggingBlock_?this.blockDragger_.endBlockDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_\u0026\u0026this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())};\nBlockly.Gesture.prototype.handleRightClick=function(a){this.targetBlock_?(this.bringBlockToFront_(),Blockly.hideChaff(this.flyout_),this.targetBlock_.showContextMenu_(a)):this.startWorkspace_\u0026\u0026!this.flyout_\u0026\u0026(Blockly.hideChaff(),this.startWorkspace_.showContextMenu_(a));a.preventDefault();a.stopPropagation();this.dispose()};\nBlockly.Gesture.prototype.handleWsStart=function(a,b){goog.asserts.assert(!this.hasStarted_,\"Tried to call gesture.handleWsStart, but the gesture had already been started.\");this.setStartWorkspace_(b);this.mostRecentEvent_=a;this.doStart(a)};Blockly.Gesture.prototype.handleFlyoutStart=function(a,b){goog.asserts.assert(!this.hasStarted_,\"Tried to call gesture.handleFlyoutStart, but the gesture had already been started.\");this.setStartFlyout_(b);this.handleWsStart(a,b.getWorkspace())};\nBlockly.Gesture.prototype.handleBlockStart=function(a,b){goog.asserts.assert(!this.hasStarted_,\"Tried to call gesture.handleBlockStart, but the gesture had already been started.\");this.setStartBlock(b);this.mostRecentEvent_=a};Blockly.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor_();this.bringBlockToFront_()};\nBlockly.Gesture.prototype.doBlockClick_=function(){if(this.flyout_\u0026\u0026this.flyout_.autoClose)this.targetBlock_.disabled||(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump());else if(!Blockly.WidgetDiv.isVisible()\u0026\u0026!Blockly.DropDownDiv.isVisible()){Blockly.Events.fire(new Blockly.Events.Ui(this.startBlock_,\"click\",void 0,void 0));var a=this.startBlock_.getRootBlock();Blockly.Events.fire(new Blockly.Events.Ui(a,\"stackclick\",void 0,\nvoid 0))}this.bringBlockToFront_();Blockly.Events.setGroup(!1)};Blockly.Gesture.prototype.doWorkspaceClick_=function(){Blockly.selected\u0026\u0026Blockly.selected.unselect()};Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_\u0026\u0026!this.flyout_\u0026\u0026this.targetBlock_.bringToFront()};Blockly.Gesture.prototype.setStartField=function(a){goog.asserts.assert(!this.hasStarted_,\"Tried to call gesture.setStartField, but the gesture had already been started.\");this.startField_||(this.startField_=a)};\nBlockly.Gesture.prototype.setStartBlock=function(a){this.startBlock_||(this.startBlock_=a,this.shouldDuplicateOnDrag_=Blockly.utils.isShadowArgumentReporter(a),a.isInFlyout\u0026\u0026a!=a.getRootBlock()?this.setTargetBlock_(a.getRootBlock()):this.setTargetBlock_(a))};Blockly.Gesture.prototype.setTargetBlock_=function(a){a.isShadow()\u0026\u0026!this.shouldDuplicateOnDrag_?this.setTargetBlock_(a.getParent()):this.targetBlock_=a};\nBlockly.Gesture.prototype.setStartWorkspace_=function(a){this.startWorkspace_||(this.startWorkspace_=a)};Blockly.Gesture.prototype.setStartFlyout_=function(a){this.flyout_||(this.flyout_=a)};Blockly.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_\u0026\u0026!this.hasExceededDragRadius_\u0026\u0026!this.isFieldClick_()};Blockly.Gesture.prototype.isFieldClick_=function(){return(this.startField_?this.startField_.isCurrentlyEditable():!1)\u0026\u0026!this.hasExceededDragRadius_};\nBlockly.Gesture.prototype.isWorkspaceClick_=function(){return!this.startBlock_\u0026\u0026!this.startField_\u0026\u0026!this.hasExceededDragRadius_};Blockly.Gesture.prototype.isDragging=function(){return this.isDraggingWorkspace_||this.isDraggingBlock_};Blockly.Gesture.prototype.hasStarted=function(){return this.hasStarted_};Blockly.Gesture.prototype.forceStartBlockDrag=function(a,b){this.handleBlockStart(a,b);this.handleWsStart(a,b.workspace);this.hasExceededDragRadius_=this.isDraggingBlock_=!0;this.startDraggingBlock_()};\nBlockly.Gesture.prototype.duplicateOnDrag_=function(){var a=null;try{this.startWorkspace_.setResizesEnabled(!1);var b=Blockly.Xml.blockToDom(this.targetBlock_);a=Blockly.Xml.domToBlock(b,this.startWorkspace_);var c=this.targetBlock_.getRelativeToSurfaceXY();a.moveBy(c.x,c.y);a.setShadow(!1)}finally{Blockly.Events.enable()}a?(Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockCreate(a)),a.select(),this.targetBlock_=a):console.error(\"Something went wrong while duplicating a block.\")};Blockly.utils={};Blockly.utils.removeAttribute=function(a,b){goog.userAgent.IE\u0026\u0026goog.userAgent.isVersion(\"10.0\")?a.setAttribute(b,null):a.removeAttribute(b)};Blockly.utils.addClass=function(a,b){var c=a.getAttribute(\"class\")||\"\";if(-1!=(\" \"+c+\" \").indexOf(\" \"+b+\" \"))return!1;c\u0026\u0026(c+=\" \");a.setAttribute(\"class\",c+b);return!0};\nBlockly.utils.removeClass=function(a,b){var c=a.getAttribute(\"class\");if(-1==(\" \"+c+\" \").indexOf(\" \"+b+\" \"))return!1;c=c.split(/\\s+/);for(var d=0;d\u003cc.length;d++)c[d]\u0026\u0026c[d]!=b||(c.splice(d,1),d--);c.length?a.setAttribute(\"class\",c.join(\" \")):Blockly.utils.removeAttribute(a,\"class\");return!0};Blockly.utils.hasClass=function(a,b){return-1!=(\" \"+a.getAttribute(\"class\")+\" \").indexOf(\" \"+b+\" \")};Blockly.utils.noEvent=function(a){a.preventDefault();a.stopPropagation()};\nBlockly.utils.isTargetInput=function(a){return\"textarea\"==a.target.type||\"text\"==a.target.type||\"number\"==a.target.type||\"email\"==a.target.type||\"password\"==a.target.type||\"search\"==a.target.type||\"tel\"==a.target.type||\"url\"==a.target.type||a.target.isContentEditable};\nBlockly.utils.getRelativeXY=function(a){var b=new goog.math.Coordinate(0,0),c=a.getAttribute(\"x\");c\u0026\u0026(b.x=parseInt(c,10));if(c=a.getAttribute(\"y\"))b.y=parseInt(c,10);if(c=(c=a.getAttribute(\"transform\"))\u0026\u0026c.match(Blockly.utils.getRelativeXY.XY_REGEX_))b.x+=parseFloat(c[1]),c[3]\u0026\u0026(b.y+=parseFloat(c[3]));(a=a.getAttribute(\"style\"))\u0026\u0026-1\u003ca.indexOf(\"translate\")\u0026\u0026((c=a.match(Blockly.utils.getRelativeXY.XY_2D_REGEX_))||(c=a.match(Blockly.utils.getRelativeXY.XY_3D_REGEX_)),c\u0026\u0026(b.x+=parseFloat(c[1]),c[3]\u0026\u0026\n(b.y+=parseFloat(c[3]))));return b};Blockly.utils.getInjectionDivXY_=function(a){for(var b=0,c=0,d;a;){var e=Blockly.utils.getRelativeXY(a);d=Blockly.utils.getScale_(a);b=b*d+e.x;c=c*d+e.y;if(-1!=(\" \"+(a.getAttribute(\"class\")||\"\")+\" \").indexOf(\" injectionDiv \"))break;a=a.parentNode}return new goog.math.Coordinate(b,c)};Blockly.utils.getScale_=function(a){var b=1;(a=a.getAttribute(\"transform\"))\u0026\u0026(a=a.match(Blockly.utils.getScale_.REGEXP_))\u0026\u0026a[0]\u0026\u0026(b=parseFloat(a[0]));return b};\nBlockly.utils.getRelativeXY.XY_REGEX_=/translate\\(\\s*([-+\\d.e]+)([ ,]\\s*([-+\\d.e]+)\\s*\\))?/;Blockly.utils.getScale_REGEXP_=/scale\\(\\s*([-+\\d.e]+)\\s*\\)/;Blockly.utils.getRelativeXY.XY_3D_REGEX_=/transform:\\s*translate3d\\(\\s*([-+\\d.e]+)px([ ,]\\s*([-+\\d.e]+)\\s*)px([ ,]\\s*([-+\\d.e]+)\\s*)px\\)?/;Blockly.utils.getRelativeXY.XY_2D_REGEX_=/transform:\\s*translate\\(\\s*([-+\\d.e]+)px([ ,]\\s*([-+\\d.e]+)\\s*)px\\)?/;\nBlockly.utils.createSvgElement=function(a,b,c){a=document.createElementNS(Blockly.SVG_NS,a);for(var d in b)a.setAttribute(d,b[d]);document.body.runtimeStyle\u0026\u0026(a.runtimeStyle=a.currentStyle=a.style);c\u0026\u0026c.appendChild(a);return a};Blockly.utils.isRightButton=function(a){return a.ctrlKey\u0026\u0026goog.userAgent.MAC?!0:2==a.button};Blockly.utils.mouseToSvg=function(a,b,c){var d=b.createSVGPoint();d.x=a.clientX;d.y=a.clientY;c||(c=b.getScreenCTM().inverse());return d.matrixTransform(c)};\nBlockly.utils.shortestStringLength=function(a){return a.length?a.reduce(function(a,c){return a.length\u003cc.length?a:c}).length:0};Blockly.utils.commonWordPrefix=function(a,b){if(!a.length)return 0;if(1==a.length)return a[0].length;for(var c=0,d=b||Blockly.utils.shortestStringLength(a),e=0;e\u003cd;e++){for(var f=a[0][e],g=1;g\u003ca.length;g++)if(f!=a[g][e])return c;\" \"==f\u0026\u0026(c=e+1)}for(g=1;g\u003ca.length;g++)if((f=a[g][e])\u0026\u0026\" \"!=f)return c;return d};\nBlockly.utils.commonWordSuffix=function(a,b){if(!a.length)return 0;if(1==a.length)return a[0].length;for(var c=0,d=b||Blockly.utils.shortestStringLength(a),e=0;e\u003cd;e++){for(var f=a[0].substr(-e-1,1),g=1;g\u003ca.length;g++)if(f!=a[g].substr(-e-1,1))return c;\" \"==f\u0026\u0026(c=e+1)}for(g=1;g\u003ca.length;g++)if((f=a[g].charAt(a[g].length-e-1))\u0026\u0026\" \"!=f)return c;return d};Blockly.utils.tokenizeInterpolation=function(a){return Blockly.utils.tokenizeInterpolation_(a,!0)};\nBlockly.utils.replaceMessageReferences=function(a){if(!goog.isString(a))return a;a=Blockly.utils.tokenizeInterpolation_(a,!1);return a.length?a[0]:\"\"};Blockly.utils.checkMessageReferences=function(a){for(var b=!0,c=/%{BKY_([a-zA-Z][a-zA-Z0-9_]*)}/g,d=c.exec(a);null!=d;){var e=d[1];null==Blockly.Msg[e]\u0026\u0026(console.log(\"WARNING: No message string for %{BKY_\"+e+\"}.\"),b=!1);a=a.substring(d.index+e.length+1);d=c.exec(a)}return b};\nBlockly.utils.tokenizeInterpolation_=function(a,b){var c=[],d=a.split(\"\");d.push(\"\");for(var e=0,f=[],g=null,h=0;h\u003cd.length;h++){var k=d[h];0==e?\"%\"==k?((k=f.join(\"\"))\u0026\u0026c.push(k),f.length=0,e=1):f.push(k):1==e?\"%\"==k?(f.push(k),e=0):b\u0026\u0026\"0\"\u003c=k\u0026\u0026\"9\"\u003e=k?(e=2,g=k,(k=f.join(\"\"))\u0026\u0026c.push(k),f.length=0):\"{\"==k?e=3:(f.push(\"%\",k),e=0):2==e?\"0\"\u003c=k\u0026\u0026\"9\"\u003e=k?g+=k:(c.push(parseInt(g,10)),h--,e=0):3==e\u0026\u0026(\"\"==k?(f.splice(0,0,\"%{\"),h--,e=0):\"}\"!=k?f.push(k):(e=f.join(\"\"),/[a-zA-Z][a-zA-Z0-9_]*/.test(e)?(k=e.toUpperCase(),\n(k=goog.string.startsWith(k,\"BKY_\")?k.substring(4):null)\u0026\u0026k in Blockly.Msg?(e=Blockly.Msg[k],goog.isString(e)?Array.prototype.push.apply(c,Blockly.utils.tokenizeInterpolation(e)):b?c.push(String(e)):c.push(e)):c.push(\"%{\"+e+\"}\")):c.push(\"%{\"+e+\"}\"),e=f.length=0))}(k=f.join(\"\"))\u0026\u0026c.push(k);d=[];for(h=f.length=0;h\u003cc.length;++h)\"string\"==typeof c[h]?f.push(c[h]):((k=f.join(\"\"))\u0026\u0026d.push(k),f.length=0,d.push(c[h]));(k=f.join(\"\"))\u0026\u0026d.push(k);f.length=0;return d};\nBlockly.utils.genUid=function(){for(var a=Blockly.utils.genUid.soup_.length,b=[],c=0;20\u003ec;c++)b[c]=Blockly.utils.genUid.soup_.charAt(Math.random()*a);return b.join(\"\")};Blockly.utils.genUid.soup_=\"!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";Blockly.utils.wrap=function(a,b){for(var c=a.split(\"\\n\"),d=0;d\u003cc.length;d++)c[d]=Blockly.utils.wrapLine_(c[d],b);return c.join(\"\\n\")};\nBlockly.utils.wrapLine_=function(a,b){if(a.length\u003c=b)return a;for(var c=a.trim().split(/\\s+/),d=0;d\u003cc.length;d++)c[d].length\u003eb\u0026\u0026(b=c[d].length);d=-Infinity;var e=1;do{var f=d;var g=a;var h=[],k=c.length/e,m=1;for(d=0;d\u003cc.length-1;d++)m\u003c(d+1.5)/k?(m++,h[d]=!0):h[d]=!1;h=Blockly.utils.wrapMutate_(c,h,b);d=Blockly.utils.wrapScore_(c,h,b);a=Blockly.utils.wrapToText_(c,h);e++}while(d\u003ef);return g};\nBlockly.utils.wrapScore_=function(a,b,c){for(var d=[0],e=[],f=0;f\u003ca.length;f++)d[d.length-1]+=a[f].length,!0===b[f]?(d.push(0),e.push(a[f].charAt(a[f].length-1))):!1===b[f]\u0026\u0026d[d.length-1]++;a=Math.max.apply(Math,d);for(f=b=0;f\u003cd.length;f++)b-=2*Math.pow(Math.abs(c-d[f]),1.5),b-=Math.pow(a-d[f],1.5),-1!=\".?!\".indexOf(e[f])?b+=c/3:-1!=\",;)]}\".indexOf(e[f])\u0026\u0026(b+=c/4);1\u003cd.length\u0026\u0026d[d.length-1]\u003c=d[d.length-2]\u0026\u0026(b+=.5);return b};\nBlockly.utils.wrapMutate_=function(a,b,c){for(var d=Blockly.utils.wrapScore_(a,b,c),e,f=0;f\u003cb.length-1;f++)if(b[f]!=b[f+1]){var g=[].concat(b);g[f]=!g[f];g[f+1]=!g[f+1];var h=Blockly.utils.wrapScore_(a,g,c);h\u003ed\u0026\u0026(d=h,e=g)}return e?Blockly.utils.wrapMutate_(a,e,c):b};Blockly.utils.wrapToText_=function(a,b){for(var c=[],d=0;d\u003ca.length;d++)c.push(a[d]),void 0!==b[d]\u0026\u0026c.push(b[d]?\"\\n\":\" \");return c.join(\"\")};\nBlockly.utils.measureText=function(a,b,c,d){var e=document.createElement(\"canvas\").getContext(\"2d\");e.font=c+\" \"+a+\" \"+b;return e.measureText(d).width};Blockly.utils.encodeEntities=function(a){return a.replace(/[\\u00A0-\\u9999\u003c\u003e\\\u0026]/gim,function(a){return\"\u0026#\"+a.charCodeAt(0)+\";\"})};\nBlockly.utils.is3dSupported=function(){if(void 0!==Blockly.utils.is3dSupported.cached_)return Blockly.utils.is3dSupported.cached_;if(!goog.global.getComputedStyle)return!1;var a=document.createElement(\"p\"),b=\"none\",c={webkitTransform:\"-webkit-transform\",OTransform:\"-o-transform\",msTransform:\"-ms-transform\",MozTransform:\"-moz-transform\",transform:\"transform\"};document.body.insertBefore(a,null);for(var d in c)if(void 0!==a.style[d]){a.style[d]=\"translate3d(1px,1px,1px)\";b=goog.global.getComputedStyle(a);\nif(!b)return document.body.removeChild(a),!1;b=b.getPropertyValue(c[d])}document.body.removeChild(a);Blockly.utils.is3dSupported.cached_=\"none\"!==b;return Blockly.utils.is3dSupported.cached_};Blockly.utils.insertAfter_=function(a,b){var c=b.nextSibling,d=b.parentNode;if(!d)throw\"Reference node has no parent.\";c?d.insertBefore(a,c):d.appendChild(a)};\nBlockly.utils.runAfterPageLoad=function(a){if(!document)throw Error(\"Blockly.utils.runAfterPageLoad() requires browser document.\");if(\"complete\"===document.readyState)a();else var b=setInterval(function(){\"complete\"===document.readyState\u0026\u0026(clearInterval(b),a())},10)};Blockly.utils.setCssTransform=function(a,b){a.style.transform=b;a.style[\"-webkit-transform\"]=b};\nBlockly.utils.changeObscuredShadowIds=function(a){a=a.getDescendants();for(var b=a.length-1;0\u003c=b;b--)for(var c=a[b],d=0;d\u003cc.inputList.length;d++){var e=c.inputList[d].connection;if(e){var f=e.getShadowDom();f\u0026\u0026(f.setAttribute(\"id\",Blockly.utils.genUid()),e.setShadowDom(f))}}};Blockly.utils.isShadowArgumentReporter=function(a){return a.isShadow()\u0026\u0026(\"argument_reporter_boolean\"==a.type||\"argument_reporter_string_number\"==a.type)};Blockly.Grid=function(a,b){this.gridPattern_=a;this.spacing_=b.spacing;this.length_=b.length;this.line2_=(this.line1_=a.firstChild)\u0026\u0026this.line1_.nextSibling;this.snapToGrid_=b.snap};Blockly.Grid.prototype.scale_=1;Blockly.Grid.prototype.dispose=function(){this.gridPattern_=null};Blockly.Grid.prototype.shouldSnap=function(){return this.snapToGrid_};Blockly.Grid.prototype.getSpacing=function(){return this.spacing_};Blockly.Grid.prototype.getPatternId=function(){return this.gridPattern_.id};\nBlockly.Grid.prototype.update=function(a){this.scale_=a;var b=this.spacing_*a||100;this.gridPattern_.setAttribute(\"width\",b);this.gridPattern_.setAttribute(\"height\",b);b=Math.floor(this.spacing_/2)+.5;var c=b-this.length_/2,d=b+this.length_/2;b*=a;c*=a;d*=a;this.setLineAttributes_(this.line1_,a,c,d,b,b);this.setLineAttributes_(this.line2_,a,b,b,c,d)};\nBlockly.Grid.prototype.setLineAttributes_=function(a,b,c,d,e,f){a\u0026\u0026(a.setAttribute(\"stroke-width\",b),a.setAttribute(\"x1\",c),a.setAttribute(\"y1\",e),a.setAttribute(\"x2\",d),a.setAttribute(\"y2\",f))};Blockly.Grid.prototype.moveTo=function(a,b){this.gridPattern_.setAttribute(\"x\",a);this.gridPattern_.setAttribute(\"y\",b);(goog.userAgent.IE||goog.userAgent.EDGE)\u0026\u0026this.update(this.scale_)};\nBlockly.Grid.createDom=function(a,b,c){a=Blockly.utils.createSvgElement(\"pattern\",{id:\"blocklyGridPattern\"+a,patternUnits:\"userSpaceOnUse\"},c);0\u003cb.length\u0026\u00260\u003cb.spacing\u0026\u0026(Blockly.utils.createSvgElement(\"line\",{stroke:b.colour},a),1\u003cb.length\u0026\u0026Blockly.utils.createSvgElement(\"line\",{stroke:b.colour},a));return a};Blockly.Options=function(a){var b=!!a.readOnly;if(b)var c=null,d=!1,e=!1,f=!1,g=!1,h=!1,k=!1;else a.toolbox||(c=(new DOMParser).parseFromString(Blockly.Blocks.defaultToolbox,\"text/xml\"),a.toolbox=c.documentElement),c=Blockly.Options.parseToolboxTree(a.toolbox),d=!(!c||!c.getElementsByTagName(\"category\").length),e=a.trashcan,void 0===e\u0026\u0026(e=!1),f=a.collapse,void 0===f\u0026\u0026(f=d),g=a.comments,void 0===g\u0026\u0026(g=d),h=a.disable,void 0===h\u0026\u0026(h=d),k=a.sounds,void 0===k\u0026\u0026(k=!0);var m=!!a.rtl,l=a.horizontalLayout;\nvoid 0===l\u0026\u0026(l=!1);var n=a.toolboxPosition;n=\"end\"===n?!1:!0;n=l?n?Blockly.TOOLBOX_AT_TOP:Blockly.TOOLBOX_AT_BOTTOM:n==m?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT;var p=a.scrollbars;void 0===p\u0026\u0026(p=d);var q=a.css;void 0===q\u0026\u0026(q=!0);var r=\"https://blockly-demo.appspot.com/static/media/\";a.media?r=a.media:a.path\u0026\u0026(r=a.path+\"media/\");var w=void 0===a.oneBasedIndex?!0:!!a.oneBasedIndex,v=!!a.realtime,x=v?a.realtimeOptions:void 0,t=a.colours;if(t)for(var u in t)t.hasOwnProperty(u)\u0026\u0026Blockly.Colours.hasOwnProperty(u)\u0026\u0026\n(Blockly.Colours[u]=t[u]);this.RTL=m;this.oneBasedIndex=w;this.collapse=f;this.comments=g;this.disable=h;this.readOnly=b;this.pathToMedia=r;this.hasCategories=d;this.hasScrollbars=p;this.hasTrashcan=e;this.hasSounds=k;this.hasCss=q;this.horizontalLayout=l;this.languageTree=c;this.gridOptions=Blockly.Options.parseGridOptions_(a);this.zoomOptions=Blockly.Options.parseZoomOptions_(a);this.enableRealtime=v;this.realtimeOptions=x;this.toolboxPosition=n};Blockly.Options.prototype.parentWorkspace=null;\nBlockly.Options.prototype.setMetrics=null;Blockly.Options.prototype.getMetrics=null;Blockly.Options.parseZoomOptions_=function(a){a=a.zoom||{};var b={};b.controls=void 0===a.controls?!1:!!a.controls;b.wheel=void 0===a.wheel?!1:!!a.wheel;b.startScale=void 0===a.startScale?1:parseFloat(a.startScale);b.maxScale=void 0===a.maxScale?3:parseFloat(a.maxScale);b.minScale=void 0===a.minScale?.3:parseFloat(a.minScale);b.scaleSpeed=void 0===a.scaleSpeed?1.2:parseFloat(a.scaleSpeed);return b};\nBlockly.Options.parseGridOptions_=function(a){a=a.grid||{};var b={};b.spacing=parseFloat(a.spacing)||0;b.colour=a.colour||\"#888\";b.length=parseFloat(a.length)||1;b.snap=0\u003cb.spacing\u0026\u0026!!a.snap;return b};Blockly.Options.parseToolboxTree=function(a){a?(\"string\"!=typeof a\u0026\u0026(\"undefined\"==typeof XSLTProcessor\u0026\u0026a.outerHTML?a=a.outerHTML:a instanceof Element||(a=null)),\"string\"==typeof a\u0026\u0026(a=Blockly.Xml.textToDom(a))):a=null;return a};Blockly.ScrollbarPair=function(a){this.workspace_=a;this.hScroll=new Blockly.Scrollbar(a,!0,!0,\"blocklyMainWorkspaceScrollbar\");this.vScroll=new Blockly.Scrollbar(a,!1,!0,\"blocklyMainWorkspaceScrollbar\");this.corner_=Blockly.utils.createSvgElement(\"rect\",{height:Blockly.Scrollbar.scrollbarThickness,width:Blockly.Scrollbar.scrollbarThickness,\"class\":\"blocklyScrollbarBackground\"},null);Blockly.utils.insertAfter_(this.corner_,a.getBubbleCanvas())};Blockly.ScrollbarPair.prototype.oldHostMetrics_=null;\nBlockly.ScrollbarPair.prototype.dispose=function(){goog.dom.removeNode(this.corner_);this.oldHostMetrics_=this.workspace_=this.corner_=null;this.hScroll.dispose();this.hScroll=null;this.vScroll.dispose();this.vScroll=null};\nBlockly.ScrollbarPair.prototype.resize=function(){var a=this.workspace_.getMetrics();if(a){var b=!1,c=!1;this.oldHostMetrics_\u0026\u0026this.oldHostMetrics_.viewWidth==a.viewWidth\u0026\u0026this.oldHostMetrics_.viewHeight==a.viewHeight\u0026\u0026this.oldHostMetrics_.absoluteTop==a.absoluteTop\u0026\u0026this.oldHostMetrics_.absoluteLeft==a.absoluteLeft?(this.oldHostMetrics_\u0026\u0026this.oldHostMetrics_.contentWidth==a.contentWidth\u0026\u0026this.oldHostMetrics_.viewLeft==a.viewLeft\u0026\u0026this.oldHostMetrics_.contentLeft==a.contentLeft||(b=!0),this.oldHostMetrics_\u0026\u0026\nthis.oldHostMetrics_.contentHeight==a.contentHeight\u0026\u0026this.oldHostMetrics_.viewTop==a.viewTop\u0026\u0026this.oldHostMetrics_.contentTop==a.contentTop||(c=!0)):c=b=!0;b\u0026\u0026this.hScroll.resize(a);c\u0026\u0026this.vScroll.resize(a);this.oldHostMetrics_\u0026\u0026this.oldHostMetrics_.viewWidth==a.viewWidth\u0026\u0026this.oldHostMetrics_.absoluteLeft==a.absoluteLeft||this.corner_.setAttribute(\"x\",this.vScroll.position_.x);this.oldHostMetrics_\u0026\u0026this.oldHostMetrics_.viewHeight==a.viewHeight\u0026\u0026this.oldHostMetrics_.absoluteTop==a.absoluteTop||this.corner_.setAttribute(\"y\",\nthis.hScroll.position_.y);this.oldHostMetrics_=a}};Blockly.ScrollbarPair.prototype.set=function(a,b){var c={},d=a*this.hScroll.ratio_,e=b*this.vScroll.ratio_,f=this.vScroll.scrollViewSize_;c.x=this.getRatio_(d,this.hScroll.scrollViewSize_);c.y=this.getRatio_(e,f);this.workspace_.setMetrics(c);this.hScroll.setHandlePosition(d);this.vScroll.setHandlePosition(e)};Blockly.ScrollbarPair.prototype.getRatio_=function(a,b){var c=a/b;return isNaN(c)?0:c};\nBlockly.Scrollbar=function(a,b,c,d){this.workspace_=a;this.pair_=c||!1;this.horizontal_=b;this.oldHostMetrics_=null;this.createDom_(d);this.position_=new goog.math.Coordinate(0,0);b?(this.svgBackground_.setAttribute(\"height\",Blockly.Scrollbar.scrollbarThickness),this.outerSvg_.setAttribute(\"height\",Blockly.Scrollbar.scrollbarThickness),this.svgHandle_.setAttribute(\"height\",Blockly.Scrollbar.scrollbarThickness-5),this.svgHandle_.setAttribute(\"y\",2.5),this.lengthAttribute_=\"width\",this.positionAttribute_=\n\"x\"):(this.svgBackground_.setAttribute(\"width\",Blockly.Scrollbar.scrollbarThickness),this.outerSvg_.setAttribute(\"width\",Blockly.Scrollbar.scrollbarThickness),this.svgHandle_.setAttribute(\"width\",Blockly.Scrollbar.scrollbarThickness-5),this.svgHandle_.setAttribute(\"x\",2.5),this.lengthAttribute_=\"height\",this.positionAttribute_=\"y\");this.onMouseDownBarWrapper_=Blockly.bindEventWithChecks_(this.svgBackground_,\"mousedown\",this,this.onMouseDownBar_);this.onMouseDownHandleWrapper_=Blockly.bindEventWithChecks_(this.svgHandle_,\n\"mousedown\",this,this.onMouseDownHandle_)};Blockly.Scrollbar.prototype.origin_=new goog.math.Coordinate(0,0);Blockly.Scrollbar.prototype.originHasChanged_=!0;Blockly.Scrollbar.prototype.scrollViewSize_=0;Blockly.Scrollbar.prototype.handleLength_=0;Blockly.Scrollbar.prototype.handlePosition_=0;Blockly.Scrollbar.prototype.isVisible_=!0;Blockly.Scrollbar.prototype.containerVisible_=!0;Blockly.Scrollbar.scrollbarThickness=11;\ngoog.events.BrowserFeature.TOUCH_ENABLED\u0026\u0026(Blockly.Scrollbar.scrollbarThickness=25);Blockly.Scrollbar.metricsAreEquivalent_=function(a,b){return a\u0026\u0026b\u0026\u0026a.viewWidth==b.viewWidth\u0026\u0026a.viewHeight==b.viewHeight\u0026\u0026a.viewLeft==b.viewLeft\u0026\u0026a.viewTop==b.viewTop\u0026\u0026a.absoluteTop==b.absoluteTop\u0026\u0026a.absoluteLeft==b.absoluteLeft\u0026\u0026a.contentWidth==b.contentWidth\u0026\u0026a.contentHeight==b.contentHeight\u0026\u0026a.contentLeft==b.contentLeft\u0026\u0026a.contentTop==b.contentTop?!0:!1};\nBlockly.Scrollbar.prototype.dispose=function(){this.cleanUp_();Blockly.unbindEvent_(this.onMouseDownBarWrapper_);this.onMouseDownBarWrapper_=null;Blockly.unbindEvent_(this.onMouseDownHandleWrapper_);this.onMouseDownHandleWrapper_=null;goog.dom.removeNode(this.outerSvg_);this.workspace_=this.svgHandle_=this.svgBackground_=this.svgGroup_=this.outerSvg_=null};Blockly.Scrollbar.prototype.setHandleLength_=function(a){this.handleLength_=a;this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)};\nBlockly.Scrollbar.prototype.setHandlePosition=function(a){this.handlePosition_=a;this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)};Blockly.Scrollbar.prototype.setScrollViewSize_=function(a){this.scrollViewSize_=a;this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollViewSize_);this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollViewSize_)};Blockly.ScrollbarPair.prototype.setContainerVisible=function(a){this.hScroll.setContainerVisible(a);this.vScroll.setContainerVisible(a)};\nBlockly.Scrollbar.prototype.setPosition=function(a,b){this.position_.x=a;this.position_.y=b;Blockly.utils.setCssTransform(this.outerSvg_,\"translate(\"+(this.position_.x+this.origin_.x)+\"px,\"+(this.position_.y+this.origin_.y)+\"px)\")};\nBlockly.Scrollbar.prototype.resize=function(a){if(!a\u0026\u0026(a=this.workspace_.getMetrics(),!a))return;if(this.originHasChanged_)this.originHasChanged_=!1;else if(Blockly.Scrollbar.metricsAreEquivalent_(a,this.oldHostMetrics_))return;this.oldHostMetrics_=a;this.horizontal_?this.resizeHorizontal_(a):this.resizeVertical_(a);this.onScroll_()};Blockly.Scrollbar.prototype.resizeHorizontal_=function(a){this.resizeViewHorizontal(a)};\nBlockly.Scrollbar.prototype.resizeViewHorizontal=function(a){var b=a.viewWidth-1;this.pair_\u0026\u0026(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollViewSize_(Math.max(0,b));b=a.absoluteLeft+.5;this.pair_\u0026\u0026this.workspace_.RTL\u0026\u0026(b+=Blockly.Scrollbar.scrollbarThickness);this.setPosition(b,a.absoluteTop+a.viewHeight-Blockly.Scrollbar.scrollbarThickness-.5);this.resizeContentHorizontal(a)};\nBlockly.Scrollbar.prototype.resizeContentHorizontal=function(a){this.pair_||this.setVisible(this.scrollViewSize_\u003ca.contentWidth);this.ratio_=this.scrollViewSize_/a.contentWidth;if(-Infinity==this.ratio_||Infinity==this.ratio_||isNaN(this.ratio_))this.ratio_=0;this.setHandleLength_(Math.max(0,a.viewWidth*this.ratio_));this.setHandlePosition(this.constrainHandle_((a.viewLeft-a.contentLeft)*this.ratio_))};Blockly.Scrollbar.prototype.resizeVertical_=function(a){this.resizeViewVertical(a)};\nBlockly.Scrollbar.prototype.resizeViewVertical=function(a){var b=a.viewHeight-1;this.pair_\u0026\u0026(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollViewSize_(Math.max(0,b));b=a.absoluteLeft+.5;this.workspace_.RTL||(b+=a.viewWidth-Blockly.Scrollbar.scrollbarThickness-1);this.setPosition(b,a.absoluteTop+.5);this.resizeContentVertical(a)};\nBlockly.Scrollbar.prototype.resizeContentVertical=function(a){this.pair_||this.setVisible(this.scrollViewSize_\u003ca.contentHeight);this.ratio_=this.scrollViewSize_/a.contentHeight;if(-Infinity==this.ratio_||Infinity==this.ratio_||isNaN(this.ratio_))this.ratio_=0;this.setHandleLength_(Math.max(0,a.viewHeight*this.ratio_));this.setHandlePosition(this.constrainHandle_((a.viewTop-a.contentTop)*this.ratio_))};\nBlockly.Scrollbar.prototype.createDom_=function(a){var b=\"blocklyScrollbar\"+(this.horizontal_?\"Horizontal\":\"Vertical\");a\u0026\u0026(b+=\" \"+a);this.outerSvg_=Blockly.utils.createSvgElement(\"svg\",{\"class\":b},null);this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{},this.outerSvg_);this.svgBackground_=Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyScrollbarBackground\"},this.svgGroup_);a=Math.floor((Blockly.Scrollbar.scrollbarThickness-5)/2);this.svgHandle_=Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyScrollbarHandle\",\nrx:a,ry:a},this.svgGroup_);Blockly.utils.insertAfter_(this.outerSvg_,this.workspace_.getParentSvg())};Blockly.Scrollbar.prototype.isVisible=function(){return this.isVisible_};Blockly.Scrollbar.prototype.setContainerVisible=function(a){var b=a!=this.containerVisible_;this.containerVisible_=a;b\u0026\u0026this.updateDisplay_()};Blockly.Scrollbar.prototype.setVisible=function(a){var b=a!=this.isVisible();if(this.pair_)throw\"Unable to toggle visibility of paired scrollbars.\";this.isVisible_=a;b\u0026\u0026this.updateDisplay_()};\nBlockly.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_\u0026\u0026this.isVisible()?this.outerSvg_.setAttribute(\"display\",\"block\"):this.outerSvg_.setAttribute(\"display\",\"none\")};\nBlockly.Scrollbar.prototype.onMouseDownBar_=function(a){this.workspace_.markFocused();Blockly.Touch.clearTouchIdentifier();this.cleanUp_();if(Blockly.utils.isRightButton(a))a.stopPropagation();else{var b=Blockly.utils.mouseToSvg(a,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());b=this.horizontal_?b.x:b.y;var c=Blockly.utils.getInjectionDivXY_(this.svgHandle_);c=this.horizontal_?c.x:c.y;var d=this.handlePosition_,e=.95*this.handleLength_;b\u003c=c?d-=e:b\u003e=c+this.handleLength_\u0026\u0026(d+=\ne);Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation();this.setHandlePosition(this.constrainHandle_(d));this.onScroll_();a.stopPropagation();a.preventDefault()}};\nBlockly.Scrollbar.prototype.onMouseDownHandle_=function(a){this.workspace_.markFocused();this.cleanUp_();Blockly.utils.isRightButton(a)?a.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse=this.horizontal_?a.clientX:a.clientY,Blockly.Scrollbar.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,\"mouseup\",this,this.onMouseUpHandle_),Blockly.Scrollbar.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,\"mousemove\",this,this.onMouseMoveHandle_),\nBlockly.WidgetDiv.hide(!0),Blockly.DropDownDiv.hideWithoutAnimation(),a.stopPropagation(),a.preventDefault())};Blockly.Scrollbar.prototype.onMouseMoveHandle_=function(a){this.setHandlePosition(this.constrainHandle_(this.startDragHandle+((this.horizontal_?a.clientX:a.clientY)-this.startDragMouse)));this.onScroll_()};Blockly.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface();Blockly.Touch.clearTouchIdentifier();this.cleanUp_()};\nBlockly.Scrollbar.prototype.cleanUp_=function(){Blockly.hideChaff(!0);Blockly.Scrollbar.onMouseUpWrapper_\u0026\u0026(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseUpWrapper_),Blockly.Scrollbar.onMouseUpWrapper_=null);Blockly.Scrollbar.onMouseMoveWrapper_\u0026\u0026(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseMoveWrapper_),Blockly.Scrollbar.onMouseMoveWrapper_=null)};\nBlockly.Scrollbar.prototype.constrainHandle_=function(a){return a=0\u003e=a||isNaN(a)||this.scrollViewSize_\u003cthis.handleLength_?0:Math.min(a,this.scrollViewSize_-this.handleLength_)};Blockly.Scrollbar.prototype.onScroll_=function(){var a=this.handlePosition_/this.scrollViewSize_;isNaN(a)\u0026\u0026(a=0);var b={};this.horizontal_?b.x=a:b.y=a;this.workspace_.setMetrics(b)};Blockly.Scrollbar.prototype.set=function(a){this.setHandlePosition(this.constrainHandle_(a*this.ratio_));this.onScroll_()};\nBlockly.Scrollbar.prototype.setOrigin=function(a,b){if(a!=this.origin_.x||b!=this.origin_.y)this.origin_=new goog.math.Coordinate(a,b),this.originHasChanged_=!0};Blockly.Trashcan=function(a){this.workspace_=a};Blockly.Trashcan.prototype.WIDTH_=47;Blockly.Trashcan.prototype.BODY_HEIGHT_=44;Blockly.Trashcan.prototype.LID_HEIGHT_=16;Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20;Blockly.Trashcan.prototype.MARGIN_SIDE_=20;Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10;Blockly.Trashcan.prototype.SPRITE_LEFT_=0;Blockly.Trashcan.prototype.SPRITE_TOP_=32;Blockly.Trashcan.prototype.isOpen=!1;Blockly.Trashcan.prototype.svgGroup_=null;\nBlockly.Trashcan.prototype.svgLid_=null;Blockly.Trashcan.prototype.lidTask_=0;Blockly.Trashcan.prototype.lidOpen_=0;Blockly.Trashcan.prototype.left_=0;Blockly.Trashcan.prototype.top_=0;\nBlockly.Trashcan.prototype.createDom=function(){this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyTrash\"},null);var a=String(Math.random()).substring(2),b=Blockly.utils.createSvgElement(\"clipPath\",{id:\"blocklyTrashBodyClipPath\"+a},this.svgGroup_);Blockly.utils.createSvgElement(\"rect\",{width:this.WIDTH_,height:this.BODY_HEIGHT_,y:this.LID_HEIGHT_},b);Blockly.utils.createSvgElement(\"image\",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,\n\"clip-path\":\"url(#blocklyTrashBodyClipPath\"+a+\")\"},this.svgGroup_).setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);b=Blockly.utils.createSvgElement(\"clipPath\",{id:\"blocklyTrashLidClipPath\"+a},this.svgGroup_);Blockly.utils.createSvgElement(\"rect\",{width:this.WIDTH_,height:this.LID_HEIGHT_},b);this.svgLid_=Blockly.utils.createSvgElement(\"image\",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,\n\"clip-path\":\"url(#blocklyTrashLidClipPath\"+a+\")\"},this.svgGroup_);this.svgLid_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);Blockly.bindEventWithChecks_(this.svgGroup_,\"mouseup\",this,this.click);this.animateLid_();return this.svgGroup_};Blockly.Trashcan.prototype.init=function(a){this.bottom_=this.MARGIN_BOTTOM_+a;this.setOpen_(!1);return this.bottom_+this.BODY_HEIGHT_+this.LID_HEIGHT_};\nBlockly.Trashcan.prototype.dispose=function(){this.svgGroup_\u0026\u0026(goog.dom.removeNode(this.svgGroup_),this.svgGroup_=null);this.workspace_=this.svgLid_=null;clearTimeout(this.lidTask_)};\nBlockly.Trashcan.prototype.position=function(){var a=this.workspace_.getMetrics();a\u0026\u0026(this.workspace_.RTL?(this.left_=this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_LEFT\u0026\u0026(this.left_+=a.flyoutWidth,this.workspace_.toolbox_\u0026\u0026(this.left_+=a.absoluteLeft))):(this.left_=a.viewWidth+a.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT\u0026\u0026(this.left_-=a.flyoutWidth)),this.top_=a.viewHeight+\na.absoluteTop-(this.BODY_HEIGHT_+this.LID_HEIGHT_)-this.bottom_,a.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM\u0026\u0026(this.top_-=a.flyoutHeight),this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.left_+\",\"+this.top_+\")\"))};\nBlockly.Trashcan.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect();return new goog.math.Rect(a.left+this.SPRITE_LEFT_-this.MARGIN_HOTSPOT_,a.top+this.SPRITE_TOP_-this.MARGIN_HOTSPOT_,this.WIDTH_+2*this.MARGIN_HOTSPOT_,this.LID_HEIGHT_+this.BODY_HEIGHT_+2*this.MARGIN_HOTSPOT_)};Blockly.Trashcan.prototype.setOpen_=function(a){this.isOpen!=a\u0026\u0026(clearTimeout(this.lidTask_),this.isOpen=a,this.animateLid_())};\nBlockly.Trashcan.prototype.animateLid_=function(){this.lidOpen_+=this.isOpen?.2:-.2;this.lidOpen_=goog.math.clamp(this.lidOpen_,0,1);var a=45*this.lidOpen_;this.svgLid_.setAttribute(\"transform\",\"rotate(\"+(this.workspace_.RTL?-a:a)+\",\"+(this.workspace_.RTL?4:this.WIDTH_-4)+\",\"+(this.LID_HEIGHT_-2)+\")\");a=goog.math.lerp(.4,.8,this.lidOpen_);this.svgGroup_.style.opacity=a;0\u003cthis.lidOpen_\u0026\u00261\u003ethis.lidOpen_\u0026\u0026(this.lidTask_=setTimeout(this.animateLid_.bind(this),20))};Blockly.Trashcan.prototype.close=function(){this.setOpen_(!1)};\nBlockly.Trashcan.prototype.click=function(){var a=this.workspace_.startScrollX-this.workspace_.scrollX,b=this.workspace_.startScrollY-this.workspace_.scrollY;Math.sqrt(a*a+b*b)\u003eBlockly.DRAG_RADIUS||console.log(\"TODO: Inspect trash.\")};Blockly.WorkspaceAudio=function(a){this.parentWorkspace_=a;this.SOUNDS_=Object.create(null)};Blockly.WorkspaceAudio.prototype.lastSound_=null;Blockly.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null};Blockly.WorkspaceAudio.prototype.load=function(a,b){if(a.length){try{var c=new window.Audio}catch(h){return}for(var d,e=0;e\u003ca.length;e++){var f=a[e],g=f.match(/\\.(\\w+)$/);if(g\u0026\u0026c.canPlayType(\"audio/\"+g[1])){d=new window.Audio(f);break}}d\u0026\u0026d.play\u0026\u0026(this.SOUNDS_[b]=d)}};\nBlockly.WorkspaceAudio.prototype.preload=function(){for(var a in this.SOUNDS_){var b=this.SOUNDS_[a];b.volume=.01;b.play();b.pause();if(goog.userAgent.IPAD||goog.userAgent.IPHONE)break}};\nBlockly.WorkspaceAudio.prototype.play=function(a,b){var c=this.SOUNDS_[a];if(c){var d=new Date;null!=this.lastSound_\u0026\u0026d-this.lastSound_\u003cBlockly.SOUND_LIMIT||(this.lastSound_=d,c=goog.userAgent.DOCUMENT_MODE\u0026\u00269===goog.userAgent.DOCUMENT_MODE||goog.userAgent.IPAD||goog.userAgent.ANDROID?c:c.cloneNode(),c.volume=void 0===b?1:b,c.play())}else this.parentWorkspace_\u0026\u0026this.parentWorkspace_.getAudioManager().play(a,b)};Blockly.WorkspaceDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.dragGroup_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null;\nBlockly.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.createSvgElement(\"svg\",{xmlns:Blockly.SVG_NS,\"xmlns:html\":Blockly.HTML_NS,\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\",\"class\":\"blocklyWsDragSurface\"},null),this.container_.appendChild(this.SVG_))};\nBlockly.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(a,b){a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display=\"block\";Blockly.utils.setCssTransform(this.SVG_,\"translate3d(\"+a+\"px, \"+b+\"px, 0px)\")};Blockly.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return Blockly.utils.getRelativeXY(this.SVG_)};\nBlockly.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(a){var b=this.SVG_.childNodes[0],c=this.SVG_.childNodes[1];if(!(b\u0026\u0026c\u0026\u0026Blockly.utils.hasClass(b,\"blocklyBlockCanvas\")\u0026\u0026Blockly.utils.hasClass(c,\"blocklyBubbleCanvas\")))throw\"Couldn't clear and hide the drag surface. A node was missing.\";null!=this.previousSibling_?Blockly.utils.insertAfter_(b,this.previousSibling_):a.insertBefore(b,a.firstChild);Blockly.utils.insertAfter_(c,b);this.SVG_.style.display=\"none\";goog.asserts.assert(0==this.SVG_.childNodes.length,\n\"Drag surface was not cleared.\");Blockly.utils.setCssTransform(this.SVG_,\"\");this.previousSibling_=null};\nBlockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(a,b,c,d,e,f){goog.asserts.assert(0==this.SVG_.childNodes.length,\"Already dragging a block.\");this.previousSibling_=c;a.setAttribute(\"transform\",\"translate(0, 0) scale(\"+f+\")\");b.setAttribute(\"transform\",\"translate(0, 0) scale(\"+f+\")\");this.SVG_.setAttribute(\"width\",d);this.SVG_.setAttribute(\"height\",e);this.SVG_.appendChild(a);this.SVG_.appendChild(b);this.SVG_.style.display=\"block\"};Blockly.Xml={};Blockly.Xml.workspaceToDom=function(a,b){var c=goog.dom.createDom(\"xml\");c.appendChild(Blockly.Xml.variablesToDom(a.getAllVariables()));for(var d=a.getTopBlocks(!0),e=0,f;f=d[e];e++)c.appendChild(Blockly.Xml.blockToDomWithXY(f,b));return c};Blockly.Xml.variablesToDom=function(a){for(var b=goog.dom.createDom(\"variables\"),c=0,d;d=a[c];c++){var e=goog.dom.createDom(\"variable\",null,d.name);e.setAttribute(\"type\",d.type);e.setAttribute(\"id\",d.getId());b.appendChild(e)}return b};\nBlockly.Xml.blockToDomWithXY=function(a,b){var c;a.workspace.RTL\u0026\u0026(c=a.workspace.getWidth());var d=Blockly.Xml.blockToDom(a,b),e=a.getRelativeToSurfaceXY();d.setAttribute(\"x\",Math.round(a.workspace.RTL?c-e.x:e.x));d.setAttribute(\"y\",Math.round(e.y));return d};\nBlockly.Xml.blockToDom=function(a,b){var c=goog.dom.createDom(a.isShadow()?\"shadow\":\"block\");c.setAttribute(\"type\",a.type);b||c.setAttribute(\"id\",a.id);if(a.mutationToDom){var d=a.mutationToDom();d\u0026\u0026(d.hasChildNodes()||d.hasAttributes())\u0026\u0026c.appendChild(d)}d=0;for(var e;e=a.inputList[d];d++)for(var f=0,g;g=e.fieldRow[f];f++){var h=g;if(h.name\u0026\u0026h.EDITABLE){g=goog.dom.createDom(\"field\",null,h.getValue());g.setAttribute(\"name\",h.name);if(h instanceof Blockly.FieldVariable||h instanceof Blockly.FieldVariableGetter)if(h=\na.workspace.getVariable(h.getValue()))g.setAttribute(\"id\",h.getId()),g.setAttribute(\"variableType\",h.type);c.appendChild(g)}}if(d=a.getCommentText())d=goog.dom.createDom(\"comment\",null,d),\"object\"==typeof a.comment\u0026\u0026(d.setAttribute(\"pinned\",a.comment.isVisible()),e=a.comment.getBubbleSize(),d.setAttribute(\"h\",e.height),d.setAttribute(\"w\",e.width)),c.appendChild(d);a.data\u0026\u0026(d=goog.dom.createDom(\"data\",null,a.data),c.appendChild(d));for(d=0;e=a.inputList[d];d++){var k;g=!0;e.type!=Blockly.DUMMY_INPUT\u0026\u0026\n(h=e.connection.targetBlock(),e.type==Blockly.INPUT_VALUE?k=goog.dom.createDom(\"value\"):e.type==Blockly.NEXT_STATEMENT\u0026\u0026(k=goog.dom.createDom(\"statement\")),f=e.connection.getShadowDom(),!f||h\u0026\u0026h.isShadow()||k.appendChild(Blockly.Xml.cloneShadow_(f)),h\u0026\u0026(k.appendChild(Blockly.Xml.blockToDom(h,b)),g=!1),k.setAttribute(\"name\",e.name),g||c.appendChild(k))}a.inputsInlineDefault!=a.inputsInline\u0026\u0026c.setAttribute(\"inline\",a.inputsInline);a.isCollapsed()\u0026\u0026c.setAttribute(\"collapsed\",!0);a.disabled\u0026\u0026c.setAttribute(\"disabled\",\n!0);a.isDeletable()||a.isShadow()||c.setAttribute(\"deletable\",!1);a.isMovable()||a.isShadow()||c.setAttribute(\"movable\",!1);a.isEditable()||c.setAttribute(\"editable\",!1);if(d=a.getNextBlock())k=goog.dom.createDom(\"next\",null,Blockly.Xml.blockToDom(d,b)),c.appendChild(k);f=a.nextConnection\u0026\u0026a.nextConnection.getShadowDom();!f||d\u0026\u0026d.isShadow()||k.appendChild(Blockly.Xml.cloneShadow_(f));return c};\nBlockly.Xml.cloneShadow_=function(a){for(var b=a=a.cloneNode(!0),c;b;)if(b.firstChild)b=b.firstChild;else{for(;b\u0026\u0026!b.nextSibling;)c=b,b=b.parentNode,3==c.nodeType\u0026\u0026\"\"==c.data.trim()\u0026\u0026b.firstChild!=c\u0026\u0026goog.dom.removeNode(c);b\u0026\u0026(c=b,b=b.nextSibling,3==c.nodeType\u0026\u0026\"\"==c.data.trim()\u0026\u0026goog.dom.removeNode(c))}return a};Blockly.Xml.domToText=function(a){return(new XMLSerializer).serializeToString(a)};\nBlockly.Xml.domToPrettyText=function(a){a=Blockly.Xml.domToText(a).split(\"\u003c\");for(var b=\"\",c=1;c\u003ca.length;c++){var d=a[c];\"/\"==d[0]\u0026\u0026(b=b.substring(2));a[c]=b+\"\u003c\"+d;\"/\"!=d[0]\u0026\u0026\"/\u003e\"!=d.slice(-2)\u0026\u0026(b+=\" \")}a=a.join(\"\\n\");a=a.replace(/(\u003c(\\w+)\\b[^\u003e]*\u003e[^\\n]*)\\n *\u003c\\/\\2\u003e/g,\"$1\u003c/$2\u003e\");return a.replace(/^\\n/,\"\")};\nBlockly.Xml.textToDom=function(a){(a=(new DOMParser).parseFromString(a,\"text/xml\"))\u0026\u0026a.firstChild\u0026\u0026\"xml\"==a.firstChild.nodeName.toLowerCase()\u0026\u0026a.firstChild===a.lastChild||goog.asserts.fail(\"Blockly.Xml.textToDom did not obtain a valid XML tree.\");return a.firstChild};\nBlockly.Xml.domToWorkspace=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn(\"Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.\")}var d;b.RTL\u0026\u0026(d=b.getWidth());c=[];Blockly.Field.startCache();var e=a.childNodes.length,f=Blockly.Events.getGroup();f||Blockly.Events.setGroup(!0);b.setBulkUpdate\u0026\u0026b.setBulkUpdate(!0);var g=!0;try{for(var h=0;h\u003ce;h++){var k=a.childNodes[h],m=k.nodeName.toLowerCase();if(\"block\"==m||\"shadow\"==m\u0026\u0026!Blockly.Events.recordUndo){var l=\nBlockly.Xml.domToBlock(k,b);c.push(l.id);var n=parseInt(k.getAttribute(\"x\"),10),p=parseInt(k.getAttribute(\"y\"),10);isNaN(n)||isNaN(p)||l.moveBy(b.RTL?d-n:n,p);g=!1}else if(\"shadow\"==m)goog.asserts.fail(\"Shadow block cannot be a top-level block.\"),g=!1;else if(\"variables\"==m){if(g)Blockly.Xml.domToVariables(k,b);else throw Error(\"'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.\");g=!1}}}finally{f||Blockly.Events.setGroup(!1),\nBlockly.Field.stopCache()}b.updateVariableStore(!1);b.setBulkUpdate\u0026\u0026b.setBulkUpdate(!1);return c};\nBlockly.Xml.appendDomToWorkspace=function(a,b){if(b.hasOwnProperty(\"scale\")){var c=Blockly.BlockSvg.TAB_WIDTH;try{Blockly.BlockSvg.TAB_WIDTH=0;var d=b.getBlocksBoundingBox()}finally{Blockly.BlockSvg.TAB_WIDTH=c}}c=Blockly.Xml.domToWorkspace(a,b);if(d\u0026\u0026d.height){var e=d.y+d.height;var f=d.x;var g=Infinity,h=Infinity;for(d=0;d\u003cc.length;d++){var k=b.getBlockById(c[d]).getRelativeToSurfaceXY();k.y\u003ch\u0026\u0026(h=k.y);k.x\u003cg\u0026\u0026(g=k.x)}e=e-h+Blockly.BlockSvg.SEP_SPACE_Y;f-=g;var m;b.RTL\u0026\u0026(m=b.getWidth());for(d=0;d\u003c\nc.length;d++)b.getBlockById(c[d]).moveBy(b.RTL?m-f:f,e)}return c};\nBlockly.Xml.domToBlock=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn(\"Deprecated call to Blockly.Xml.domToBlock, swap the arguments.\")}Blockly.Events.disable();try{var d=Blockly.Xml.domToBlockHeadless_(a,b);if(b.rendered){d.setConnectionsHidden(!0);for(var e=d.getDescendants(),f=e.length-1;0\u003c=f;f--)e[f].initSvg();for(f=e.length-1;0\u003c=f;f--)e[f].render(!1);b.isFlyout?setTimeout(function(){d.workspace\u0026\u0026(goog.userAgent.IE||goog.userAgent.EDGE)\u0026\u0026d.render()},1):setTimeout(function(){d.workspace\u0026\u0026\n(d.setConnectionsHidden(!1),(goog.userAgent.IE||goog.userAgent.EDGE)\u0026\u0026d.render())},1);d.updateDisabled();b.resizeContents()}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockCreate(d));return d};Blockly.Xml.domToVariables=function(a,b){for(var c=0,d;d=a.children[c];c++){var e=d.getAttribute(\"type\"),f=d.getAttribute(\"id\");d=d.textContent;if(null===e)throw Error(\"Variable with id, \"+f+\" is without a type\");b.createVariable(d,e,f)}};\nBlockly.Xml.domToBlockHeadless_=function(a,b){var c=null,d=a.getAttribute(\"type\");goog.asserts.assert(d,\"Block type unspecified: %s\",a.outerHTML);var e=a.getAttribute(\"id\");c=b.newBlock(d,e);for(var f=null,g=0,h;h=a.childNodes[g];g++)if(3!=h.nodeType){var k=null,m=null;f=0;for(var l;l=h.childNodes[f];f++)1==l.nodeType\u0026\u0026(\"block\"==l.nodeName.toLowerCase()?k=l:\"shadow\"==l.nodeName.toLowerCase()\u0026\u0026(m=l));!k\u0026\u0026m\u0026\u0026(k=m);f=h.getAttribute(\"name\");switch(h.nodeName.toLowerCase()){case \"mutation\":c.domToMutation\u0026\u0026\n(c.domToMutation(h),c.initSvg\u0026\u0026c.initSvg());break;case \"comment\":c.setCommentText(h.textContent);var n=h.getAttribute(\"pinned\");n\u0026\u0026!c.isInFlyout\u0026\u0026setTimeout(function(){c.comment\u0026\u0026c.comment.setVisible\u0026\u0026c.comment.setVisible(\"true\"==n)},1);f=parseInt(h.getAttribute(\"w\"),10);h=parseInt(h.getAttribute(\"h\"),10);!isNaN(f)\u0026\u0026!isNaN(h)\u0026\u0026c.comment\u0026\u0026c.comment.setVisible\u0026\u0026c.comment.setBubbleSize(f,h);break;case \"data\":c.data=h.textContent;break;case \"title\":case \"field\":k=c.getField(f);m=h.textContent;if(k instanceof\nBlockly.FieldVariable||k instanceof Blockly.FieldVariableGetter){l=h.getAttribute(\"variableType\")||\"\";var p=b.getVariable(m);p||(p=b.createVariable(m,l,h.getAttribute(e)));if(null!==l\u0026\u0026l!==p.type)throw Error(\"Serialized variable type with id '\"+p.getId()+\"' had type \"+p.type+\", and does not match variable field that references it: \"+Blockly.Xml.domToText(h)+\".\");}if(!k){console.warn(\"Ignoring non-existent field \"+f+\" in block \"+d);break}k.setValue(m);break;case \"value\":case \"statement\":h=c.getInput(f);\nif(!h){console.warn(\"Ignoring non-existent input \"+f+\" in block \"+d);break}m\u0026\u0026h.connection.setShadowDom(m);k\u0026\u0026(f=Blockly.Xml.domToBlockHeadless_(k,b),f.outputConnection?h.connection.connect(f.outputConnection):f.previousConnection?h.connection.connect(f.previousConnection):goog.asserts.fail(\"Child block does not have output or previous statement.\"));break;case \"next\":m\u0026\u0026c.nextConnection\u0026\u0026c.nextConnection.setShadowDom(m);k\u0026\u0026(goog.asserts.assert(c.nextConnection,\"Next statement does not exist.\"),goog.asserts.assert(!c.nextConnection.isConnected(),\n\"Next statement is already connected.\"),f=Blockly.Xml.domToBlockHeadless_(k,b),goog.asserts.assert(f.previousConnection,\"Next block does not have previous statement.\"),c.nextConnection.connect(f.previousConnection));break;default:console.warn(\"Ignoring unknown tag: \"+h.nodeName)}}(g=a.getAttribute(\"inline\"))\u0026\u0026c.setInputsInline(\"true\"==g);(g=a.getAttribute(\"disabled\"))\u0026\u0026c.setDisabled(\"true\"==g);(g=a.getAttribute(\"deletable\"))\u0026\u0026c.setDeletable(\"true\"==g);(g=a.getAttribute(\"movable\"))\u0026\u0026c.setMovable(\"true\"==\ng);(g=a.getAttribute(\"editable\"))\u0026\u0026c.setEditable(\"true\"==g);(g=a.getAttribute(\"collapsed\"))\u0026\u0026c.setCollapsed(\"true\"==g);if(\"shadow\"==a.nodeName.toLowerCase()){d=c.getChildren();for(g=0;e=d[g];g++)goog.asserts.assert(e.isShadow(),\"Shadow block not allowed non-shadow child.\");goog.asserts.assert(0==c.getVars().length,\"Shadow blocks cannot have variable fields.\");c.setShadow(!0)}return c};\nBlockly.Xml.deleteNext=function(a){for(var b=0,c;c=a.childNodes[b];b++)if(\"next\"==c.nodeName.toLowerCase()){a.removeChild(c);break}};goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.Xml||(goog.global.Blockly.Xml={});goog.global.Blockly.Xml.domToText=Blockly.Xml.domToText;goog.global.Blockly.Xml.domToWorkspace=Blockly.Xml.domToWorkspace;goog.global.Blockly.Xml.textToDom=Blockly.Xml.textToDom;goog.global.Blockly.Xml.workspaceToDom=Blockly.Xml.workspaceToDom;\n// Copyright 2015 Google Inc. Apache License 2.0\nBlockly.ZoomControls=function(a){this.workspace_=a};Blockly.ZoomControls.prototype.ZOOM_IN_PATH_=\"zoom-in.svg\";Blockly.ZoomControls.prototype.ZOOM_OUT_PATH_=\"zoom-out.svg\";Blockly.ZoomControls.prototype.ZOOM_RESET_PATH_=\"zoom-reset.svg\";Blockly.ZoomControls.prototype.WIDTH_=36;Blockly.ZoomControls.prototype.HEIGHT_=124;Blockly.ZoomControls.prototype.MARGIN_BETWEEN_=8;Blockly.ZoomControls.prototype.MARGIN_BOTTOM_=12;Blockly.ZoomControls.prototype.MARGIN_SIDE_=12;\nBlockly.ZoomControls.prototype.svgGroup_=null;Blockly.ZoomControls.prototype.left_=0;Blockly.ZoomControls.prototype.top_=0;\nBlockly.ZoomControls.prototype.createDom=function(){var a=this.workspace_;this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyZoom\"},null);var b=Blockly.utils.createSvgElement(\"image\",{width:this.WIDTH_,height:this.WIDTH_,y:0},this.svgGroup_);b.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",a.options.pathToMedia+this.ZOOM_IN_PATH_);var c=Blockly.utils.createSvgElement(\"image\",{width:this.WIDTH_,height:this.WIDTH_,y:1*this.WIDTH_+1*this.MARGIN_BETWEEN_},this.svgGroup_);c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\n\"xlink:href\",a.options.pathToMedia+this.ZOOM_OUT_PATH_);var d=Blockly.utils.createSvgElement(\"image\",{width:this.WIDTH_,height:this.WIDTH_,y:2*this.WIDTH_+2*this.MARGIN_BETWEEN_},this.svgGroup_);d.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",a.options.pathToMedia+this.ZOOM_RESET_PATH_);Blockly.bindEventWithChecks_(d,\"mousedown\",null,function(b){a.markFocused();a.setScale(a.options.zoomOptions.startScale);a.scrollCenter();Blockly.Touch.clearTouchIdentifier();b.stopPropagation();b.preventDefault()});\nBlockly.bindEventWithChecks_(b,\"mousedown\",null,function(b){a.markFocused();a.zoomCenter(1);Blockly.Touch.clearTouchIdentifier();b.stopPropagation();b.preventDefault()});Blockly.bindEventWithChecks_(c,\"mousedown\",null,function(b){a.markFocused();a.zoomCenter(-1);Blockly.Touch.clearTouchIdentifier();b.stopPropagation();b.preventDefault()});return this.svgGroup_};Blockly.ZoomControls.prototype.init=function(a){this.bottom_=this.MARGIN_BOTTOM_+a;return this.bottom_+this.HEIGHT_};\nBlockly.ZoomControls.prototype.dispose=function(){this.svgGroup_\u0026\u0026(goog.dom.removeNode(this.svgGroup_),this.svgGroup_=null);this.workspace_=null};\nBlockly.ZoomControls.prototype.position=function(){var a=this.workspace_.getMetrics();a\u0026\u0026(this.workspace_.RTL?(this.left_=this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_LEFT\u0026\u0026(this.left_+=a.flyoutWidth,this.workspace_.toolbox_\u0026\u0026(this.left_+=a.absoluteLeft))):(this.left_=a.viewWidth+a.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT\u0026\u0026(this.left_-=a.flyoutWidth)),this.top_=a.viewHeight+\na.absoluteTop-this.HEIGHT_-this.bottom_,a.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM\u0026\u0026(this.top_-=a.flyoutHeight),this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.left_+\",\"+this.top_+\")\"))};\n// Copyright 2014 Google Inc. Apache License 2.0\nBlockly.WorkspaceSvg=function(a,b,c){Blockly.WorkspaceSvg.superClass_.constructor.call(this,a);this.getMetrics=a.getMetrics||Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_;this.setMetrics=a.setMetrics||Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_;Blockly.ConnectionDB.init(this);b\u0026\u0026(this.blockDragSurface_=b);c\u0026\u0026(this.workspaceDragSurface_=c);this.useWorkspaceDragSurface_=this.workspaceDragSurface_\u0026\u0026Blockly.utils.is3dSupported();this.highlightedBlocks_=[];this.audioManager_=new Blockly.WorkspaceAudio(a.parentWorkspace);\nthis.grid_=this.options.gridPattern?new Blockly.Grid(a.gridPattern,a.gridOptions):null;this.registerToolboxCategoryCallback(Blockly.VARIABLE_CATEGORY_NAME,Blockly.DataCategory);this.registerToolboxCategoryCallback(Blockly.PROCEDURE_CATEGORY_NAME,Blockly.Procedures.flyoutCategory)};goog.inherits(Blockly.WorkspaceSvg,Blockly.Workspace);Blockly.WorkspaceSvg.prototype.resizeHandlerWrapper_=null;Blockly.WorkspaceSvg.prototype.rendered=!0;Blockly.WorkspaceSvg.prototype.isFlyout=!1;\nBlockly.WorkspaceSvg.prototype.isMutator=!1;Blockly.WorkspaceSvg.prototype.resizesEnabled_=!0;Blockly.WorkspaceSvg.prototype.isBulkUpdating_=!1;Blockly.WorkspaceSvg.prototype.scrollX=0;Blockly.WorkspaceSvg.prototype.scrollY=0;Blockly.WorkspaceSvg.prototype.startScrollX=0;Blockly.WorkspaceSvg.prototype.startScrollY=0;Blockly.WorkspaceSvg.prototype.dragDeltaXY_=null;Blockly.WorkspaceSvg.prototype.scale=1;Blockly.WorkspaceSvg.prototype.trashcan=null;Blockly.WorkspaceSvg.prototype.scrollbar=null;\nBlockly.WorkspaceSvg.prototype.currentGesture_=null;Blockly.WorkspaceSvg.prototype.blockDragSurface_=null;Blockly.WorkspaceSvg.prototype.workspaceDragSurface_=null;Blockly.WorkspaceSvg.prototype.useWorkspaceDragSurface_=!1;Blockly.WorkspaceSvg.prototype.isDragSurfaceActive_=!1;Blockly.WorkspaceSvg.prototype.lastRecordedPageScroll_=null;Blockly.WorkspaceSvg.prototype.injectionDiv_=null;Blockly.WorkspaceSvg.prototype.flyoutButtonCallbacks_={};\nBlockly.WorkspaceSvg.prototype.toolboxCategoryCallbacks_={};Blockly.WorkspaceSvg.prototype.inverseScreenCTM_=null;Blockly.WorkspaceSvg.prototype.getInverseScreenCTM=function(){return this.inverseScreenCTM_};Blockly.WorkspaceSvg.prototype.updateInverseScreenCTM=function(){var a=this.getParentSvg().getScreenCTM();a\u0026\u0026(this.inverseScreenCTM_=a.inverse())};\nBlockly.WorkspaceSvg.prototype.getSvgXY=function(a){var b=0,c=0,d=1;if(goog.dom.contains(this.getCanvas(),a)||goog.dom.contains(this.getBubbleCanvas(),a))d=this.scale;do{var e=Blockly.utils.getRelativeXY(a);if(a==this.getCanvas()||a==this.getBubbleCanvas())d=1;b+=e.x*d;c+=e.y*d;a=a.parentNode}while(a\u0026\u0026a!=this.getParentSvg());return new goog.math.Coordinate(b,c)};Blockly.WorkspaceSvg.prototype.getOriginOffsetInPixels=function(){return Blockly.utils.getInjectionDivXY_(this.svgBlockCanvas_)};\nBlockly.WorkspaceSvg.prototype.getInjectionDiv=function(){if(!this.injectionDiv_)for(var a=this.svgGroup_;a;){if(-1!=(\" \"+(a.getAttribute(\"class\")||\"\")+\" \").indexOf(\" injectionDiv \")){this.injectionDiv_=a;break}a=a.parentNode}return this.injectionDiv_};Blockly.WorkspaceSvg.prototype.setResizeHandlerWrapper=function(a){this.resizeHandlerWrapper_=a};\nBlockly.WorkspaceSvg.prototype.createDom=function(a){this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyWorkspace\"},null);a\u0026\u0026(this.svgBackground_=Blockly.utils.createSvgElement(\"rect\",{height:\"100%\",width:\"100%\",\"class\":a},this.svgGroup_),\"blocklyMainBackground\"==a\u0026\u0026this.grid_\u0026\u0026(this.svgBackground_.style.fill=\"url(#\"+this.grid_.getPatternId()+\")\"));this.svgBlockCanvas_=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyBlockCanvas\"},this.svgGroup_,this);this.svgBubbleCanvas_=Blockly.utils.createSvgElement(\"g\",\n{\"class\":\"blocklyBubbleCanvas\"},this.svgGroup_,this);a=Blockly.Scrollbar.scrollbarThickness;this.options.hasTrashcan\u0026\u0026(a=this.addTrashcan_(a));this.options.zoomOptions\u0026\u0026this.options.zoomOptions.controls\u0026\u0026this.addZoomControls_(a);this.isFlyout||(Blockly.bindEventWithChecks_(this.svgGroup_,\"mousedown\",this,this.onMouseDown_),this.options.zoomOptions\u0026\u0026this.options.zoomOptions.wheel\u0026\u0026Blockly.bindEventWithChecks_(this.svgGroup_,\"wheel\",this,this.onMouseWheel_));this.options.hasCategories\u0026\u0026(this.toolbox_=\nnew Blockly.Toolbox(this));this.grid_\u0026\u0026this.grid_.update(this.scale);this.recordDeleteAreas();return this.svgGroup_};\nBlockly.WorkspaceSvg.prototype.dispose=function(){this.rendered=!1;this.currentGesture_\u0026\u0026this.currentGesture_.cancel();Blockly.WorkspaceSvg.superClass_.dispose.call(this);this.svgGroup_\u0026\u0026(goog.dom.removeNode(this.svgGroup_),this.svgGroup_=null);this.svgBubbleCanvas_=this.svgBlockCanvas_=null;this.toolbox_\u0026\u0026(this.toolbox_.dispose(),this.toolbox_=null);this.flyout_\u0026\u0026(this.flyout_.dispose(),this.flyout_=null);this.trashcan\u0026\u0026(this.trashcan.dispose(),this.trashcan=null);this.scrollbar\u0026\u0026(this.scrollbar.dispose(),\nthis.scrollbar=null);this.zoomControls_\u0026\u0026(this.zoomControls_.dispose(),this.zoomControls_=null);this.audioManager_\u0026\u0026(this.audioManager_.dispose(),this.audioManager_=null);this.grid_\u0026\u0026(this.grid_.dispose(),this.grid_=null);this.toolboxCategoryCallbacks_\u0026\u0026(this.toolboxCategoryCallbacks_=null);this.flyoutButtonCallbacks_\u0026\u0026(this.flyoutButtonCallbacks_=null);this.options.parentWorkspace||goog.dom.removeNode(this.getParentSvg().parentNode);this.resizeHandlerWrapper_\u0026\u0026(Blockly.unbindEvent_(this.resizeHandlerWrapper_),\nthis.resizeHandlerWrapper_=null)};Blockly.WorkspaceSvg.prototype.newBlock=function(a,b){return new Blockly.BlockSvg(this,a,b)};Blockly.WorkspaceSvg.prototype.addTrashcan_=function(a){this.trashcan=new Blockly.Trashcan(this);var b=this.trashcan.createDom();this.svgGroup_.insertBefore(b,this.svgBlockCanvas_);return this.trashcan.init(a)};\nBlockly.WorkspaceSvg.prototype.addZoomControls_=function(a){this.zoomControls_=new Blockly.ZoomControls(this);var b=this.zoomControls_.createDom();this.svgGroup_.appendChild(b);return this.zoomControls_.init(a)};\nBlockly.WorkspaceSvg.prototype.addFlyout_=function(a){var b={disabledPatternId:this.options.disabledPatternId,parentWorkspace:this,RTL:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,toolboxPosition:this.options.toolboxPosition};this.flyout_=this.horizontalLayout?new Blockly.HorizontalFlyout(b):new Blockly.VerticalFlyout(b);this.flyout_.autoClose=!1;return this.flyout_.createDom(a)};\nBlockly.WorkspaceSvg.prototype.getFlyout=function(){return this.flyout_?this.flyout_:this.toolbox_?this.toolbox_.flyout_:null};Blockly.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM();this.recordDeleteAreas()};Blockly.WorkspaceSvg.prototype.resizeContents=function(){this.resizesEnabled_\u0026\u0026this.rendered\u0026\u0026(this.scrollbar\u0026\u0026this.scrollbar.resize(),this.updateInverseScreenCTM())};\nBlockly.WorkspaceSvg.prototype.resize=function(){this.toolbox_\u0026\u0026this.toolbox_.position();this.flyout_\u0026\u0026this.flyout_.position();this.trashcan\u0026\u0026this.trashcan.position();this.zoomControls_\u0026\u0026this.zoomControls_.position();this.scrollbar\u0026\u0026this.scrollbar.resize();this.updateScreenCalculations_()};Blockly.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var a=goog.dom.getDocumentScroll();goog.math.Coordinate.equals(this.lastRecordedPageScroll_,a)||(this.lastRecordedPageScroll_=a,this.updateScreenCalculations_())};\nBlockly.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_};Blockly.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_};Blockly.WorkspaceSvg.prototype.getParentSvg=function(){if(this.cachedParentSvg_)return this.cachedParentSvg_;for(var a=this.svgGroup_;a;){if(\"svg\"==a.tagName)return this.cachedParentSvg_=a;a=a.parentNode}return null};\nBlockly.WorkspaceSvg.prototype.translate=function(a,b){if(this.useWorkspaceDragSurface_\u0026\u0026this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(a,b);else{var c=\"translate(\"+a+\",\"+b+\") scale(\"+this.scale+\")\";this.svgBlockCanvas_.setAttribute(\"transform\",c);this.svgBubbleCanvas_.setAttribute(\"transform\",c)}this.blockDragSurface_\u0026\u0026this.blockDragSurface_.translateAndScaleGroup(a,b,this.scale)};\nBlockly.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var a=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_);a=\"translate(\"+a.x+\",\"+a.y+\") scale(\"+this.scale+\")\";this.svgBlockCanvas_.setAttribute(\"transform\",a);this.svgBubbleCanvas_.setAttribute(\"transform\",a)}};\nBlockly.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_\u0026\u0026!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var a=this.svgBlockCanvas_.previousSibling,b=this.getParentSvg().getAttribute(\"width\"),c=this.getParentSvg().getAttribute(\"height\"),d=Blockly.utils.getRelativeXY(this.svgBlockCanvas_);this.workspaceDragSurface_.setContentsAndShow(this.svgBlockCanvas_,this.svgBubbleCanvas_,a,b,c,this.scale);this.workspaceDragSurface_.translateSurface(d.x,d.y)}};\nBlockly.WorkspaceSvg.prototype.getWidth=function(){var a=this.getMetrics();return a?a.viewWidth/this.scale:0};Blockly.WorkspaceSvg.prototype.setVisible=function(a){this.scrollbar\u0026\u0026this.scrollbar.setContainerVisible(a);this.getFlyout()\u0026\u0026this.getFlyout().setContainerVisible(a);this.getParentSvg().style.display=a?\"block\":\"none\";this.toolbox_\u0026\u0026(this.toolbox_.HtmlDiv.style.display=a?\"block\":\"none\");a?(this.render(),this.resize()):(Blockly.hideChaff(!0),Blockly.DropDownDiv.hideWithoutAnimation())};\nBlockly.WorkspaceSvg.prototype.render=function(){for(var a=this.getAllBlocks(),b=a.length-1;0\u003c=b;b--)a[b].render(!1)};Blockly.WorkspaceSvg.prototype.traceOn=function(){console.warn(\"Deprecated call to traceOn, delete this.\")};\nBlockly.WorkspaceSvg.prototype.highlightBlock=function(a,b){if(void 0===b){for(var c=0,d;d=this.highlightedBlocks_[c];c++)d.setHighlighted(!1);this.highlightedBlocks_.length=0}if(d=a?this.getBlockById(a):null)(c=void 0===b||b)?-1==this.highlightedBlocks_.indexOf(d)\u0026\u0026this.highlightedBlocks_.push(d):goog.array.remove(this.highlightedBlocks_,d),d.setHighlighted(c)};\nBlockly.WorkspaceSvg.prototype.glowBlock=function(a,b){var c=null;if(a\u0026\u0026(c=this.getBlockById(a),!c))throw\"Tried to glow block that does not exist.\";c.setGlowBlock(b)};Blockly.WorkspaceSvg.prototype.glowStack=function(a,b){var c=null;if(a\u0026\u0026(c=this.getBlockById(a),!c))throw\"Tried to glow stack on block that does not exist.\";c.setGlowStack(b)};\nBlockly.WorkspaceSvg.prototype.reportValue=function(a,b){var c=this.getBlockById(a);if(!c)throw\"Tried to report value on block that does not exist.\";Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var d=Blockly.DropDownDiv.getContentDiv(),e=goog.dom.createElement(\"div\");e.setAttribute(\"class\",\"valueReportBox\");e.innerHTML=Blockly.utils.encodeEntities(b);d.appendChild(e);Blockly.DropDownDiv.setColour(Blockly.Colours.valueReportBackground,Blockly.Colours.valueReportBorder);\nBlockly.DropDownDiv.showPositionedByBlock(this,c)};\nBlockly.WorkspaceSvg.prototype.paste=function(a){if(this.rendered){this.currentGesture_\u0026\u0026this.currentGesture_.cancel();Blockly.Events.disable();try{var b=Blockly.Xml.domToBlock(a,this);Blockly.utils.changeObscuredShadowIds(b);for(var c=b.getDescendants(),d=c.length-1;0\u003c=d;d--){var e=c[d];(goog.userAgent.IE||goog.userAgent.EDGE)\u0026\u0026e.render(!1)}var f=parseInt(a.getAttribute(\"x\"),10),g=parseInt(a.getAttribute(\"y\"),10);if(!isNaN(f)\u0026\u0026!isNaN(g)){this.RTL\u0026\u0026(f=-f);do{a=!1;var h=this.getAllBlocks();d=0;for(var k;k=\nh[d];d++){var m=k.getRelativeToSurfaceXY();if(1\u003e=Math.abs(f-m.x)\u0026\u00261\u003e=Math.abs(g-m.y)){a=!0;break}}if(!a){var l=b.getConnections_(!1);d=0;for(var n;n=l[d];d++)if(n.closest(Blockly.SNAP_RADIUS,new goog.math.Coordinate(f,g)).connection){a=!0;break}}a\u0026\u0026(f=this.RTL?f-Blockly.SNAP_RADIUS:f+Blockly.SNAP_RADIUS,g+=2*Blockly.SNAP_RADIUS)}while(a);b.moveBy(f,g)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()\u0026\u0026!b.isShadow()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockCreate(b));b.select()}};\nBlockly.WorkspaceSvg.prototype.refreshToolboxSelection_=function(){this.toolbox_\u0026\u0026this.toolbox_.flyout_\u0026\u0026!this.currentGesture_\u0026\u0026!this.isBulkUpdating_\u0026\u0026this.toolbox_.refreshSelection()};Blockly.WorkspaceSvg.prototype.renameVariable=function(a,b){Blockly.WorkspaceSvg.superClass_.renameVariable.call(this,a,b);this.refreshToolboxSelection_()};Blockly.WorkspaceSvg.prototype.renameVariableById=function(a,b){Blockly.WorkspaceSvg.superClass_.renameVariableById.call(this,a,b);this.refreshToolboxSelection_()};\nBlockly.WorkspaceSvg.prototype.deleteVariable=function(a){Blockly.WorkspaceSvg.superClass_.deleteVariable.call(this,a);this.refreshToolboxSelection_()};Blockly.WorkspaceSvg.prototype.deleteVariableById=function(a){Blockly.WorkspaceSvg.superClass_.deleteVariableById.call(this,a);this.refreshToolboxSelection_()};Blockly.WorkspaceSvg.prototype.createVariable=function(a,b,c){a=Blockly.WorkspaceSvg.superClass_.createVariable.call(this,a,b,c);this.refreshToolboxSelection_();return a};\nBlockly.WorkspaceSvg.prototype.recordDeleteAreas=function(){this.deleteAreaTrash_=this.trashcan?this.trashcan.getClientRect():null;this.deleteAreaToolbox_=this.flyout_?this.flyout_.getClientRect():this.toolbox_?this.toolbox_.getClientRect():null};\nBlockly.WorkspaceSvg.prototype.isDeleteArea=function(a){a=new goog.math.Coordinate(a.clientX,a.clientY);return this.deleteAreaTrash_\u0026\u0026this.deleteAreaTrash_.contains(a)?Blockly.DELETE_AREA_TRASH:this.deleteAreaToolbox_\u0026\u0026this.deleteAreaToolbox_.contains(a)?Blockly.DELETE_AREA_TOOLBOX:Blockly.DELETE_AREA_NONE};Blockly.WorkspaceSvg.prototype.onMouseDown_=function(a){var b=this.getGesture(a);b\u0026\u0026b.handleWsStart(a,this)};\nBlockly.WorkspaceSvg.prototype.startDrag=function(a,b){var c=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());c.x/=this.scale;c.y/=this.scale;this.dragDeltaXY_=goog.math.Coordinate.difference(b,c)};Blockly.WorkspaceSvg.prototype.moveDrag=function(a){a=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;return goog.math.Coordinate.sum(this.dragDeltaXY_,a)};\nBlockly.WorkspaceSvg.prototype.isDragging=function(){return this.currentGesture_\u0026\u0026this.currentGesture_.isDragging()};Blockly.WorkspaceSvg.prototype.isDraggable=function(){return!!this.scrollbar};\nBlockly.WorkspaceSvg.prototype.onMouseWheel_=function(a){this.currentGesture_\u0026\u0026this.currentGesture_.cancel();if(a.ctrlKey){var b=-a.deltaY/50,c=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());this.zoom(c.x,c.y,b)}else Blockly.WidgetDiv.hide(!0),Blockly.DropDownDiv.hideWithoutAnimation(),b=this.scrollX-a.deltaX,c=this.scrollY-a.deltaY,this.startDragMetrics=this.getMetrics(),this.scroll(b,c);a.preventDefault()};\nBlockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var a=this.getTopBlocks(!1);if(!a.length)return{x:0,y:0,width:0,height:0};for(var b=a[0].getBoundingRectangle(),c=1;c\u003ca.length;c++){var d=a[c].getBoundingRectangle();d.topLeft.x\u003cb.topLeft.x\u0026\u0026(b.topLeft.x=d.topLeft.x);d.bottomRight.x\u003eb.bottomRight.x\u0026\u0026(b.bottomRight.x=d.bottomRight.x);d.topLeft.y\u003cb.topLeft.y\u0026\u0026(b.topLeft.y=d.topLeft.y);d.bottomRight.y\u003eb.bottomRight.y\u0026\u0026(b.bottomRight.y=d.bottomRight.y)}return{x:b.topLeft.x,y:b.topLeft.y,width:b.bottomRight.x-\nb.topLeft.x,height:b.bottomRight.y-b.topLeft.y}};Blockly.WorkspaceSvg.prototype.cleanUp=function(){Blockly.Events.setGroup(!0);for(var a=this.getTopBlocks(!0),b=0,c=0,d;d=a[c];c++){var e=d.getRelativeToSurfaceXY();d.moveBy(-e.x,b-e.y);d.snapToGrid();b=d.getRelativeToSurfaceXY().y+d.getHeightWidth().height+Blockly.BlockSvg.MIN_BLOCK_Y}Blockly.Events.setGroup(!1);this.resizeContents()};\nBlockly.WorkspaceSvg.prototype.showContextMenu_=function(a){function b(){Blockly.Events.setGroup(e);var a=l.shift();a\u0026\u0026(a.workspace?(a.dispose(!1,!0),setTimeout(b,10)):b());Blockly.Events.setGroup(!1)}if(!this.options.readOnly\u0026\u0026!this.isFlyout){var c=[],d=this.getTopBlocks(!0),e=Blockly.utils.genUid(),f=this;c.push(Blockly.ContextMenu.wsUndoOption(this));c.push(Blockly.ContextMenu.wsRedoOption(this));this.scrollbar\u0026\u0026c.push(Blockly.ContextMenu.wsCleanupOption(this,d.length));if(this.options.collapse){for(var g=\n!1,h=!1,k=0;k\u003cd.length;k++)for(var m=d[k];m;)m.isCollapsed()?g=!0:h=!0,m=m.getNextBlock();c.push(Blockly.ContextMenu.wsCollapseOption(h,d));c.push(Blockly.ContextMenu.wsExpandOption(g,d))}var l=Blockly.WorkspaceSvg.buildDeleteList_(d),n=0;for(k=0;k\u003cl.length;k++)l[k].isShadow()||n++;d={text:1==n?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace(\"%1\",String(n)),enabled:0\u003cn,callback:function(){f.currentGesture_\u0026\u0026f.currentGesture_.cancel();2\u003el.length?b():Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace(\"%1\",\nString(n)),function(a){a\u0026\u0026b()})}};c.push(d);Blockly.ContextMenu.show(a,c,this.RTL)}};Blockly.WorkspaceSvg.buildDeleteList_=function(a){function b(a){if(a.isDeletable())c=c.concat(a.getDescendants());else{a=a.getChildren();for(var d=0;d\u003ca.length;d++)b(a[d])}}for(var c=[],d=0;d\u003ca.length;d++)b(a[d]);return c};\nBlockly.WorkspaceSvg.prototype.updateToolbox=function(a){if(a=Blockly.Options.parseToolboxTree(a)){if(!this.options.languageTree)throw\"Existing toolbox is null. Can't create new toolbox.\";if(a.getElementsByTagName(\"category\").length){if(!this.toolbox_)throw\"Existing toolbox has no categories. Can't change mode.\";this.options.languageTree=a;this.toolbox_.populate_(a);this.toolbox_.position()}else{if(!this.flyout_)throw\"Existing toolbox has categories. Can't change mode.\";this.options.languageTree=\na;this.flyout_.show(a.childNodes)}}else if(this.options.languageTree)throw\"Can't nullify an existing toolbox.\";};Blockly.WorkspaceSvg.prototype.markFocused=function(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(Blockly.mainWorkspace=this,this.setBrowserFocus())};Blockly.WorkspaceSvg.prototype.setBrowserFocus=function(){document.activeElement\u0026\u0026document.activeElement.blur();try{this.getParentSvg().focus()}catch(a){try{this.getParentSvg().parentNode.setActive()}catch(b){this.getParentSvg().parentNode.focus()}}};\nBlockly.WorkspaceSvg.prototype.zoom=function(a,b,c){var d=this.options.zoomOptions.scaleSpeed,e=this.getMetrics(),f=this.getParentSvg().createSVGPoint();f.x=a;f.y=b;f=f.matrixTransform(this.getCanvas().getCTM().inverse());a=f.x;b=f.y;f=this.getCanvas();d=Math.pow(d,c);c=this.scale*d;c\u003ethis.options.zoomOptions.maxScale?d=this.options.zoomOptions.maxScale/this.scale:c\u003cthis.options.zoomOptions.minScale\u0026\u0026(d=this.options.zoomOptions.minScale/this.scale);this.scale!=c\u0026\u0026(this.scrollbar\u0026\u0026(a=f.getCTM().translate(a*\n(1-d),b*(1-d)).scale(d),this.scrollX=a.e-e.absoluteLeft,this.scrollY=a.f-e.absoluteTop),this.setScale(c),Blockly.WidgetDiv.hide(!0),Blockly.DropDownDiv.hideWithoutAnimation())};Blockly.WorkspaceSvg.prototype.zoomCenter=function(a){var b=this.getMetrics();this.zoom(b.viewWidth/2,b.viewHeight/2,a)};\nBlockly.WorkspaceSvg.prototype.zoomToFit=function(){var a=this.getMetrics(),b=this.getBlocksBoundingBox(),c=b.width;b=b.height;if(c){var d=a.viewWidth,e=a.viewHeight;this.flyout_\u0026\u0026(d-=this.flyout_.width_);this.scrollbar||(c+=a.contentLeft,b+=a.contentTop);this.setScale(Math.min(d/c,e/b));this.scrollCenter()}};\nBlockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.scrollbar){Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation();Blockly.hideChaff(!1);var a=this.getMetrics(),b=(a.contentWidth-a.viewWidth)/2;this.flyout_\u0026\u0026(b-=this.flyout_.width_/2);this.scrollbar.set(b,(a.contentHeight-a.viewHeight)/2)}};\nBlockly.WorkspaceSvg.prototype.setScale=function(a){this.options.zoomOptions.maxScale\u0026\u0026a\u003ethis.options.zoomOptions.maxScale?a=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale\u0026\u0026a\u003cthis.options.zoomOptions.minScale\u0026\u0026(a=this.options.zoomOptions.minScale);this.scale=a;this.grid_\u0026\u0026this.grid_.update(this.scale);this.scrollbar?this.scrollbar.resize():this.translate(this.scrollX,this.scrollY);Blockly.hideChaff(!1);this.flyout_\u0026\u0026this.flyout_.reflow()};\nBlockly.WorkspaceSvg.prototype.scroll=function(a,b){var c=this.startDragMetrics;a=Math.min(a,-c.contentLeft);b=Math.min(b,-c.contentTop);a=Math.max(a,c.viewWidth-c.contentLeft-c.contentWidth);b=Math.max(b,c.viewHeight-c.contentTop-c.contentHeight);Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation();this.scrollbar.set(-a-c.contentLeft,-b-c.contentTop)};\nBlockly.WorkspaceSvg.prototype.updateStackGlowScale_=function(){this.options.stackGlowBlur\u0026\u0026this.options.stackGlowBlur.setAttribute(\"stdDeviation\",Blockly.STACK_GLOW_RADIUS/this.scale)};\nBlockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_=function(){var a=Blockly.svgSize(this.getParentSvg());if(this.toolbox_)if(this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM)a.height-=this.toolbox_.getHeight();else if(this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT)a.width-=this.toolbox_.getWidth();var b=Blockly.Flyout.prototype.CORNER_RADIUS-1,c=a.width-b,d=a.height-b,e=this.getBlocksBoundingBox(),f=e.width*\nthis.scale,g=e.height*this.scale,h=e.x*this.scale,k=e.y*this.scale;this.scrollbar?(b=Math.min(h-c/2,h+f-c),c=Math.max(h+f+c/2,h+c),f=Math.min(k-d/2,k+g-d),d=Math.max(k+g+d/2,k+d)):(b=e.x,c=b+e.width,f=e.y,d=f+e.height);e=0;this.toolbox_\u0026\u0026this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT\u0026\u0026(e=this.toolbox_.getWidth());g=0;this.toolbox_\u0026\u0026this.toolboxPosition==Blockly.TOOLBOX_AT_TOP\u0026\u0026(g=this.toolbox_.getHeight());return{viewHeight:a.height,viewWidth:a.width,contentHeight:d-f,contentWidth:c-b,viewTop:-this.scrollY,\nviewLeft:-this.scrollX,contentTop:f,contentLeft:b,absoluteTop:g,absoluteLeft:e,toolboxWidth:this.toolbox_?this.toolbox_.getWidth():0,toolboxHeight:this.toolbox_?this.toolbox_.getHeight():0,flyoutWidth:this.flyout_?this.flyout_.getWidth():0,flyoutHeight:this.flyout_?this.flyout_.getHeight():0,toolboxPosition:this.toolboxPosition}};\nBlockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_=function(a){if(!this.scrollbar)throw\"Attempt to set top level workspace scroll without scrollbars.\";var b=this.getMetrics();goog.isNumber(a.x)\u0026\u0026(this.scrollX=-b.contentWidth*a.x-b.contentLeft);goog.isNumber(a.y)\u0026\u0026(this.scrollY=-b.contentHeight*a.y-b.contentTop);a=this.scrollX+b.absoluteLeft;b=this.scrollY+b.absoluteTop;this.translate(a,b);this.grid_\u0026\u0026this.grid_.moveTo(a,b)};\nBlockly.WorkspaceSvg.prototype.setResizesEnabled=function(a){var b=!this.resizesEnabled_\u0026\u0026a;this.resizesEnabled_=a;b\u0026\u0026this.resizeContents()};Blockly.WorkspaceSvg.prototype.setBulkUpdate=function(a){this.setResizesEnabled(!a);var b=this.isBulkUpdating_\u0026\u0026!a;this.isBulkUpdating_=a;b\u0026\u0026this.toolbox_\u0026\u0026this.toolbox_.refreshSelection()};Blockly.WorkspaceSvg.prototype.clear=function(){this.setBulkUpdate(!0);Blockly.WorkspaceSvg.superClass_.clear.call(this);this.setBulkUpdate(!1)};\nBlockly.WorkspaceSvg.prototype.registerButtonCallback=function(a,b){goog.asserts.assert(goog.isFunction(b),\"Button callbacks must be functions.\");this.flyoutButtonCallbacks_[a]=b};Blockly.WorkspaceSvg.prototype.getButtonCallback=function(a){return(a=this.flyoutButtonCallbacks_[a])?a:null};Blockly.WorkspaceSvg.prototype.removeButtonCallback=function(a){this.flyoutButtonCallbacks_[a]=null};\nBlockly.WorkspaceSvg.prototype.registerToolboxCategoryCallback=function(a,b){goog.asserts.assert(goog.isFunction(b),\"Toolbox category callbacks must be functions.\");this.toolboxCategoryCallbacks_[a]=b};Blockly.WorkspaceSvg.prototype.getToolboxCategoryCallback=function(a){return(a=this.toolboxCategoryCallbacks_[a])?a:null};Blockly.WorkspaceSvg.prototype.removeToolboxCategoryCallback=function(a){this.toolboxCategoryCallbacks_[a]=null};\nBlockly.WorkspaceSvg.prototype.getGesture=function(a){var b=\"mousedown\"==a.type||\"touchstart\"==a.type,c=this.currentGesture_;return c?b\u0026\u0026c.hasStarted()?(console.warn(\"tried to start the same gesture twice\"),c.cancel(),null):c:b?this.currentGesture_=new Blockly.Gesture(a,this):null};Blockly.WorkspaceSvg.prototype.clearGesture=function(){this.currentGesture_=null};Blockly.WorkspaceSvg.prototype.cancelCurrentGesture=function(){this.currentGesture_\u0026\u0026this.currentGesture_.cancel()};\nBlockly.WorkspaceSvg.prototype.startDragWithFakeEvent=function(a,b){Blockly.Touch.clearTouchIdentifier();Blockly.Touch.checkTouchIdentifier(a);b.workspace.getGesture(a).forceStartBlockDrag(a,b)};Blockly.WorkspaceSvg.prototype.getAudioManager=function(){return this.audioManager_};Blockly.WorkspaceSvg.prototype.getGrid=function(){return this.grid_};Blockly.WorkspaceSvg.prototype.setVisible=Blockly.WorkspaceSvg.prototype.setVisible;Blockly.Mutator=function(a){Blockly.Mutator.superClass_.constructor.call(this,null);this.quarkNames_=a};goog.inherits(Blockly.Mutator,Blockly.Icon);Blockly.Mutator.prototype.workspaceWidth_=0;Blockly.Mutator.prototype.workspaceHeight_=0;\nBlockly.Mutator.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyIconShape\",rx:\"4\",ry:\"4\",height:\"16\",width:\"16\"},a);Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyIconSymbol\",d:\"m4.203,7.296 0,1.368 -0.92,0.677 -0.11,0.41 0.9,1.559 0.41,0.11 1.043,-0.457 1.187,0.683 0.127,1.134 0.3,0.3 1.8,0 0.3,-0.299 0.127,-1.138 1.185,-0.682 1.046,0.458 0.409,-0.11 0.9,-1.559 -0.11,-0.41 -0.92,-0.677 0,-1.366 0.92,-0.677 0.11,-0.41 -0.9,-1.559 -0.409,-0.109 -1.046,0.458 -1.185,-0.682 -0.127,-1.138 -0.3,-0.299 -1.8,0 -0.3,0.3 -0.126,1.135 -1.187,0.682 -1.043,-0.457 -0.41,0.11 -0.899,1.559 0.108,0.409z\"},a);\nBlockly.utils.createSvgElement(\"circle\",{\"class\":\"blocklyIconShape\",r:\"2.7\",cx:\"8\",cy:\"8\"},a)};Blockly.Mutator.prototype.iconClick_=function(a){this.block_.isEditable()\u0026\u0026Blockly.Icon.prototype.iconClick_.call(this,a)};\nBlockly.Mutator.prototype.createEditor_=function(){this.svgDialog_=Blockly.utils.createSvgElement(\"svg\",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);if(this.quarkNames_.length)for(var a=goog.dom.createDom(\"xml\"),b=0,c;c=this.quarkNames_[b];b++)a.appendChild(goog.dom.createDom(\"block\",{type:c}));else a=null;a={languageTree:a,parentWorkspace:this.block_.workspace,pathToMedia:this.block_.workspace.options.pathToMedia,RTL:this.block_.RTL,toolboxPosition:this.block_.RTL?Blockly.TOOLBOX_AT_RIGHT:\nBlockly.TOOLBOX_AT_LEFT,horizontalLayout:!1,getMetrics:this.getFlyoutMetrics_.bind(this),setMetrics:null};this.workspace_=new Blockly.WorkspaceSvg(a,this.block_.workspace.dragSurface);this.workspace_.isMutator=!0;a=this.workspace_.addFlyout_(\"g\");b=this.workspace_.createDom(\"blocklyMutatorBackground\");b.insertBefore(a,this.workspace_.svgBlockCanvas_);this.svgDialog_.appendChild(b);return this.svgDialog_};\nBlockly.Mutator.prototype.updateEditable=function(){this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_\u0026\u0026Blockly.utils.removeClass(this.iconGroup_,\"blocklyIconGroupReadonly\"):(this.setVisible(!1),this.iconGroup_\u0026\u0026Blockly.utils.addClass(this.iconGroup_,\"blocklyIconGroupReadonly\")));Blockly.Icon.prototype.updateEditable.call(this)};\nBlockly.Mutator.prototype.resizeBubble_=function(){var a=2*Blockly.Bubble.BORDER_WIDTH,b=this.workspace_.getCanvas().getBBox();var c=this.block_.RTL?-b.x:b.width+b.x;b=b.height+3*a;if(this.workspace_.flyout_){var d=this.workspace_.flyout_.getMetrics_();b=Math.max(b,d.contentHeight+20)}c+=3*a;if(Math.abs(this.workspaceWidth_-c)\u003ea||Math.abs(this.workspaceHeight_-b)\u003ea)this.workspaceWidth_=c,this.workspaceHeight_=b,this.bubble_.setBubbleSize(c+a,b+a),this.svgDialog_.setAttribute(\"width\",this.workspaceWidth_),\nthis.svgDialog_.setAttribute(\"height\",this.workspaceHeight_);this.block_.RTL\u0026\u0026(a=\"translate(\"+this.workspaceWidth_+\",0)\",this.workspace_.getCanvas().setAttribute(\"transform\",a));this.workspace_.resize()};\nBlockly.Mutator.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,\"mutatorOpen\",!a,a)),a){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,null,null);if(a=this.workspace_.options.languageTree)this.workspace_.flyout_.init(this.workspace_),this.workspace_.flyout_.show(a.childNodes);this.rootBlock_=this.block_.decompose(this.workspace_);a=this.rootBlock_.getDescendants();for(var b=\n0,c;c=a[b];b++)c.render();this.rootBlock_.setMovable(!1);this.rootBlock_.setDeletable(!1);this.workspace_.flyout_?(a=2*this.workspace_.flyout_.CORNER_RADIUS,b=this.workspace_.flyout_.width_+a):b=a=16;this.block_.RTL\u0026\u0026(b=-b);this.rootBlock_.moveBy(b,a);if(this.block_.saveConnections){var d=this;this.block_.saveConnections(this.rootBlock_);this.sourceListener_=function(){d.block_.saveConnections(d.rootBlock_)};this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_();this.workspace_.addChangeListener(this.workspaceChanged_.bind(this));\nthis.updateColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_\u0026\u0026(this.block_.workspace.removeChangeListener(this.sourceListener_),this.sourceListener_=null)};\nBlockly.Mutator.prototype.workspaceChanged_=function(){if(!this.workspace_.isDragging())for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++){var d=c.getRelativeToSurfaceXY(),e=c.getHeightWidth();20\u003ed.y+e.height\u0026\u0026c.moveBy(0,20-e.height-d.y)}if(this.rootBlock_.workspace==this.workspace_){Blockly.Events.setGroup(!0);c=this.block_;a=(a=c.mutationToDom())\u0026\u0026Blockly.Xml.domToText(a);b=c.rendered;c.rendered=!1;c.compose(this.rootBlock_);c.rendered=b;c.initSvg();b=(b=c.mutationToDom())\u0026\u0026Blockly.Xml.domToText(b);\nif(a!=b){Blockly.Events.fire(new Blockly.Events.BlockChange(c,\"mutation\",null,a,b));var f=Blockly.Events.getGroup();setTimeout(function(){Blockly.Events.setGroup(f);c.bumpNeighbours_();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY)}c.rendered\u0026\u0026c.render();this.workspace_.isDragging()||this.resizeBubble_();Blockly.Events.setGroup(!1)}};Blockly.Mutator.prototype.getFlyoutMetrics_=function(){return{viewHeight:this.workspaceHeight_,viewWidth:this.workspaceWidth_,absoluteTop:0,absoluteLeft:0}};\nBlockly.Mutator.prototype.dispose=function(){this.block_.mutator=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Mutator.reconnect=function(a,b,c){if(!a||!a.getSourceBlock().workspace)return!1;c=b.getInput(c).connection;var d=a.targetBlock();return d\u0026\u0026d!=b||c.targetConnection==a?!1:(c.isConnected()\u0026\u0026c.disconnect(),c.connect(a),!0)};goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.Mutator||(goog.global.Blockly.Mutator={});goog.global.Blockly.Mutator.reconnect=Blockly.Mutator.reconnect;Blockly.Extensions={};Blockly.Extensions.ALL_={};Blockly.Extensions.MUTATOR_PROPERTIES_=[\"domToMutation\",\"mutationToDom\",\"compose\",\"decompose\"];Blockly.Extensions.register=function(a,b){if(!goog.isString(a)||goog.string.isEmptyOrWhitespace(a))throw Error('Error: Invalid extension name \"'+a+'\"');if(Blockly.Extensions.ALL_[a])throw Error('Error: Extension \"'+a+'\" is already registered.');if(!goog.isFunction(b))throw Error('Error: Extension \"'+a+'\" must be a function');Blockly.Extensions.ALL_[a]=b};\nBlockly.Extensions.registerMixin=function(a,b){Blockly.Extensions.register(a,function(){this.mixin(b)})};\nBlockly.Extensions.registerMutator=function(a,b,c,d){var e='Error when registering mutator \"'+a+'\": ';Blockly.Extensions.checkHasFunction_(e,b,\"domToMutation\");Blockly.Extensions.checkHasFunction_(e,b,\"mutationToDom\");var f=Blockly.Extensions.checkMutatorDialog_(b,e);if(c\u0026\u0026!goog.isFunction(c))throw Error('Extension \"'+a+'\" is not a function');Blockly.Extensions.register(a,function(){f\u0026\u0026this.setMutator(new Blockly.Mutator(d));this.mixin(b);c\u0026\u0026c.apply(this)})};\nBlockly.Extensions.apply=function(a,b,c){var d=Blockly.Extensions.ALL_[a];if(!goog.isFunction(d))throw Error('Error: Extension \"'+a+'\" not found.');if(c)Blockly.Extensions.checkNoMutatorProperties_(a,b);else var e=Blockly.Extensions.getMutatorProperties_(b);d.apply(b);if(c)Blockly.Extensions.checkBlockHasMutatorProperties_(a,b,'Error after applying mutator \"'+a+'\": ');else if(!Blockly.Extensions.mutatorPropertiesMatch_(e,b))throw Error('Error when applying extension \"'+a+'\": mutation properties changed when applying a non-mutator extension.');\n};Blockly.Extensions.checkHasFunction_=function(a,b,c){if(!b.hasOwnProperty(c))throw Error(a+'missing required property \"'+c+'\"');if(\"function\"!==typeof b[c])throw Error(a+'\" required property \"'+c+'\" must be a function');};\nBlockly.Extensions.checkNoMutatorProperties_=function(a,b){for(var c=0;c\u003cBlockly.Extensions.MUTATOR_PROPERTIES_.length;c++){var d=Blockly.Extensions.MUTATOR_PROPERTIES_[c];if(b.hasOwnProperty(d))throw Error('Error: tried to apply mutation \"'+a+'\" to a block that already has a \"'+d+'\" function. Block id: '+b.id);}};\nBlockly.Extensions.checkMutatorDialog_=function(a,b){var c=a.hasOwnProperty(\"compose\"),d=a.hasOwnProperty(\"decompose\");if(c\u0026\u0026d){if(\"function\"!==typeof a.compose)throw Error(b+\"compose must be a function.\");if(\"function\"!==typeof a.decompose)throw Error(b+\"decompose must be a function.\");return!0}if(c||d)throw Error(b+'Must have both or neither of \"compose\" and \"decompose\"');return!1};\nBlockly.Extensions.checkBlockHasMutatorProperties_=function(a,b){if(!b.hasOwnProperty(\"domToMutation\"))throw Error(a+'Applying a mutator didn\\'t add \"domToMutation\"');if(!b.hasOwnProperty(\"mutationToDom\"))throw Error(a+'Applying a mutator didn\\'t add \"mutationToDom\"');Blockly.Extensions.checkMutatorDialog_(b,a)};Blockly.Extensions.getMutatorProperties_=function(a){for(var b=[],c=0;c\u003cBlockly.Extensions.MUTATOR_PROPERTIES_.length;c++)b.push(a[Blockly.Extensions.MUTATOR_PROPERTIES_[c]]);return b};\nBlockly.Extensions.mutatorPropertiesMatch_=function(a,b){var c=!0,d=Blockly.Extensions.getMutatorProperties_(b);if(d.length!=a.length)c=!1;else for(var e=0;e\u003cd.length;e++)a[e]!=d[e]\u0026\u0026(c=!1);return c};\nBlockly.Extensions.buildTooltipForDropdown=function(a,b){var c=[];document\u0026\u0026Blockly.utils.runAfterPageLoad(function(){for(var a in b)Blockly.utils.checkMessageReferences(b[a])});return function(){this.type\u0026\u0026-1===c.indexOf(this.type)\u0026\u0026(Blockly.Extensions.checkDropdownOptionsInTable_(this,a,b),c.push(this.type));this.setTooltip(function(){var d=this.getFieldValue(a),e=b[d];null==e?-1===c.indexOf(this.type)\u0026\u0026(d=\"No tooltip mapping for value \"+d+\" of field \"+a,null!=this.type\u0026\u0026(d+=\" of block type \"+this.type),\nconsole.warn(d+\".\")):e=Blockly.utils.replaceMessageReferences(e);return e}.bind(this))}};Blockly.Extensions.checkDropdownOptionsInTable_=function(a,b,c){var d=a.getField(b);if(!d.isOptionListDynamic()){d=d.getOptions();for(var e=0;e\u003cd.length;++e){var f=d[e][1];null==c[f]\u0026\u0026console.warn(\"No tooltip mapping for value \"+f+\" of field \"+b+\" of block type \"+a.type)}}};\nBlockly.Extensions.buildTooltipWithFieldValue=function(a,b){document\u0026\u0026Blockly.utils.runAfterPageLoad(function(){Blockly.utils.checkMessageReferences(a)});return function(){this.setTooltip(function(){return Blockly.utils.replaceMessageReferences(a).replace(\"%1\",this.getFieldValue(b))}.bind(this))}};Blockly.Extensions.extensionParentTooltip_=function(){this.tooltipWhenNotConnected_=this.tooltip;this.setTooltip(function(){var a=this.getParent();return a\u0026\u0026a.getInputsInline()\u0026\u0026a.tooltip||this.tooltipWhenNotConnected_}.bind(this))};\nBlockly.Extensions.register(\"parent_tooltip_when_inline\",Blockly.Extensions.extensionParentTooltip_);Blockly.Field=function(a,b){this.size_=new goog.math.Size(Blockly.BlockSvg.FIELD_WIDTH,Blockly.BlockSvg.FIELD_HEIGHT);this.setValue(a);this.setValidator(b);this.maxDisplayLength=Blockly.BlockSvg.MAX_DISPLAY_LENGTH};Blockly.Field.cacheWidths_=null;Blockly.Field.cacheReference_=0;Blockly.Field.prototype.name=void 0;Blockly.Field.prototype.className_=\"blocklyText\";Blockly.Field.prototype.text_=\"\";Blockly.Field.prototype.sourceBlock_=null;Blockly.Field.prototype.visible_=!0;\nBlockly.Field.prototype.argType_=null;Blockly.Field.prototype.validator_=null;Blockly.Field.NBSP=\"\\u00a0\";Blockly.Field.prototype.EDITABLE=!0;Blockly.Field.prototype.setSourceBlock=function(a){goog.asserts.assert(!this.sourceBlock_,\"Field already bound to a block.\");this.sourceBlock_=a};\nBlockly.Field.prototype.init=function(){if(!this.fieldGroup_){this.fieldGroup_=Blockly.utils.createSvgElement(\"g\",{},null);this.visible_||(this.fieldGroup_.style.display=\"none\");null!==this.getArgTypes()\u0026\u0026(this.sourceBlock_.isShadow()?this.sourceBlock_.svgGroup_.setAttribute(\"data-argument-type\",this.getArgTypes()):this.fieldGroup_.setAttribute(\"data-argument-type\",this.getArgTypes()));var a=this.getSize();this.textElement_=Blockly.utils.createSvgElement(\"text\",{\"class\":this.className_,x:this.sourceBlock_.RTL?\n-a.width/2:a.width/2,y:a.height/2+Blockly.BlockSvg.FIELD_TOP_PADDING,\"dominant-baseline\":\"middle\",\"text-anchor\":\"middle\"},this.fieldGroup_);this.updateEditable();this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_);this.render_();this.size_.width=0;this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.getClickTarget_(),\"mousedown\",this,this.onMouseDown_)}};Blockly.Field.prototype.initModel=function(){};\nBlockly.Field.prototype.dispose=function(){this.mouseDownWrapper_\u0026\u0026(Blockly.unbindEvent_(this.mouseDownWrapper_),this.mouseDownWrapper_=null);this.sourceBlock_=null;goog.dom.removeNode(this.fieldGroup_);this.validator_=this.textElement_=this.fieldGroup_=null};\nBlockly.Field.prototype.updateEditable=function(){var a=this.fieldGroup_;this.EDITABLE\u0026\u0026a\u0026\u0026(this.sourceBlock_.isEditable()?(Blockly.utils.addClass(a,\"blocklyEditableText\"),Blockly.utils.removeClass(a,\"blocklyNonEditableText\"),this.fieldGroup_.style.cursor=this.CURSOR):(Blockly.utils.addClass(a,\"blocklyNonEditableText\"),Blockly.utils.removeClass(a,\"blocklyEditableText\"),this.fieldGroup_.style.cursor=\"\"))};\nBlockly.Field.prototype.isCurrentlyEditable=function(){return this.EDITABLE\u0026\u0026!!this.sourceBlock_\u0026\u0026this.sourceBlock_.isEditable()};Blockly.Field.prototype.isVisible=function(){return this.visible_};Blockly.Field.prototype.setVisible=function(a){if(this.visible_!=a){this.visible_=a;var b=this.getSvgRoot();b\u0026\u0026(b.style.display=a?\"block\":\"none\",this.render_())}};Blockly.Field.prototype.addArgType=function(a){null==this.argType_\u0026\u0026(this.argType_=[]);this.argType_.push(a)};\nBlockly.Field.prototype.getArgTypes=function(){return null===this.argType_||0===this.argType_.length?null:this.argType_.join(\" \")};Blockly.Field.prototype.setValidator=function(a){this.validator_=a};Blockly.Field.prototype.getValidator=function(){return this.validator_};Blockly.Field.prototype.classValidator=function(a){return a};\nBlockly.Field.prototype.callValidator=function(a){var b=this.classValidator(a);if(null===b)return null;void 0!==b\u0026\u0026(a=b);if(b=this.getValidator()){b=b.call(this,a);if(null===b)return null;void 0!==b\u0026\u0026(a=b)}return a};Blockly.Field.prototype.getSvgRoot=function(){return this.fieldGroup_};\nBlockly.Field.prototype.render_=function(){if(this.visible_\u0026\u0026this.textElement_){goog.dom.removeChildren(this.textElement_);var a=document.createTextNode(this.getDisplayText_());this.textElement_.appendChild(a);this.updateWidth();a=(this.size_.width-this.arrowWidth_)/2;this.sourceBlock_.RTL\u0026\u0026(a+=this.arrowWidth_);if(this.sourceBlock_.isShadow()\u0026\u0026!this.positionArrow){var b=Blockly.BlockSvg.FIELD_WIDTH/2;a=this.sourceBlock_.RTL?Math.min(this.size_.width-b,a):Math.max(b,a)}this.textElement_.setAttribute(\"x\",\na)}this.box_\u0026\u0026(this.box_.setAttribute(\"width\",this.size_.width),this.box_.setAttribute(\"height\",this.size_.height))};Blockly.Field.prototype.updateWidth=function(){var a=Blockly.Field.getCachedWidth(this.textElement_);this.EDITABLE\u0026\u0026(a+=Blockly.BlockSvg.EDITABLE_FIELD_PADDING);this.arrowWidth_=0;this.positionArrow\u0026\u0026(this.arrowWidth_=this.positionArrow(a),a+=this.arrowWidth_);this.box_\u0026\u0026(a+=2*Blockly.BlockSvg.BOX_FIELD_PADDING);this.size_.width=a};\nBlockly.Field.getCachedWidth=function(a){var b=a.textContent+\"\\n\"+a.className.baseVal,c;if(Blockly.Field.cacheWidths_\u0026\u0026(c=Blockly.Field.cacheWidths_[b]))return c;try{c=a.getComputedTextLength()}catch(d){return 8*a.textContent.length}Blockly.Field.cacheWidths_\u0026\u0026(Blockly.Field.cacheWidths_[b]=c);return c};Blockly.Field.startCache=function(){Blockly.Field.cacheReference_++;Blockly.Field.cacheWidths_||(Blockly.Field.cacheWidths_={})};\nBlockly.Field.stopCache=function(){Blockly.Field.cacheReference_--;Blockly.Field.cacheReference_||(Blockly.Field.cacheWidths_=null)};Blockly.Field.prototype.getSize=function(){this.size_.width||this.render_();return this.size_};Blockly.Field.prototype.getScaledBBox_=function(){var a=this.getSize();return new goog.math.Size(a.width*this.sourceBlock_.workspace.scale,a.height*this.sourceBlock_.workspace.scale)};\nBlockly.Field.prototype.getDisplayText_=function(){var a=this.text_;if(!a)return Blockly.Field.NBSP;a.length\u003ethis.maxDisplayLength\u0026\u0026(a=a.substring(0,this.maxDisplayLength-2)+\"\\u2026\");a=a.replace(/\\s/g,Blockly.Field.NBSP);this.sourceBlock_.RTL\u0026\u0026(a+=\"\\u200f\");return a};Blockly.Field.prototype.getText=function(){return this.text_};\nBlockly.Field.prototype.setText=function(a){null!==a\u0026\u0026(a=String(a),a!==this.text_\u0026\u0026(this.text_=a,this.size_.width=0,this.sourceBlock_\u0026\u0026this.sourceBlock_.rendered\u0026\u0026(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_())))};\nBlockly.Field.prototype.updateTextNode_=function(){if(this.textElement_){var a=this.text_;a.length\u003ethis.maxDisplayLength?(a=a.substring(0,this.maxDisplayLength-2)+\"\\u2026\",this.textElement_.setAttribute(\"class\",this.className_+\" blocklyTextTruncated\")):this.textElement_.setAttribute(\"class\",this.className_);goog.dom.removeChildren(this.textElement_);a=a.replace(/\\s/g,Blockly.Field.NBSP);this.sourceBlock_.RTL\u0026\u0026a\u0026\u0026(a+=\"\\u200f\");a||(a=Blockly.Field.NBSP);a=document.createTextNode(a);this.textElement_.appendChild(a);\nthis.size_.width=0}};Blockly.Field.prototype.getValue=function(){return this.getText()};Blockly.Field.prototype.setValue=function(a){if(null!==a){var b=this.getValue();b!=a\u0026\u0026(this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,b,a)),this.setText(a))}};Blockly.Field.prototype.onMouseDown_=function(a){this.sourceBlock_\u0026\u0026this.sourceBlock_.workspace\u0026\u0026(a=this.sourceBlock_.workspace.getGesture(a))\u0026\u0026a.setStartField(this)};\nBlockly.Field.prototype.setTooltip=function(){};Blockly.Field.prototype.getClickTarget_=function(){for(var a=0,b=0,c;c=this.sourceBlock_.inputList[b];b++)a+=c.fieldRow.length;return 1\u003e=a?this.sourceBlock_.getSvgRoot():this.getSvgRoot()};Blockly.Field.prototype.getAbsoluteXY_=function(){return goog.style.getPageOffset(this.getClickTarget_())};Blockly.FieldLabel=function(a,b){this.size_=new goog.math.Size(0,0);this.class_=b;this.setValue(a)};goog.inherits(Blockly.FieldLabel,Blockly.Field);Blockly.FieldLabel.prototype.EDITABLE=!1;\nBlockly.FieldLabel.prototype.init=function(){this.textElement_||(this.textElement_=Blockly.utils.createSvgElement(\"text\",{\"class\":\"blocklyText\",y:Blockly.BlockSvg.FIELD_TOP_PADDING,\"text-anchor\":\"middle\",\"dominant-baseline\":\"middle\"},null),this.class_\u0026\u0026Blockly.utils.addClass(this.textElement_,this.class_),this.visible_||(this.textElement_.style.display=\"none\"),this.sourceBlock_.getSvgRoot().appendChild(this.textElement_),this.textElement_.tooltip=this.sourceBlock_,Blockly.Tooltip.bindMouseEvents(this.textElement_),\nthis.render_())};Blockly.FieldLabel.prototype.dispose=function(){goog.dom.removeNode(this.textElement_);this.textElement_=null};Blockly.FieldLabel.prototype.getSvgRoot=function(){return this.textElement_};Blockly.FieldLabel.prototype.setTooltip=function(a){this.textElement_.tooltip=a};Blockly.FieldLabelEditable=function(a,b){Blockly.FieldLabelEditable.superClass_.constructor.call(this,a,b);this.arrowWidth_=0};goog.inherits(Blockly.FieldLabelEditable,Blockly.FieldLabel);Blockly.FieldLabelEditable.prototype.EDITABLE=!0;Blockly.FieldLabelEditable.prototype.updateWidth=function(){this.size_.width=Blockly.Field.getCachedWidth(this.textElement_)};\nBlockly.FieldLabelEditable.prototype.render_=function(){if(this.visible_\u0026\u0026this.textElement_){goog.dom.removeChildren(this.textElement_);var a=document.createTextNode(this.getDisplayText_());this.textElement_.appendChild(a);this.updateWidth();a=this.size_.width/2;var b=Blockly.BlockSvg.FIELD_WIDTH/2;a=this.sourceBlock_.RTL?Math.min(this.size_.width-b,a):Math.max(b,a);this.textElement_.setAttribute(\"x\",a)}};Blockly.FieldVariableGetter=function(a,b){Blockly.FieldVariableGetter.superClass_.constructor.call(this,a);this.name_=b};goog.inherits(Blockly.FieldVariableGetter,Blockly.Field);Blockly.FieldVariableGetter.prototype.EDITABLE=!0;\nBlockly.FieldVariableGetter.prototype.init=function(){this.fieldGroup_||(Blockly.FieldVariableGetter.superClass_.init.call(this),this.getValue()||this.setValue(Blockly.Variables.generateUniqueName(this.sourceBlock_.isInFlyout?this.sourceBlock_.workspace.targetWorkspace:this.sourceBlock_.workspace)),this.sourceBlock_.isInFlyout||this.sourceBlock_.workspace.createVariable(this.getValue()))};Blockly.FieldVariableGetter.prototype.showEditor_=function(){};\nBlockly.FieldVariableGetter.prototype.updateEditable=function(){};Blockly.Input=function(a,b,c,d){if(a!=Blockly.DUMMY_INPUT\u0026\u0026!b)throw\"Value inputs and statement inputs must have non-empty name.\";this.type=a;this.name=b;this.sourceBlock_=c;this.connection=d;this.fieldRow=[]};Blockly.Input.prototype.align=Blockly.ALIGN_LEFT;Blockly.Input.prototype.visible_=!0;Blockly.Input.prototype.appendField=function(a,b){this.insertFieldAt(this.fieldRow.length,a,b);return this};\nBlockly.Input.prototype.insertFieldAt=function(a,b,c){if(0\u003ea||a\u003ethis.fieldRow.length)throw Error(\"index \"+a+\" out of bounds.\");if(!b\u0026\u0026!c)return this;goog.isString(b)\u0026\u0026(b=new Blockly.FieldLabel(b));b.setSourceBlock(this.sourceBlock_);this.sourceBlock_.rendered\u0026\u0026b.init();b.name=c;b.prefixField\u0026\u0026(a=this.insertFieldAt(a,b.prefixField));this.fieldRow.splice(a,0,b);++a;b.suffixField\u0026\u0026(a=this.insertFieldAt(a,b.suffixField));this.sourceBlock_.rendered\u0026\u0026(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_());\nreturn a};Blockly.Input.prototype.removeField=function(a){for(var b=0,c;c=this.fieldRow[b];b++)if(c.name===a){c.dispose();this.fieldRow.splice(b,1);this.sourceBlock_.rendered\u0026\u0026(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_());return}goog.asserts.fail('Field \"%s\" not found.',a)};Blockly.Input.prototype.isVisible=function(){return this.visible_};\nBlockly.Input.prototype.setVisible=function(a){var b=[];if(this.visible_==a)return b;for(var c=(this.visible_=a)?\"block\":\"none\",d=0,e;e=this.fieldRow[d];d++)e.setVisible(a);this.connection\u0026\u0026(a?b=this.connection.unhideAll():this.connection.hideAll(),d=this.connection.targetBlock())\u0026\u0026(d.getSvgRoot().style.display=c,a||(d.rendered=!1));return b};Blockly.Input.prototype.setCheck=function(a){if(!this.connection)throw\"This input does not have a connection.\";this.connection.setCheck(a);return this};\nBlockly.Input.prototype.setAlign=function(a){this.align=a;this.sourceBlock_.rendered\u0026\u0026this.sourceBlock_.render();return this};Blockly.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var a=0;a\u003cthis.fieldRow.length;a++)this.fieldRow[a].init(this.sourceBlock_)};Blockly.Input.prototype.dispose=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.dispose();this.connection\u0026\u0026this.connection.dispose();this.sourceBlock_=null};Blockly.Warning=function(a){Blockly.Warning.superClass_.constructor.call(this,a);this.createIcon();this.text_={}};goog.inherits(Blockly.Warning,Blockly.Icon);Blockly.Warning.prototype.collapseHidden=!1;\nBlockly.Warning.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyIconShape\",d:\"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z\"},a);Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyIconSymbol\",d:\"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z\"},a);Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyIconSymbol\",x:\"7\",y:\"11\",height:\"2\",width:\"2\"},a)};\nBlockly.Warning.textToDom_=function(a){var b=Blockly.utils.createSvgElement(\"text\",{\"class\":\"blocklyText blocklyBubbleText\",y:Blockly.Bubble.BORDER_WIDTH},null);a=a.split(\"\\n\");for(var c=0;c\u003ca.length;c++){var d=Blockly.utils.createSvgElement(\"tspan\",{dy:\"1em\",x:Blockly.Bubble.BORDER_WIDTH},b),e=document.createTextNode(a[c]);d.appendChild(e)}return b};\nBlockly.Warning.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,\"warningOpen\",!a,a)),a){a=Blockly.Warning.textToDom_(this.getText());this.bubble_=new Blockly.Bubble(this.block_.workspace,a,this.block_.svgPath_,this.iconXY_,null,null);if(this.block_.RTL)for(var b=a.getBBox().width,c=0,d;d=a.childNodes[c];c++)d.setAttribute(\"text-anchor\",\"end\"),d.setAttribute(\"x\",b+Blockly.Bubble.BORDER_WIDTH);this.updateColour();a=this.bubble_.getBubbleSize();\nthis.bubble_.setBubbleSize(a.width,a.height)}else this.bubble_.dispose(),this.body_=this.bubble_=null};Blockly.Warning.prototype.bodyFocus_=function(){this.bubble_.promote_()};Blockly.Warning.prototype.setText=function(a,b){this.text_[b]!=a\u0026\u0026(a?this.text_[b]=a:delete this.text_[b],this.isVisible()\u0026\u0026(this.setVisible(!1),this.setVisible(!0)))};Blockly.Warning.prototype.getText=function(){var a=[],b;for(b in this.text_)a.push(this.text_[b]);return a.join(\"\\n\")};\nBlockly.Warning.prototype.dispose=function(){this.block_.warning=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Block=function(a,b,c){var d=a\u0026\u0026a.getFlyout\u0026\u0026a.getFlyout()?a.getFlyout().getWorkspace():null;this.id=!c||a.getBlockById(c)||d\u0026\u0026d.getBlockById(c)?Blockly.utils.genUid():c;a.blockDB_[this.id]=this;this.previousConnection=this.nextConnection=this.outputConnection=null;this.inputList=[];this.inputsInline=!0;this.disabled=!1;this.tooltip=\"\";this.contextMenu=!0;this.parentBlock_=null;this.childBlocks_=[];this.editable_=this.movable_=this.deletable_=!0;this.checkboxInFlyout_=this.collapsed_=this.isShadow_=\n!1;this.category_=this.outputShape_=this.comment=null;this.xy_=new goog.math.Coordinate(0,0);this.workspace=a;this.isInFlyout=a.isFlyout;this.isInMutator=a.isMutator;this.RTL=a.RTL;this.isInsertionMarker_=!1;b\u0026\u0026(this.type=b,c=Blockly.Blocks[b],goog.asserts.assertObject(c,'Error: Unknown block type \"%s\".',b),goog.mixin(this,c));a.addTopBlock(this);goog.isFunction(this.init)\u0026\u0026this.init();this.inputsInlineDefault=this.inputsInline;Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockCreate(this));\ngoog.isFunction(this.onchange)\u0026\u0026this.setOnChange(this.onchange)};Blockly.Block.prototype.data=null;Blockly.Block.prototype.colour_=\"#FF0000\";Blockly.Block.prototype.colourSecondary_=\"#FF0000\";Blockly.Block.prototype.colourTertiary_=\"#FF0000\";\nBlockly.Block.prototype.dispose=function(a){if(this.workspace){this.onchangeWrapper_\u0026\u0026this.workspace.removeChangeListener(this.onchangeWrapper_);this.unplug(a);Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockDelete(this));Blockly.Events.disable();try{this.workspace\u0026\u0026(this.workspace.removeTopBlock(this),delete this.workspace.blockDB_[this.id],this.workspace=null);Blockly.selected==this\u0026\u0026(Blockly.selected=null);for(var b=this.childBlocks_.length-1;0\u003c=b;b--)this.childBlocks_[b].dispose(!1);\nb=0;for(var c;c=this.inputList[b];b++)c.dispose();this.inputList.length=0;var d=this.getConnections_(!0);for(b=0;b\u003cd.length;b++){var e=d[b];e.isConnected()\u0026\u0026e.disconnect();d[b].dispose()}}finally{Blockly.Events.enable()}}};\nBlockly.Block.prototype.unplug=function(a){if(this.outputConnection)this.outputConnection.isConnected()\u0026\u0026this.outputConnection.disconnect();else if(this.previousConnection){var b=null;this.previousConnection.isConnected()\u0026\u0026(b=this.previousConnection.targetConnection,this.previousConnection.disconnect());var c=this.getNextBlock();a\u0026\u0026c\u0026\u0026(a=this.nextConnection.targetConnection,a.disconnect(),b\u0026\u0026b.checkType_(a)\u0026\u0026b.connect(a))}};\nBlockly.Block.prototype.getConnections_=function(){var a=[];this.outputConnection\u0026\u0026a.push(this.outputConnection);this.previousConnection\u0026\u0026a.push(this.previousConnection);this.nextConnection\u0026\u0026a.push(this.nextConnection);for(var b=0,c;c=this.inputList[b];b++)c.connection\u0026\u0026a.push(c.connection);return a};Blockly.Block.prototype.lastConnectionInStack=function(){for(var a=this.nextConnection;a;){var b=a.targetBlock();if(!b)return a;a=b.nextConnection}return null};\nBlockly.Block.prototype.bumpNeighbours_=function(){console.warn(\"Not expected to reach this bumpNeighbours_ function. The BlockSvg function for bumpNeighbours_ was expected to be called instead.\")};Blockly.Block.prototype.getParent=function(){return this.parentBlock_};Blockly.Block.prototype.getInputWithBlock=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.connection\u0026\u0026c.connection.targetBlock()==a)return c;return null};\nBlockly.Block.prototype.getInputWithConnection=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.connection==a)return c;return null};Blockly.Block.prototype.getSurroundParent=function(){var a=this;do{var b=a;a=a.getParent();if(!a)return null}while(a.getNextBlock()==b);return a};Blockly.Block.prototype.getNextBlock=function(){return this.nextConnection\u0026\u0026this.nextConnection.targetBlock()};Blockly.Block.prototype.getPreviousBlock=function(){return this.previousConnection\u0026\u0026this.previousConnection.targetBlock()};\nBlockly.Block.prototype.getFirstStatementConnection=function(){for(var a=0,b;b=this.inputList[a];a++)if(b.connection\u0026\u0026b.connection.type==Blockly.NEXT_STATEMENT)return b.connection;return null};Blockly.Block.prototype.getRootBlock=function(){var a=this;do{var b=a;a=b.parentBlock_}while(a);return b};Blockly.Block.prototype.getChildren=function(){return this.childBlocks_};\nBlockly.Block.prototype.setParent=function(a){if(a!=this.parentBlock_){if(this.parentBlock_){goog.array.remove(this.parentBlock_.childBlocks_,this);if(this.previousConnection\u0026\u0026this.previousConnection.isConnected())throw\"Still connected to previous block.\";if(this.outputConnection\u0026\u0026this.outputConnection.isConnected())throw\"Still connected to parent block.\";this.parentBlock_=null}else this.workspace.removeTopBlock(this);(this.parentBlock_=a)?a.childBlocks_.push(this):this.workspace.addTopBlock(this)}};\nBlockly.Block.prototype.getDescendants=function(a){for(var b=[this],c,d=0;c=this.childBlocks_[d];d++)a\u0026\u0026c.isShadow_||b.push.apply(b,c.getDescendants(a));return b};Blockly.Block.prototype.isDeletable=function(){return this.deletable_\u0026\u0026!this.isShadow_\u0026\u0026!(this.workspace\u0026\u0026this.workspace.options.readOnly)};Blockly.Block.prototype.setDeletable=function(a){this.deletable_=a};Blockly.Block.prototype.isMovable=function(){return this.movable_\u0026\u0026!this.isShadow_\u0026\u0026!(this.workspace\u0026\u0026this.workspace.options.readOnly)};\nBlockly.Block.prototype.setMovable=function(a){this.movable_=a};Blockly.Block.prototype.isShadow=function(){return this.isShadow_};Blockly.Block.prototype.setShadow=function(a){this.isShadow_=a};Blockly.Block.prototype.isInsertionMarker=function(){return this.isInsertionMarker_};\nBlockly.Block.prototype.setInsertionMarker=function(a){this.isInsertionMarker_!=a\u0026\u0026(this.isInsertionMarker_=a)\u0026\u0026(this.setColour(Blockly.Colours.insertionMarker),this.setOpacity(Blockly.Colours.insertionMarkerOpacity),Blockly.utils.addClass(this.svgGroup_,\"blocklyInsertionMarker\"))};Blockly.Block.prototype.isEditable=function(){return this.editable_\u0026\u0026!(this.workspace\u0026\u0026this.workspace.options.readOnly)};\nBlockly.Block.prototype.setEditable=function(a){this.editable_=a;a=0;for(var b;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.updateEditable()};\nBlockly.Block.prototype.setConnectionsHidden=function(a){if(!a\u0026\u0026this.isCollapsed()){if(this.outputConnection\u0026\u0026this.outputConnection.setHidden(a),this.previousConnection\u0026\u0026this.previousConnection.setHidden(a),this.nextConnection){this.nextConnection.setHidden(a);var b=this.nextConnection.targetBlock();b\u0026\u0026b.setConnectionsHidden(a)}}else for(var c=this.getConnections_(!0),d=0;b=c[d];d++)b.setHidden(a),b.isSuperior()\u0026\u0026(b=b.targetBlock())\u0026\u0026b.setConnectionsHidden(a)};\nBlockly.Block.prototype.getMatchingConnection=function(a,b){var c=this.getConnections_(!0),d=a.getConnections_(!0);if(c.length!=d.length)throw\"Connection lists did not match in length.\";for(var e=0;e\u003cd.length;e++)if(d[e]==b)return c[e];return null};Blockly.Block.prototype.setHelpUrl=function(a){this.helpUrl=a};Blockly.Block.prototype.setTooltip=function(a){this.tooltip=a};Blockly.Block.prototype.getColour=function(){return this.colour_};Blockly.Block.prototype.getColourSecondary=function(){return this.colourSecondary_};\nBlockly.Block.prototype.getColourTertiary=function(){return this.colourTertiary_};Blockly.Block.prototype.makeColour_=function(a){var b=Number(a);if(isNaN(b)){if(goog.isString(a)\u0026\u0026a.match(/^#[0-9a-fA-F]{6}$/))return a;throw\"Invalid colour: \"+a;}return Blockly.hueToRgb(b)};\nBlockly.Block.prototype.setColour=function(a,b,c){this.colour_=this.makeColour_(a);this.colourSecondary_=void 0!==b?this.makeColour_(b):goog.color.rgbArrayToHex(goog.color.darken(goog.color.hexToRgb(this.colour_),.1));this.colourTertiary_=void 0!==c?this.makeColour_(c):goog.color.rgbArrayToHex(goog.color.darken(goog.color.hexToRgb(this.colour_),.2));this.rendered\u0026\u0026this.updateColour()};\nBlockly.Block.prototype.setOnChange=function(a){if(a\u0026\u0026!goog.isFunction(a))throw Error(\"onchange must be a function.\");this.onchangeWrapper_\u0026\u0026this.workspace.removeChangeListener(this.onchangeWrapper_);if(this.onchange=a)this.onchangeWrapper_=a.bind(this),this.workspace.addChangeListener(this.onchangeWrapper_)};Blockly.Block.prototype.getField=function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)if(e.name===a)return e;return null};\nBlockly.Block.prototype.getVars=function(){for(var a=[],b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)(e instanceof Blockly.FieldVariable||e instanceof Blockly.FieldVariableGetter)\u0026\u0026a.push(e.getValue());return a};Blockly.Block.prototype.renameVar=function(a,b){for(var c=0,d;d=this.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)(f instanceof Blockly.FieldVariable||f instanceof Blockly.FieldVariableGetter)\u0026\u0026Blockly.Names.equals(a,f.getValue())\u0026\u0026f.setValue(b)};\nBlockly.Block.prototype.getFieldValue=function(a){return(a=this.getField(a))?a.getValue():null};Blockly.Block.prototype.setFieldValue=function(a,b){var c=this.getField(b);goog.asserts.assertObject(c,'Field \"%s\" not found.',b);c.setValue(a)};\nBlockly.Block.prototype.setPreviousStatement=function(a,b){a?(void 0===b\u0026\u0026(b=null),this.previousConnection||(goog.asserts.assert(!this.outputConnection,\"Remove output connection prior to adding previous connection.\"),this.previousConnection=this.makeConnection_(Blockly.PREVIOUS_STATEMENT)),this.previousConnection.setCheck(b)):this.previousConnection\u0026\u0026(goog.asserts.assert(!this.previousConnection.isConnected(),\"Must disconnect previous statement before removing connection.\"),this.previousConnection.dispose(),\nthis.previousConnection=null)};Blockly.Block.prototype.setNextStatement=function(a,b){a?(void 0===b\u0026\u0026(b=null),this.nextConnection||(this.nextConnection=this.makeConnection_(Blockly.NEXT_STATEMENT)),this.nextConnection.setCheck(b)):this.nextConnection\u0026\u0026(goog.asserts.assert(!this.nextConnection.isConnected(),\"Must disconnect next statement before removing connection.\"),this.nextConnection.dispose(),this.nextConnection=null)};\nBlockly.Block.prototype.setOutput=function(a,b){a?(void 0===b\u0026\u0026(b=null),this.outputConnection||(goog.asserts.assert(!this.previousConnection,\"Remove previous connection prior to adding output connection.\"),this.outputConnection=this.makeConnection_(Blockly.OUTPUT_VALUE)),this.outputConnection.setCheck(b)):this.outputConnection\u0026\u0026(goog.asserts.assert(!this.outputConnection.isConnected(),\"Must disconnect output value before removing connection.\"),this.outputConnection.dispose(),this.outputConnection=\nnull)};Blockly.Block.prototype.setInputsInline=function(a){this.inputsInline!=a\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this,\"inline\",null,this.inputsInline,a)),this.inputsInline=a)};\nBlockly.Block.prototype.getInputsInline=function(){if(void 0!=this.inputsInline)return this.inputsInline;for(var a=1;a\u003cthis.inputList.length;a++)if(this.inputList[a-1].type==Blockly.DUMMY_INPUT\u0026\u0026this.inputList[a].type==Blockly.DUMMY_INPUT)return!1;for(a=1;a\u003cthis.inputList.length;a++)if(this.inputList[a-1].type==Blockly.INPUT_VALUE\u0026\u0026this.inputList[a].type==Blockly.DUMMY_INPUT)return!0;return!1};\nBlockly.Block.prototype.setDisabled=function(a){this.disabled!=a\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this,\"disabled\",null,this.disabled,a)),this.disabled=a)};Blockly.Block.prototype.getInheritedDisabled=function(){for(var a=this.getSurroundParent();a;){if(a.disabled)return!0;a=a.getSurroundParent()}return!1};Blockly.Block.prototype.isCollapsed=function(){return this.collapsed_};\nBlockly.Block.prototype.setCollapsed=function(a){this.collapsed_!=a\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this,\"collapsed\",null,this.collapsed_,a)),this.collapsed_=a)};\nBlockly.Block.prototype.toString=function(a,b){var c=[],d=b||\"?\";if(this.collapsed_)c.push(this.getInput(\"_TEMP_COLLAPSED_INPUT\").fieldRow[0].text_);else for(var e=0,f;f=this.inputList[e];e++){for(var g=0,h;h=f.fieldRow[g];g++)h instanceof Blockly.FieldDropdown\u0026\u0026!h.getValue()?c.push(d):c.push(h.getText());f.connection\u0026\u0026((f=f.connection.targetBlock())?c.push(f.toString(void 0,b)):c.push(d))}c=goog.string.trim(c.join(\" \"))||\"???\";a\u0026\u0026(c=goog.string.truncate(c,a));return c};\nBlockly.Block.prototype.appendValueInput=function(a){return this.appendInput_(Blockly.INPUT_VALUE,a)};Blockly.Block.prototype.appendStatementInput=function(a){return this.appendInput_(Blockly.NEXT_STATEMENT,a)};Blockly.Block.prototype.appendDummyInput=function(a){return this.appendInput_(Blockly.DUMMY_INPUT,a||\"\")};\nBlockly.Block.prototype.jsonInit=function(a){goog.asserts.assert(void 0==a.output||void 0==a.previousStatement,\"Must not have both an output and a previousStatement.\");void 0!==a.colour\u0026\u0026this.setColourFromJson_(a);for(var b=0;void 0!==a[\"message\"+b];)this.interpolate_(a[\"message\"+b],a[\"args\"+b]||[],a[\"lastDummyAlign\"+b]),b++;void 0!==a.inputsInline\u0026\u0026this.setInputsInline(a.inputsInline);void 0!==a.output\u0026\u0026this.setOutput(!0,a.output);void 0!==a.previousStatement\u0026\u0026this.setPreviousStatement(!0,a.previousStatement);\nvoid 0!==a.nextStatement\u0026\u0026this.setNextStatement(!0,a.nextStatement);void 0!==a.tooltip\u0026\u0026(b=a.tooltip,b=Blockly.utils.replaceMessageReferences(b),this.setTooltip(b));void 0!==a.enableContextMenu\u0026\u0026(b=a.enableContextMenu,this.contextMenu=!!b);void 0!==a.helpUrl\u0026\u0026(b=a.helpUrl,b=Blockly.utils.replaceMessageReferences(b),this.setHelpUrl(b));goog.isString(a.extensions)\u0026\u0026(console.warn(\"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '\"+a.type+\"' block.\"),a.extensions=\n[a.extensions]);void 0!==a.mutator\u0026\u0026Blockly.Extensions.apply(a.mutator,this,!0);if(Array.isArray(a.extensions)){var c=a.extensions;for(b=0;b\u003cc.length;++b)Blockly.Extensions.apply(c[b],this,!1)}void 0!==a.outputShape\u0026\u0026this.setOutputShape(a.outputShape);void 0!==a.checkboxInFlyout\u0026\u0026this.setCheckboxInFlyout(a.checkboxInFlyout);void 0!==a.category\u0026\u0026this.setCategory(a.category)};\nBlockly.Block.prototype.mixin=function(a,b){if(goog.isDef(b)\u0026\u0026!goog.isBoolean(b))throw Error(\"opt_disableCheck must be a boolean if provided\");if(!b){var c=[],d;for(d in a)void 0!==this[d]\u0026\u0026c.push(d);if(c.length)throw Error(\"Mixin will overwrite block members: \"+JSON.stringify(c));}goog.mixin(this,a)};\nBlockly.Block.prototype.setColourFromRawValues_=function(a,b,c){a=goog.isString(a)?Blockly.utils.replaceMessageReferences(a):a;b=goog.isString(b)?Blockly.utils.replaceMessageReferences(b):b;c=goog.isString(c)?Blockly.utils.replaceMessageReferences(c):c;this.setColour(a,b,c)};Blockly.Block.prototype.setColourFromJson_=function(a){this.setColourFromRawValues_(a.colour,a.colourSecondary,a.colourTertiary)};\nBlockly.Block.prototype.interpolate_=function(a,b,c){var d=Blockly.utils.tokenizeInterpolation(a),e=[],f=0;a=[];for(var g=0;g\u003cd.length;g++){var h=d[g];if(\"number\"==typeof h){if(0\u003e=h||h\u003eb.length)throw Error('Block \"'+this.type+'\": Message index %'+h+\" out of range.\");if(e[h])throw Error('Block \"'+this.type+'\": Message index %'+h+\" duplicated.\");e[h]=!0;f++;a.push(b[h-1])}else(h=h.trim())\u0026\u0026a.push(h)}if(f!=b.length)throw Error('Block \"'+this.type+'\": Message does not reference all '+b.length+\" arg(s).\");\na.length\u0026\u0026(\"string\"==typeof a[a.length-1]||goog.string.startsWith(a[a.length-1].type,\"field_\"))\u0026\u0026(g={type:\"input_dummy\"},c\u0026\u0026(g.align=c),a.push(g));c={LEFT:Blockly.ALIGN_LEFT,RIGHT:Blockly.ALIGN_RIGHT,CENTRE:Blockly.ALIGN_CENTRE};b=[];for(g=0;g\u003ca.length;g++)if(e=a[g],\"string\"==typeof e)b.push([e,void 0]);else{d=f=null;do if(h=!1,\"string\"==typeof e)f=new Blockly.FieldLabel(e);else switch(e.type){case \"input_value\":d=this.appendValueInput(e.name);break;case \"input_statement\":d=this.appendStatementInput(e.name);\nbreak;case \"input_dummy\":d=this.appendDummyInput(e.name);break;case \"field_label\":f=Blockly.Block.newFieldLabelFromJson_(e);break;case \"field_label_editable\":f=Blockly.Block.newFieldLabelEditableFromJson_(e);break;case \"field_input\":f=Blockly.Block.newFieldTextInputFromJson_(e);break;case \"field_textdropdown\":f=new Blockly.FieldTextDropdown(e.text,e.options);\"boolean\"==typeof e.spellcheck\u0026\u0026f.setSpellcheck(e.spellcheck);break;case \"field_numberdropdown\":f=new Blockly.FieldNumberDropdown(e.value,e.options,\ne.min,e.max,e.precision);break;case \"field_angle\":f=new Blockly.FieldAngle(e.angle);break;case \"field_checkbox\":f=new Blockly.FieldCheckbox(e.checked?\"TRUE\":\"FALSE\");break;case \"field_colour\":f=new Blockly.FieldColour(e.colour);break;case \"field_colour_slider\":f=new Blockly.FieldColourSlider(e.colour);break;case \"field_variable\":f=Blockly.Block.newFieldVariableFromJson_(e);break;case \"field_dropdown\":f=new Blockly.FieldDropdown(e.options);break;case \"field_iconmenu\":f=new Blockly.FieldIconMenu(e.options);\nbreak;case \"field_image\":f=Blockly.Block.newFieldImageFromJson_(e);break;case \"field_number\":f=new Blockly.FieldNumber(e.value,e.min,e.max,e.precision);break;case \"field_variable_getter\":f=Blockly.Block.newFieldVariableGetterFromJson_(e);break;case \"field_date\":if(Blockly.FieldDate){f=new Blockly.FieldDate(e.date);break}default:e.alt\u0026\u0026(e=e.alt,h=!0)}while(h);if(f)b.push([f,e.name]);else if(d){e.check\u0026\u0026d.setCheck(e.check);e.align\u0026\u0026d.setAlign(c[e.align]);for(e=0;e\u003cb.length;e++)d.appendField(b[e][0],\nb[e][1]);b.length=0}}};Blockly.Block.newFieldImageFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.src),c=Number(Blockly.utils.replaceMessageReferences(a.width)),d=Number(Blockly.utils.replaceMessageReferences(a.height)),e=Blockly.utils.replaceMessageReferences(a.alt);return new Blockly.FieldImage(b,c,d,e,!!a.flip_rtl)};Blockly.Block.newFieldLabelFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldLabel(b,a[\"class\"])};\nBlockly.Block.newFieldLabelEditableFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldLabelEditable(b,a[\"class\"])};Blockly.Block.newFieldTextInputFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);b=new Blockly.FieldTextInput(b,a[\"class\"]);\"boolean\"==typeof a.spellcheck\u0026\u0026b.setSpellcheck(a.spellcheck);return b};\nBlockly.Block.newFieldVariableFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.variable);return new Blockly.FieldVariable(b,null,a.variableTypes)};Blockly.Block.newFieldVariableGetterFromJson_=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldVariableGetter(b,a.name,a[\"class\"])};\nBlockly.Block.prototype.appendInput_=function(a,b){var c=null;if(a==Blockly.INPUT_VALUE||a==Blockly.NEXT_STATEMENT)c=this.makeConnection_(a);c=new Blockly.Input(a,b,this,c);this.inputList.push(c);return c};\nBlockly.Block.prototype.moveInputBefore=function(a,b){if(a!=b){for(var c=-1,d=b?-1:this.inputList.length,e=0,f;f=this.inputList[e];e++)if(f.name==a){if(c=e,-1!=d)break}else if(b\u0026\u0026f.name==b\u0026\u0026(d=e,-1!=c))break;goog.asserts.assert(-1!=c,'Named input \"%s\" not found.',a);goog.asserts.assert(-1!=d,'Reference input \"%s\" not found.',b);this.moveNumberedInputBefore(c,d)}};\nBlockly.Block.prototype.moveNumberedInputBefore=function(a,b){goog.asserts.assert(a!=b,\"Can't move input to itself.\");goog.asserts.assert(a\u003cthis.inputList.length,\"Input index \"+a+\" out of bounds.\");goog.asserts.assert(b\u003c=this.inputList.length,\"Reference input \"+b+\" out of bounds.\");var c=this.inputList[a];this.inputList.splice(a,1);a\u003cb\u0026\u0026b--;this.inputList.splice(b,0,c)};\nBlockly.Block.prototype.removeInput=function(a,b){for(var c=0,d;d=this.inputList[c];c++)if(d.name==a){if(d.connection\u0026\u0026d.connection.isConnected()){d.connection.setShadowDom(null);var e=d.connection.targetBlock();e.isShadow()?e.dispose():e.unplug()}d.dispose();this.inputList.splice(c,1);return}b||goog.asserts.fail('Input \"%s\" not found.',a)};Blockly.Block.prototype.getInput=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.name==a)return c;return null};\nBlockly.Block.prototype.getInputTargetBlock=function(a){return(a=this.getInput(a))\u0026\u0026a.connection\u0026\u0026a.connection.targetBlock()};Blockly.Block.prototype.getCommentText=function(){return this.comment||\"\"};Blockly.Block.prototype.setCommentText=function(a){this.comment!=a\u0026\u0026(Blockly.Events.fire(new Blockly.Events.BlockChange(this,\"comment\",null,this.comment,a||\"\")),this.comment=a)};Blockly.Block.prototype.setOutputShape=function(a){this.outputShape_=a};Blockly.Block.prototype.getOutputShape=function(){return this.outputShape_};\nBlockly.Block.prototype.setCategory=function(a){this.category_=a};Blockly.Block.prototype.getCategory=function(){return this.category_};Blockly.Block.prototype.setCheckboxInFlyout=function(a){this.checkboxInFlyout_=a};Blockly.Block.prototype.hasCheckboxInFlyout=function(){return this.checkboxInFlyout_};Blockly.Block.prototype.setWarningText=function(){};Blockly.Block.prototype.setMutator=function(){};Blockly.Block.prototype.getRelativeToSurfaceXY=function(){return this.xy_};\nBlockly.Block.prototype.moveBy=function(a,b){goog.asserts.assert(!this.parentBlock_,\"Block has parent.\");var c=new Blockly.Events.BlockMove(this);this.xy_.translate(a,b);c.recordNew();Blockly.Events.fire(c)};Blockly.Block.prototype.makeConnection_=function(a){return new Blockly.Connection(this,a)};\nBlockly.Block.prototype.allInputsFilled=function(a){void 0===a\u0026\u0026(a=!0);if(!a\u0026\u0026this.isShadow())return!1;for(var b=0,c;c=this.inputList[b];b++)if(c.connection\u0026\u0026(c=c.connection.targetBlock(),!c||!c.allInputsFilled(a)))return!1;return(b=this.getNextBlock())?b.allInputsFilled(a):!0};Blockly.Block.prototype.toDevString=function(){var a=this.type?'\"'+this.type+'\" block':\"Block\";this.id\u0026\u0026(a+=' (id=\"'+this.id+'\")');return a};Blockly.BlockDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.BlockDragSurfaceSvg.prototype.SVG_=null;Blockly.BlockDragSurfaceSvg.prototype.dragGroup_=null;Blockly.BlockDragSurfaceSvg.prototype.container_=null;Blockly.BlockDragSurfaceSvg.prototype.scale_=1;Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_=null;Blockly.BlockDragSurfaceSvg.prototype.dragShadowFilterId_=\"\";Blockly.BlockDragSurfaceSvg.SHADOW_STD_DEVIATION=6;\nBlockly.BlockDragSurfaceSvg.prototype.createDom=function(){if(!this.SVG_){this.SVG_=Blockly.utils.createSvgElement(\"svg\",{xmlns:Blockly.SVG_NS,\"xmlns:html\":Blockly.HTML_NS,\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\",\"class\":\"blocklyBlockDragSurface\"},this.container_);var a=Blockly.utils.createSvgElement(\"defs\",{},this.SVG_);this.dragShadowFilterId_=this.createDropShadowDom_(a);this.dragGroup_=Blockly.utils.createSvgElement(\"g\",{},this.SVG_);this.dragGroup_.setAttribute(\"filter\",\"url(#\"+\nthis.dragShadowFilterId_+\")\")}};\nBlockly.BlockDragSurfaceSvg.prototype.createDropShadowDom_=function(a){var b=String(Math.random()).substring(2);a=Blockly.utils.createSvgElement(\"filter\",{id:\"blocklyDragShadowFilter\"+b,height:\"140%\",width:\"140%\",y:\"-20%\",x:\"-20%\"},a);Blockly.utils.createSvgElement(\"feGaussianBlur\",{\"in\":\"SourceAlpha\",stdDeviation:Blockly.BlockDragSurfaceSvg.SHADOW_STD_DEVIATION},a);b=Blockly.utils.createSvgElement(\"feComponentTransfer\",{result:\"offsetBlur\"},a);Blockly.utils.createSvgElement(\"feFuncA\",{type:\"linear\",\nslope:Blockly.Colours.dragShadowOpacity},b);Blockly.utils.createSvgElement(\"feComposite\",{\"in\":\"SourceGraphic\",in2:\"offsetBlur\",operator:\"over\"},a);return a.id};Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(a){goog.asserts.assert(0==this.dragGroup_.childNodes.length,\"Already dragging a block.\");this.dragGroup_.appendChild(a);this.SVG_.style.display=\"block\";this.surfaceXY_=new goog.math.Coordinate(0,0);document.getElementsByClassName(\"injectionDiv\")[0].style.overflow=\"visible\"};\nBlockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(a,b,c){this.scale_=c;a=a.toFixed(0);b=b.toFixed(0);this.dragGroup_.setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\") scale(\"+c+\")\")};Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var a=this.surfaceXY_.x,b=this.surfaceXY_.y;a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display=\"block\";Blockly.utils.setCssTransform(this.SVG_,\"translate3d(\"+a+\"px, \"+b+\"px, 0px)\")};\nBlockly.BlockDragSurfaceSvg.prototype.translateSurface=function(a,b){this.surfaceXY_=new goog.math.Coordinate(a*this.scale_,b*this.scale_);this.translateSurfaceInternal_()};Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation=function(){var a=Blockly.utils.getRelativeXY(this.SVG_);return new goog.math.Coordinate(a.x/this.scale_,a.y/this.scale_)};Blockly.BlockDragSurfaceSvg.prototype.getGroup=function(){return this.dragGroup_};Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock=function(){return this.dragGroup_.firstChild};\nBlockly.BlockDragSurfaceSvg.prototype.clearAndHide=function(a){a?a.appendChild(this.getCurrentBlock()):this.dragGroup_.removeChild(this.getCurrentBlock());this.SVG_.style.display=\"none\";goog.asserts.assert(0==this.dragGroup_.childNodes.length,\"Drag group was not cleared.\");this.surfaceXY_=null;document.getElementsByClassName(\"injectionDiv\")[0].style.overflow=\"hidden\"};Blockly.ContextMenu={};Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.eventWrapper_=null;Blockly.ContextMenu.show=function(a,b,c){Blockly.WidgetDiv.show(Blockly.ContextMenu,c,null);if(b.length){var d=Blockly.ContextMenu.populate_(b,c);goog.events.listen(d,goog.ui.Component.EventType.ACTION,Blockly.ContextMenu.hide);Blockly.ContextMenu.position_(d,a,c);setTimeout(function(){d.getElement().focus()},1);Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()};\nBlockly.ContextMenu.populate_=function(a,b){var c=new goog.ui.Menu;c.setAllowAutoFocus(!0);c.setRightToLeft(b);for(var d=0,e;e=a[d];d++){var f=new goog.ui.MenuItem(e.text);f.setRightToLeft(b);c.addChild(f,!0);f.setEnabled(e.enabled);e.enabled\u0026\u0026(goog.events.listen(f,goog.ui.Component.EventType.ACTION,e.callback),f.handleContextMenu=function(){goog.events.dispatchEvent(this,goog.ui.Component.EventType.ACTION)})}return c};\nBlockly.ContextMenu.position_=function(a,b,c){var d=goog.dom.getViewportSize(),e=goog.style.getViewportPageOffset(document);a.render(Blockly.WidgetDiv.DIV);a=a.getElement();Blockly.utils.addClass(a,\"blocklyContextMenu\");Blockly.bindEventWithChecks_(a,\"contextmenu\",null,Blockly.utils.noEvent);a=goog.style.getSize(a);var f=b.clientX+e.x,g=b.clientY+e.y;b.clientY+a.height\u003e=d.height\u0026\u0026(g-=a.height);c?a.width\u003e=b.clientX\u0026\u0026(f+=a.width):b.clientX+a.width\u003e=d.width\u0026\u0026(f-=a.width);Blockly.WidgetDiv.position(f,\ng,d,e,c)};Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu);Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.eventWrapper_\u0026\u0026Blockly.unbindEvent_(Blockly.ContextMenu.eventWrapper_)};\nBlockly.ContextMenu.callbackFactory=function(a,b){return function(){Blockly.Events.disable();try{var c=Blockly.Xml.domToBlock(b,a.workspace),d=a.getRelativeToSurfaceXY();d.x=a.RTL?d.x-Blockly.SNAP_RADIUS:d.x+Blockly.SNAP_RADIUS;d.y+=2*Blockly.SNAP_RADIUS;c.moveBy(d.x,d.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()\u0026\u0026!c.isShadow()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockCreate(c));c.select()}};\nBlockly.ContextMenu.blockDeleteOption=function(a){var b=a.getDescendants(!0).length,c=a.getNextBlock();c\u0026\u0026(b-=c.getDescendants(!0).length);return{text:1==b?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace(\"%1\",String(b)),enabled:!0,callback:function(){Blockly.Events.setGroup(!0);a.dispose(!0,!0);Blockly.Events.setGroup(!1)}}};Blockly.ContextMenu.blockHelpOption=function(a){return{enabled:!(goog.isFunction(a.helpUrl)?!a.helpUrl():!a.helpUrl),text:Blockly.Msg.HELP,callback:function(){a.showHelp_()}}};\nBlockly.ContextMenu.blockDuplicateOption=function(a){return{text:Blockly.Msg.DUPLICATE_BLOCK,enabled:!0,callback:a.duplicateAndDragCallback_()}};Blockly.ContextMenu.blockCommentOption=function(a){var b={enabled:!goog.userAgent.IE};a.comment?(b.text=Blockly.Msg.REMOVE_COMMENT,b.callback=function(){a.setCommentText(null)}):(b.text=Blockly.Msg.ADD_COMMENT,b.callback=function(){a.setCommentText(\"\")});return b};\nBlockly.ContextMenu.wsUndoOption=function(a){return{text:Blockly.Msg.UNDO,enabled:a.hasUndoStack(),callback:a.undo.bind(a,!1)}};Blockly.ContextMenu.wsRedoOption=function(a){return{text:Blockly.Msg.REDO,enabled:a.hasRedoStack(),callback:a.undo.bind(a,!0)}};Blockly.ContextMenu.wsCleanupOption=function(a,b){return{text:Blockly.Msg.CLEAN_UP,enabled:1\u003cb,callback:a.cleanUp.bind(a,!0)}};\nBlockly.ContextMenu.toggleCollapseFn_=function(a,b){for(var c=0,d=0;d\u003ca.length;d++)for(var e=a[d];e;)setTimeout(e.setCollapsed.bind(e,b),c),e=e.getNextBlock(),c+=10};Blockly.ContextMenu.wsCollapseOption=function(a,b){return{enabled:a,text:Blockly.Msg.COLLAPSE_ALL,callback:function(){Blockly.ContextMenu.toggleCollapseFn_(b,!0)}}};Blockly.ContextMenu.wsExpandOption=function(a,b){return{enabled:a,text:Blockly.Msg.EXPAND_ALL,callback:function(){Blockly.ContextMenu.toggleCollapseFn_(b,!1)}}};Blockly.BlockSvg=function(a,b,c){this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{},null);this.svgPath_=Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyPath blocklyBlockBackground\"},this.svgGroup_);this.svgPath_.tooltip=this;this.rendered=!1;this.inputShapes_={};this.useDragSurface_=Blockly.utils.is3dSupported()\u0026\u0026!!a.blockDragSurface_;Blockly.Tooltip.bindMouseEvents(this.svgPath_);Blockly.BlockSvg.superClass_.constructor.call(this,a,b,c)};goog.inherits(Blockly.BlockSvg,Blockly.Block);\nBlockly.BlockSvg.prototype.height=0;Blockly.BlockSvg.prototype.width=0;Blockly.BlockSvg.prototype.insertionMarkerMinWidth_=0;Blockly.BlockSvg.prototype.opacity_=1;Blockly.BlockSvg.prototype.dragStartXY_=null;Blockly.BlockSvg.prototype.isGlowingBlock_=!1;Blockly.BlockSvg.prototype.isGlowingStack_=!1;Blockly.BlockSvg.INLINE=-1;\nBlockly.BlockSvg.prototype.initSvg=function(){goog.asserts.assert(this.workspace.rendered,\"Workspace is headless.\");if(!this.isInsertionMarker()){for(var a=0,b;b=this.inputList[a];a++)b.init(),b.type===Blockly.INPUT_VALUE\u0026\u0026this.initInputShape(b);b=this.getIcons();for(a=0;a\u003cb.length;a++)b[a].createIcon()}this.updateColour();this.updateMovable();this.workspace.options.readOnly||this.eventsInit_||Blockly.bindEventWithChecks_(this.getSvgRoot(),\"mousedown\",this,this.onMouseDown_);this.eventsInit_=!0;this.getSvgRoot().parentNode||\nthis.workspace.getCanvas().appendChild(this.getSvgRoot())};Blockly.BlockSvg.prototype.initInputShape=function(a){this.inputShapes_[a.name]||a.connection.getShadowDom()||(this.inputShapes_[a.name]=Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyPath\",style:\"visibility: hidden\"},this.svgGroup_))};\nBlockly.BlockSvg.prototype.select=function(){if(this.isShadow()\u0026\u0026this.getParent())this.getParent().select();else if(Blockly.selected!=this){var a=null;if(Blockly.selected){a=Blockly.selected.id;Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}a=new Blockly.Events.Ui(null,\"selected\",a,this.id);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=this;this.addSelect()}};\nBlockly.BlockSvg.prototype.unselect=function(){if(Blockly.selected==this){var a=new Blockly.Events.Ui(null,\"selected\",this.id,null);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=null;this.removeSelect()}};Blockly.BlockSvg.prototype.setGlowBlock=function(a){this.isGlowingBlock_=a;this.updateColour()};\nBlockly.BlockSvg.prototype.setGlowStack=function(a){this.isGlowingStack_=a;a=this.getSvgRoot();this.isGlowingStack_\u0026\u0026!a.hasAttribute(\"filter\")?a.setAttribute(\"filter\",\"url(#blocklyStackGlowFilter)\"):!this.isGlowingStack_\u0026\u0026a.hasAttribute(\"filter\")\u0026\u0026a.removeAttribute(\"filter\")};Blockly.BlockSvg.prototype.mutator=null;Blockly.BlockSvg.prototype.comment=null;Blockly.BlockSvg.prototype.warning=null;\nBlockly.BlockSvg.prototype.getIcons=function(){var a=[];this.mutator\u0026\u0026a.push(this.mutator);this.comment\u0026\u0026a.push(this.comment);this.warning\u0026\u0026a.push(this.warning);return a};\nBlockly.BlockSvg.prototype.setParent=function(a){if(a!=this.parentBlock_){var b=this.getSvgRoot();if(this.parentBlock_\u0026\u0026b){var c=this.getRelativeToSurfaceXY();Blockly.selected!=this\u0026\u0026(this.workspace.getCanvas().appendChild(b),this.translate(c.x,c.y))}Blockly.Field.startCache();Blockly.BlockSvg.superClass_.setParent.call(this,a);Blockly.Field.stopCache();a\u0026\u0026(c=this.getRelativeToSurfaceXY(),a.getSvgRoot().appendChild(b),b=this.getRelativeToSurfaceXY(),this.moveConnections_(b.x-c.x,b.y-c.y),this.isShadow()\u0026\u0026\nthis.setColour(this.getColour(),this.getColourSecondary(),a.getColourTertiary()))}};\nBlockly.BlockSvg.prototype.getRelativeToSurfaceXY=function(){var a=0,b=0,c=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,d=this.getSvgRoot();if(d){do{var e=Blockly.utils.getRelativeXY(d);a+=e.x;b+=e.y;this.useDragSurface_\u0026\u0026this.workspace.blockDragSurface_.getCurrentBlock()==d\u0026\u0026(e=this.workspace.blockDragSurface_.getSurfaceTranslation(),a+=e.x,b+=e.y);d=d.parentNode}while(d\u0026\u0026d!=this.workspace.getCanvas()\u0026\u0026d!=c)}return new goog.math.Coordinate(a,b)};\nBlockly.BlockSvg.prototype.moveBy=function(a,b){goog.asserts.assert(!this.parentBlock_,\"Block has parent.\");var c=Blockly.Events.isEnabled();if(c)var d=new Blockly.Events.BlockMove(this);var e=this.getRelativeToSurfaceXY();this.translate(e.x+a,e.y+b);this.moveConnections_(a,b);c\u0026\u0026(d.recordNew(),Blockly.Events.fire(d));this.workspace.resizeContents()};Blockly.BlockSvg.prototype.translate=function(a,b){this.getSvgRoot().setAttribute(\"transform\",\"translate(\"+a+\",\"+b+\")\")};\nBlockly.BlockSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var a=this.getRelativeToSurfaceXY();this.clearTransformAttributes_();this.workspace.blockDragSurface_.translateSurface(a.x,a.y);this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}};Blockly.BlockSvg.prototype.moveOffDragSurface_=function(a){this.useDragSurface_\u0026\u0026(this.translate(a.x,a.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))};\nBlockly.BlockSvg.prototype.moveDuringDrag=function(a){this.useDragSurface_?this.workspace.blockDragSurface_.translateSurface(a.x,a.y):(this.svgGroup_.translate_=\"translate(\"+a.x+\",\"+a.y+\")\",this.svgGroup_.setAttribute(\"transform\",this.svgGroup_.translate_+this.svgGroup_.skew_))};Blockly.BlockSvg.prototype.clearTransformAttributes_=function(){Blockly.utils.removeAttribute(this.getSvgRoot(),\"transform\")};\nBlockly.BlockSvg.prototype.snapToGrid=function(){if(this.workspace\u0026\u0026!this.workspace.isDragging()\u0026\u0026!this.getParent()\u0026\u0026!this.isInFlyout){var a=this.workspace.getGrid();if(a\u0026\u0026a.shouldSnap()){var b=a.getSpacing(),c=b/2,d=this.getRelativeToSurfaceXY();a=Math.round((d.x-c)/b)*b+c-d.x;b=Math.round((d.y-c)/b)*b+c-d.y;a=Math.round(a);b=Math.round(b);0==a\u0026\u00260==b||this.moveBy(a,b)}}};\nBlockly.BlockSvg.prototype.getBoundingRectangle=function(){var a=this.getRelativeToSurfaceXY(this),b=this.getHeightWidth();if(this.RTL){var c=new goog.math.Coordinate(a.x-b.width,a.y);a=new goog.math.Coordinate(a.x,a.y+b.height)}else c=new goog.math.Coordinate(a.x,a.y),a=new goog.math.Coordinate(a.x+b.width,a.y+b.height);return{topLeft:c,bottomRight:a}};Blockly.BlockSvg.prototype.setOpacity=function(a){this.opacity_=a;this.rendered\u0026\u0026this.updateColour()};Blockly.BlockSvg.prototype.getOpacity=function(){return this.opacity_};\nBlockly.BlockSvg.prototype.setCollapsed=function(a){if(this.collapsed_!=a){for(var b=[],c=0,d;d=this.inputList[c];c++)b.push.apply(b,d.setVisible(!a));if(a){d=this.getIcons();for(c=0;c\u003cd.length;c++)d[c].setVisible(!1);c=this.toString(Blockly.COLLAPSE_CHARS);this.appendDummyInput(\"_TEMP_COLLAPSED_INPUT\").appendField(c).init()}else this.removeInput(\"_TEMP_COLLAPSED_INPUT\"),this.setWarningText(null);Blockly.BlockSvg.superClass_.setCollapsed.call(this,a);b.length||(b[0]=this);if(this.rendered)for(c=0;a=\nb[c];c++)a.render()}};\nBlockly.BlockSvg.prototype.tab=function(a,b){for(var c=[],d=0,e;e=this.inputList[d];d++){for(var f=0,g;g=e.fieldRow[f];f++)g instanceof Blockly.FieldTextInput\u0026\u0026c.push(g);e.connection\u0026\u0026(e=e.connection.targetBlock())\u0026\u0026c.push(e)}d=c.indexOf(a);-1==d\u0026\u0026(d=b?-1:c.length);(c=c[b?d+1:d-1])?c instanceof Blockly.Field?c.showEditor_():c.tab(null,b):(c=this.outputConnection\u0026\u0026this.outputConnection.targetBlock())?c.tab(this,b):(e=b?this.getNextBlock():this.getPreviousBlock())\u0026\u0026e.tab(this,b)};\nBlockly.BlockSvg.prototype.onMouseDown_=function(a){var b=this.workspace.getGesture(a);b\u0026\u0026b.handleBlockStart(a,this)};Blockly.BlockSvg.prototype.showHelp_=function(){var a=goog.isFunction(this.helpUrl)?this.helpUrl():this.helpUrl;a\u0026\u0026alert(a)};\nBlockly.BlockSvg.prototype.duplicateAndDragCallback_=function(){var a=this;return function(b){setTimeout(function(){var c=a.workspace;if(!a.getSvgRoot())throw Error(\"oldBlock is not rendered.\");var d=Blockly.Xml.blockToDom(a);c.setBulkUpdate(!0);d=Blockly.Xml.domToBlock(d,c);c.setBulkUpdate(!1);Blockly.utils.changeObscuredShadowIds(d);if(!d.getSvgRoot())throw Error(\"newBlock is not rendered.\");var e=a.getRelativeToSurfaceXY();d.moveBy(e.x,e.y);e=e.scale(c.scale);var f=c.getOriginOffsetInPixels();\ne=goog.math.Coordinate.sum(f,e);f=c.getInjectionDiv().getBoundingClientRect();c.startDragWithFakeEvent({clientX:e.x+f.left,clientY:e.y+f.top,type:\"mousedown\",preventDefault:function(){b.preventDefault()},stopPropagation:function(){b.stopPropagation()},target:b.target},d)},0)}};\nBlockly.BlockSvg.prototype.showContextMenu_=function(a){if(!this.workspace.options.readOnly\u0026\u0026this.contextMenu){var b=[];if(this.isDeletable()\u0026\u0026this.isMovable()\u0026\u0026!this.isInFlyout)b.push(Blockly.ContextMenu.blockDuplicateOption(this)),this.isEditable()\u0026\u0026this.workspace.options.comments\u0026\u0026b.push(Blockly.ContextMenu.blockCommentOption(this)),b.push(Blockly.ContextMenu.blockDeleteOption(this));else if(this.parentBlock_\u0026\u0026this.isShadow_){this.parentBlock_.showContextMenu_(a);return}b.push(Blockly.ContextMenu.blockHelpOption(this));\nthis.customContextMenu\u0026\u0026this.customContextMenu(b);Blockly.ContextMenu.show(a,b,this.RTL);Blockly.ContextMenu.currentBlock=this}};Blockly.BlockSvg.prototype.moveConnections_=function(a,b){if(this.rendered){for(var c=this.getConnections_(!1),d=0;d\u003cc.length;d++)c[d].moveBy(a,b);c=this.getIcons();for(d=0;d\u003cc.length;d++)c[d].computeIconLocation();for(d=0;d\u003cthis.childBlocks_.length;d++)this.childBlocks_[d].moveConnections_(a,b)}};\nBlockly.BlockSvg.prototype.setDragging=function(a){if(a){var b=this.getSvgRoot();b.translate_=\"\";b.skew_=\"\";Blockly.draggingConnections_=Blockly.draggingConnections_.concat(this.getConnections_(!0));Blockly.utils.addClass(this.svgGroup_,\"blocklyDragging\")}else Blockly.draggingConnections_=[],Blockly.utils.removeClass(this.svgGroup_,\"blocklyDragging\");for(b=0;b\u003cthis.childBlocks_.length;b++)this.childBlocks_[b].setDragging(a)};\nBlockly.BlockSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.addClass(this.svgGroup_,\"blocklyDraggable\"):Blockly.utils.removeClass(this.svgGroup_,\"blocklyDraggable\")};Blockly.BlockSvg.prototype.setMovable=function(a){Blockly.BlockSvg.superClass_.setMovable.call(this,a);this.updateMovable()};Blockly.BlockSvg.prototype.setEditable=function(a){Blockly.BlockSvg.superClass_.setEditable.call(this,a);a=this.getIcons();for(var b=0;b\u003ca.length;b++)a[b].updateEditable()};\nBlockly.BlockSvg.prototype.setShadow=function(a){Blockly.BlockSvg.superClass_.setShadow.call(this,a);this.updateColour()};Blockly.BlockSvg.prototype.setInsertionMarker=function(a,b){Blockly.BlockSvg.superClass_.setInsertionMarker.call(this,a);this.insertionMarkerMinWidth_=b;this.updateColour()};Blockly.BlockSvg.prototype.getSvgRoot=function(){return this.svgGroup_};\nBlockly.BlockSvg.prototype.dispose=function(a,b){if(this.workspace){Blockly.Tooltip.hide();Blockly.Field.startCache();var c=this.workspace;Blockly.selected==this\u0026\u0026(this.unselect(),this.workspace.cancelCurrentGesture());Blockly.ContextMenu.currentBlock==this\u0026\u0026Blockly.ContextMenu.hide();b\u0026\u0026this.rendered\u0026\u0026(this.unplug(a),this.disposeUiEffect());this.rendered=!1;Blockly.Events.disable();try{for(var d=this.getIcons(),e=0;e\u003cd.length;e++)d[e].dispose()}finally{Blockly.Events.enable()}Blockly.BlockSvg.superClass_.dispose.call(this,\na);goog.dom.removeNode(this.svgGroup_);c.resizeContents();this.svgPath_=this.svgGroup_=null;Blockly.Field.stopCache()}};\nBlockly.BlockSvg.prototype.disposeUiEffect=function(){this.workspace.getAudioManager().play(\"delete\");var a=this.workspace.getSvgXY(this.svgGroup_),b=this.svgGroup_.cloneNode(!0);b.translateX_=a.x;b.translateY_=a.y;b.setAttribute(\"transform\",\"translate(\"+b.translateX_+\",\"+b.translateY_+\")\");this.workspace.getParentSvg().appendChild(b);b.bBox_=b.getBBox();Blockly.BlockSvg.disposeUiStep_(b,this.RTL,new Date,this.workspace.scale)};Blockly.BlockSvg.prototype.connectionUiEffect=function(){this.workspace.getAudioManager().play(\"click\")};\nBlockly.BlockSvg.disposeUiStep_=function(a,b,c,d){var e=(new Date-c)/150;1\u003ce?goog.dom.removeNode(a):(a.setAttribute(\"transform\",\"translate(\"+(a.translateX_+(b?-1:1)*a.bBox_.width*d/2*e)+\",\"+(a.translateY_+a.bBox_.height*d*e)+\") scale(\"+(1-e)*d+\")\"),setTimeout(function(){Blockly.BlockSvg.disposeUiStep_(a,b,c,d)},10))};Blockly.BlockSvg.prototype.disconnectUiEffect=function(){};Blockly.BlockSvg.disconnectUiStop_=function(){};Blockly.BlockSvg.prototype.updateDisabled=function(){};\nBlockly.BlockSvg.prototype.getCommentText=function(){return this.comment?this.comment.getText().replace(/\\s+$/,\"\").replace(/ +\\n/g,\"\\n\"):\"\"};Blockly.BlockSvg.prototype.setCommentText=function(a){var b=!1;goog.isString(a)?(this.comment||(this.comment=new Blockly.Comment(this),b=!0),this.comment.setText(a)):this.comment\u0026\u0026(this.comment.dispose(),b=!0);b\u0026\u0026this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};\nBlockly.BlockSvg.prototype.setWarningText=function(a,b){this.setWarningText.pid_||(this.setWarningText.pid_=Object.create(null));var c=b||\"\";if(c)this.setWarningText.pid_[c]\u0026\u0026(clearTimeout(this.setWarningText.pid_[c]),delete this.setWarningText.pid_[c]);else for(var d in this.setWarningText.pid_)clearTimeout(this.setWarningText.pid_[d]),delete this.setWarningText.pid_[d];if(this.workspace.isDragging()){var e=this;this.setWarningText.pid_[c]=setTimeout(function(){e.workspace\u0026\u0026(delete e.setWarningText.pid_[c],\ne.setWarningText(a,c))},100)}else{this.isInFlyout\u0026\u0026(a=null);d=!1;if(goog.isString(a))this.warning||(this.warning=new Blockly.Warning(this),d=!0),this.warning.setText(a,c);else if(this.warning\u0026\u0026!c)this.warning.dispose(),d=!0;else if(this.warning){d=this.warning.getText();this.warning.setText(\"\",c);var f=this.warning.getText();f||this.warning.dispose();d=d!=f}d\u0026\u0026this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())}};\nBlockly.BlockSvg.prototype.setMutator=function(a){this.mutator\u0026\u0026this.mutator!==a\u0026\u0026this.mutator.dispose();a\u0026\u0026(a.block_=this,this.mutator=a,a.createIcon())};Blockly.BlockSvg.prototype.addSelect=function(){Blockly.utils.addClass(this.svgGroup_,\"blocklySelected\")};Blockly.BlockSvg.prototype.removeSelect=function(){Blockly.utils.removeClass(this.svgGroup_,\"blocklySelected\")};\nBlockly.BlockSvg.prototype.setDeleteStyle=function(a){a?Blockly.utils.addClass(this.svgGroup_,\"blocklyDraggingDelete\"):Blockly.utils.removeClass(this.svgGroup_,\"blocklyDraggingDelete\")};Blockly.BlockSvg.prototype.setColour=function(a,b,c){Blockly.BlockSvg.superClass_.setColour.call(this,a,b,c);this.rendered\u0026\u0026this.updateColour()};Blockly.BlockSvg.prototype.bringToFront=function(){var a=this;do{var b=a.getSvgRoot();b.parentNode.appendChild(b);a=a.getParent()}while(a)};\nBlockly.BlockSvg.prototype.setPreviousStatement=function(a,b){Blockly.BlockSvg.superClass_.setPreviousStatement.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.setNextStatement=function(a,b){Blockly.BlockSvg.superClass_.setNextStatement.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.setOutput=function(a,b){Blockly.BlockSvg.superClass_.setOutput.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};\nBlockly.BlockSvg.prototype.setInputsInline=function(a){Blockly.BlockSvg.superClass_.setInputsInline.call(this,a);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.removeInput=function(a,b){Blockly.BlockSvg.superClass_.removeInput.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.moveNumberedInputBefore=function(a,b){Blockly.BlockSvg.superClass_.moveNumberedInputBefore.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_())};\nBlockly.BlockSvg.prototype.appendInput_=function(a,b){var c=Blockly.BlockSvg.superClass_.appendInput_.call(this,a,b);this.rendered\u0026\u0026(this.render(),this.bumpNeighbours_());return c};Blockly.BlockSvg.prototype.getConnections_=function(a){var b=[];if(a||this.rendered)if(this.outputConnection\u0026\u0026b.push(this.outputConnection),this.previousConnection\u0026\u0026b.push(this.previousConnection),this.nextConnection\u0026\u0026b.push(this.nextConnection),a||!this.collapsed_){a=0;for(var c;c=this.inputList[a];a++)c.connection\u0026\u0026b.push(c.connection)}return b};\nBlockly.BlockSvg.prototype.makeConnection_=function(a){return new Blockly.RenderedConnection(this,a)};\nBlockly.BlockSvg.prototype.bumpNeighbours_=function(){if(this.workspace\u0026\u0026Blockly.dragMode_==Blockly.DRAG_NONE){var a=this.getRootBlock();if(!a.isInFlyout)for(var b=this.getConnections_(!1),c=0,d;d=b[c];c++){d.isConnected()\u0026\u0026d.isSuperior()\u0026\u0026d.targetBlock().bumpNeighbours_();for(var e=d.neighbours_(Blockly.SNAP_RADIUS),f=0,g;g=e[f];f++)d.isConnected()\u0026\u0026g.isConnected()||g.getSourceBlock().getRootBlock()!=a\u0026\u0026(d.isSuperior()?g.bumpAwayFrom_(d):d.bumpAwayFrom_(g))}}};\nBlockly.BlockSvg.prototype.scheduleSnapAndBump=function(){var a=this,b=Blockly.Events.getGroup();setTimeout(function(){Blockly.Events.setGroup(b);a.snapToGrid();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY/2);setTimeout(function(){Blockly.Events.setGroup(b);a.bumpNeighbours_();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY)};Blockly.BlockSvg.render={};Blockly.BlockSvg.GRID_UNIT=4;Blockly.BlockSvg.SEP_SPACE_X=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.SEP_SPACE_Y=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_X=16*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_X_OUTPUT=12*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_X_SHADOW_OUTPUT=10*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_Y=12*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.EXTRA_STATEMENT_ROW_Y=8*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.MIN_BLOCK_X_WITH_STATEMENT=40*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_Y_SINGLE_FIELD_OUTPUT=8*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_BLOCK_Y_REPORTER=10*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MIN_STATEMENT_INPUT_HEIGHT=6*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.NOTCH_WIDTH=8*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.NOTCH_HEIGHT=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.CORNER_RADIUS=1*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.STATEMENT_INPUT_EDGE_WIDTH=4*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.STATEMENT_INPUT_INNER_SPACE=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.START_HAT_HEIGHT=16;Blockly.BlockSvg.START_HAT_PATH=\"c 25,-22 71,-22 96,0\";Blockly.BlockSvg.NOTCH_PATH_LEFT=\"c 2,0 3,1 4,2 l 4,4 c 1,1 2,2 4,2 h 12 c 2,0 3,-1 4,-2 l 4,-4 c 1,-1 2,-2 4,-2\";Blockly.BlockSvg.NOTCH_PATH_RIGHT=\"c -2,0 -3,1 -4,2 l -4,4 c -1,1 -2,2 -4,2 h -12 c -2,0 -3,-1 -4,-2 l -4,-4 c -1,-1 -2,-2 -4,-2\";\nBlockly.BlockSvg.NOTCH_START_PADDING=3*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.TOP_LEFT_CORNER_START=\"m 0,\"+Blockly.BlockSvg.CORNER_RADIUS;Blockly.BlockSvg.TOP_LEFT_CORNER=\"A \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,1 \"+Blockly.BlockSvg.CORNER_RADIUS+\",0\";Blockly.BlockSvg.TOP_RIGHT_CORNER=\"a \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,1 \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS;\nBlockly.BlockSvg.BOTTOM_RIGHT_CORNER=\" a \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,1 -\"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS;Blockly.BlockSvg.BOTTOM_LEFT_CORNER=\"a \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,1 -\"+Blockly.BlockSvg.CORNER_RADIUS+\",-\"+Blockly.BlockSvg.CORNER_RADIUS;\nBlockly.BlockSvg.INNER_TOP_LEFT_CORNER=\" a \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,0 -\"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS;Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER=\"a \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS+\" 0 0,0 \"+Blockly.BlockSvg.CORNER_RADIUS+\",\"+Blockly.BlockSvg.CORNER_RADIUS;\nBlockly.BlockSvg.INPUT_SHAPE_HEXAGONAL=\"M \"+4*Blockly.BlockSvg.GRID_UNIT+\",0 h \"+4*Blockly.BlockSvg.GRID_UNIT+\" l \"+4*Blockly.BlockSvg.GRID_UNIT+\",\"+4*Blockly.BlockSvg.GRID_UNIT+\" l \"+-4*Blockly.BlockSvg.GRID_UNIT+\",\"+4*Blockly.BlockSvg.GRID_UNIT+\" h \"+-4*Blockly.BlockSvg.GRID_UNIT+\" l \"+-4*Blockly.BlockSvg.GRID_UNIT+\",\"+-4*Blockly.BlockSvg.GRID_UNIT+\" l \"+4*Blockly.BlockSvg.GRID_UNIT+\",\"+-4*Blockly.BlockSvg.GRID_UNIT+\" z\";Blockly.BlockSvg.INPUT_SHAPE_HEXAGONAL_WIDTH=12*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.INPUT_SHAPE_SQUARE=Blockly.BlockSvg.TOP_LEFT_CORNER_START+Blockly.BlockSvg.TOP_LEFT_CORNER+\" h \"+(12*Blockly.BlockSvg.GRID_UNIT-2*Blockly.BlockSvg.CORNER_RADIUS)+Blockly.BlockSvg.TOP_RIGHT_CORNER+\" v \"+(8*Blockly.BlockSvg.GRID_UNIT-2*Blockly.BlockSvg.CORNER_RADIUS)+Blockly.BlockSvg.BOTTOM_RIGHT_CORNER+\" h \"+(-12*Blockly.BlockSvg.GRID_UNIT+2*Blockly.BlockSvg.CORNER_RADIUS)+Blockly.BlockSvg.BOTTOM_LEFT_CORNER+\" z\";Blockly.BlockSvg.INPUT_SHAPE_SQUARE_WIDTH=10*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.INPUT_SHAPE_ROUND=\"M \"+4*Blockly.BlockSvg.GRID_UNIT+\",0 h \"+4*Blockly.BlockSvg.GRID_UNIT+\" a \"+4*Blockly.BlockSvg.GRID_UNIT+\" \"+4*Blockly.BlockSvg.GRID_UNIT+\" 0 0 1 0 \"+8*Blockly.BlockSvg.GRID_UNIT+\" h \"+-4*Blockly.BlockSvg.GRID_UNIT+\" a \"+4*Blockly.BlockSvg.GRID_UNIT+\" \"+4*Blockly.BlockSvg.GRID_UNIT+\" 0 0 1 0 -\"+8*Blockly.BlockSvg.GRID_UNIT+\" z\";Blockly.BlockSvg.INPUT_SHAPE_ROUND_WIDTH=12*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.INPUT_SHAPE_HEIGHT=8*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.FIELD_HEIGHT=8*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.FIELD_WIDTH=6*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.EDITABLE_FIELD_PADDING=6;Blockly.BlockSvg.BOX_FIELD_PADDING=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.DROPDOWN_ARROW_PADDING=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.FIELD_WIDTH_MIN_EDIT=8*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.FIELD_WIDTH_MAX_EDIT=Infinity;Blockly.BlockSvg.FIELD_HEIGHT_MAX_EDIT=Blockly.BlockSvg.FIELD_HEIGHT;\nBlockly.BlockSvg.FIELD_TOP_PADDING=.5*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.NUMBER_FIELD_CORNER_RADIUS=4*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.TEXT_FIELD_CORNER_RADIUS=1*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.FIELD_DEFAULT_CORNER_RADIUS=4*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.MAX_DISPLAY_LENGTH=Infinity;Blockly.BlockSvg.INPUT_AND_FIELD_MIN_X=12*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.INLINE_PADDING_Y=1*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.FIELD_TEXTINPUT_FONTSIZE_INITIAL=12;Blockly.BlockSvg.FIELD_TEXTINPUT_FONTSIZE_FINAL=12;Blockly.BlockSvg.FIELD_TEXTINPUT_EXPAND_PAST_TRUNCATION=!1;Blockly.BlockSvg.FIELD_TEXTINPUT_ANIMATE_POSITIONING=!1;\nBlockly.BlockSvg.SHAPE_IN_SHAPE_PADDING={1:{0:5*Blockly.BlockSvg.GRID_UNIT,1:2*Blockly.BlockSvg.GRID_UNIT,2:5*Blockly.BlockSvg.GRID_UNIT,3:5*Blockly.BlockSvg.GRID_UNIT},2:{0:3*Blockly.BlockSvg.GRID_UNIT,1:3*Blockly.BlockSvg.GRID_UNIT,2:1*Blockly.BlockSvg.GRID_UNIT,3:2*Blockly.BlockSvg.GRID_UNIT},3:{0:2*Blockly.BlockSvg.GRID_UNIT,1:2*Blockly.BlockSvg.GRID_UNIT,2:2*Blockly.BlockSvg.GRID_UNIT,3:2*Blockly.BlockSvg.GRID_UNIT}};Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS=5*Blockly.BlockSvg.GRID_UNIT;\nBlockly.BlockSvg.TOP_LEFT_CORNER_DEFINE_HAT=\"a \"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\",\"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\" 0 0,1 \"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\",-\"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS;Blockly.BlockSvg.TOP_RIGHT_CORNER_DEFINE_HAT=\"a \"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\",\"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\" 0 0,1 \"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS+\",\"+Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS;\nBlockly.BlockSvg.DEFINE_BLOCK_PADDING_RIGHT=2*Blockly.BlockSvg.GRID_UNIT;Blockly.BlockSvg.DEFINE_BLOCK_TYPE=\"procedures_defnoreturn\";\nBlockly.BlockSvg.prototype.updateColour=function(){var a=this.getColourTertiary(),b=this.isShadow()\u0026\u0026!Blockly.utils.isShadowArgumentReporter(this);b\u0026\u0026this.parentBlock_\u0026\u0026(a=this.parentBlock_.getColourTertiary(),this.inputList[0]\u0026\u0026this.inputList[0].fieldRow[0]\u0026\u0026(this.inputList[0].fieldRow[0]instanceof Blockly.FieldColour||this.inputList[0].fieldRow[0]instanceof Blockly.FieldColourSlider)\u0026\u0026(a=Blockly.Colours.colourPickerStroke));this.svgPath_.setAttribute(\"stroke\",a);a=this.isGlowingBlock_||b?this.getColourSecondary():\nthis.getColour();this.svgPath_.setAttribute(\"fill\",a);this.svgPath_.setAttribute(\"fill-opacity\",this.getOpacity());for(var c in this.inputShapes_)this.inputShapes_[c].setAttribute(\"fill\",this.getColourTertiary());c=this.getIcons();for(a=0;a\u003cc.length;a++)c[a].updateColour();for(c=0;a=this.inputList[c];c++){b=0;for(var d;d=a.fieldRow[b];b++)d.setText(null)}};\nBlockly.BlockSvg.prototype.highlightForReplacement=function(a){a?(this.svgPath_.setAttribute(\"filter\",\"url(#blocklyReplacementGlowFilter)\"),Blockly.utils.addClass(this.svgGroup_,\"blocklyReplaceable\")):(this.svgPath_.removeAttribute(\"filter\"),Blockly.utils.removeClass(this.svgGroup_,\"blocklyReplaceable\"))};\nBlockly.BlockSvg.prototype.highlightShapeForInput=function(a,b){var c=this.getInputWithConnection(a);if(!c)throw\"No input found for the connection\";c=this.inputShapes_[c.name];b?(c.setAttribute(\"filter\",\"url(#blocklyReplacementGlowFilter)\"),Blockly.utils.addClass(this.svgGroup_,\"blocklyReplaceable\")):(c.removeAttribute(\"filter\"),Blockly.utils.removeClass(this.svgGroup_,\"blocklyReplaceable\"))};\nBlockly.BlockSvg.prototype.getHeightWidth=function(){var a=this.height,b=this.width,c=this.getNextBlock();c\u0026\u0026(c=c.getHeightWidth(),a+=c.height,a-=Blockly.BlockSvg.NOTCH_HEIGHT,b=Math.max(b,c.width));return{height:a,width:b}};\nBlockly.BlockSvg.prototype.render=function(a){Blockly.Field.startCache();this.rendered=!0;var b=Blockly.BlockSvg.SEP_SPACE_X;this.RTL\u0026\u0026(b=-b);for(var c=this.getIcons(),d=0;d\u003cc.length;d++)b=c[d].renderIcon(b);b+=this.RTL?Blockly.BlockSvg.SEP_SPACE_X:-Blockly.BlockSvg.SEP_SPACE_X;c=this.renderCompute_(b);this.renderDraw_(b,c);this.renderMoveConnections_();this.renderClassify_();!1!==a\u0026\u0026((a=this.getParent())?a.render(!0):Blockly.resizeSvgContents(this.workspace));Blockly.Field.stopCache()};\nBlockly.BlockSvg.prototype.renderFields_=function(a,b,c){this.RTL\u0026\u0026(b=-b);for(var d=0,e;e=a[d];d++){var f=e.getSvgRoot();if(f){!this.previousConnection||e instanceof Blockly.FieldLabel||e instanceof Blockly.FieldImage||(b=this.RTL?Math.min(b,-Blockly.BlockSvg.INPUT_AND_FIELD_MIN_X):Math.max(b,Blockly.BlockSvg.INPUT_AND_FIELD_MIN_X));var g=-e.getSize().height/2,h=\"\";if(this.RTL){var k=b-=e.renderSep+e.renderWidth;g=c+g;e.renderWidth\u0026\u0026(b-=Blockly.BlockSvg.SEP_SPACE_X)}else k=b+e.renderSep,g=c+g,e.renderWidth\u0026\u0026\n(b+=e.renderSep+e.renderWidth+Blockly.BlockSvg.SEP_SPACE_X);this.RTL\u0026\u0026e instanceof Blockly.FieldImage\u0026\u0026e.getFlipRTL()\u0026\u0026(h=\"scale(-1 1)\",k+=e.renderWidth);f.setAttribute(\"transform\",\"translate(\"+k+\", \"+g+\") \"+h);this.isInsertionMarker()\u0026\u0026f.setAttribute(\"display\",\"none\")}}return this.RTL?-b:b};\nBlockly.BlockSvg.prototype.renderCompute_=function(a){var b=this.inputList,c=[];c.rightEdge=0;for(var d=c.bottomEdge=0,e=!1,f=!1,g=!1,h=void 0,k,m=0,l;l=b[m];m++)if(l.isVisible()){if(h\u0026\u0026h!=Blockly.NEXT_STATEMENT\u0026\u0026l.type!=Blockly.NEXT_STATEMENT)var n=c[c.length-1];else h=l.type,n=this.createRowForInput_(l),c.push(n);n.push(l);l.renderHeight=this.computeInputHeight_(l,n,k);l.renderWidth=this.computeInputWidth_(l);n.statementNotchAtBottom=!0;l.connection\u0026\u0026l.connection.type===Blockly.NEXT_STATEMENT\u0026\u0026\n(k=l.connection.targetBlock())\u0026\u0026!k.lastConnectionInStack()\u0026\u0026(n.statementNotchAtBottom=!1);if(l.connection){k=l.connection.targetBlock();var p=0;k?(p=k.getHeightWidth(),k=p.height,p=p.width):k=Blockly.BlockSvg.INPUT_SHAPE_HEIGHT;l.connection.type===Blockly.INPUT_VALUE\u0026\u0026(k+=2*Blockly.BlockSvg.INLINE_PADDING_Y);l.connection.type===Blockly.NEXT_STATEMENT\u0026\u0026n.statementNotchAtBottom\u0026\u0026(k-=Blockly.BlockSvg.NOTCH_HEIGHT);l.renderHeight=Math.max(l.renderHeight,k);l.renderWidth=Math.max(l.renderWidth,p)}n.height=\nMath.max(n.height,l.renderHeight);l.fieldWidth=0;1==c.length\u0026\u0026(l.fieldWidth+=this.RTL?-a:a);k=!1;p=0;for(var q;q=l.fieldRow[p];p++){0!=p\u0026\u0026(l.fieldWidth+=Blockly.BlockSvg.SEP_SPACE_X);var r=q.getSize();q.renderWidth=r.width;q.renderSep=k\u0026\u0026q.EDITABLE?Blockly.BlockSvg.SEP_SPACE_X:0;l.fieldWidth+=q.renderWidth+q.renderSep;n.height=Math.max(n.height,r.height);k=q.EDITABLE}n.type!=Blockly.BlockSvg.INLINE\u0026\u0026(n.type==Blockly.NEXT_STATEMENT?(f=!0,d=Math.max(d,l.fieldWidth)):n.type==Blockly.INPUT_VALUE?e=!0:\nn.type==Blockly.DUMMY_INPUT\u0026\u0026(g=!0));k=n}this.computeOutputPadding_(c);c.statementEdge=Blockly.BlockSvg.STATEMENT_INPUT_EDGE_WIDTH+d;c.rightEdge=this.computeRightEdge_(c.rightEdge,f);for(m=0;m\u003cc.length;m++)c.bottomEdge+=c[m].height;c.hasValue=e;c.hasStatement=f;c.hasDummy=g;return c};\nBlockly.BlockSvg.prototype.computeInputWidth_=function(a){if(a.type!=Blockly.INPUT_VALUE||a.connection\u0026\u0026a.connection.isConnected())return 0;switch(a.connection.getOutputShape()){case Blockly.OUTPUT_SHAPE_SQUARE:return Blockly.BlockSvg.INPUT_SHAPE_SQUARE_WIDTH;case Blockly.OUTPUT_SHAPE_ROUND:return Blockly.BlockSvg.INPUT_SHAPE_ROUND_WIDTH;case Blockly.OUTPUT_SHAPE_HEXAGONAL:return Blockly.BlockSvg.INPUT_SHAPE_HEXAGONAL_WIDTH;default:return 0}};\nBlockly.BlockSvg.prototype.computeInputHeight_=function(a,b,c){return 1===this.inputList.length\u0026\u0026this.outputConnection\u0026\u0026this.isShadow()\u0026\u0026!Blockly.utils.isShadowArgumentReporter(this)?Blockly.BlockSvg.MIN_BLOCK_Y_SINGLE_FIELD_OUTPUT:this.outputConnection?Blockly.BlockSvg.MIN_BLOCK_Y_REPORTER:b.type==Blockly.NEXT_STATEMENT?Blockly.BlockSvg.MIN_STATEMENT_INPUT_HEIGHT:c\u0026\u0026c.type==Blockly.NEXT_STATEMENT?Blockly.BlockSvg.EXTRA_STATEMENT_ROW_Y:Blockly.BlockSvg.MIN_BLOCK_Y};\nBlockly.BlockSvg.prototype.createRowForInput_=function(a){var b=[];b.type=a.type!=Blockly.NEXT_STATEMENT?Blockly.BlockSvg.INLINE:a.type;b.height=0;b.paddingStart=Blockly.BlockSvg.SEP_SPACE_X;b.paddingEnd=Blockly.BlockSvg.SEP_SPACE_X;return b};\nBlockly.BlockSvg.prototype.computeRightEdge_=function(a,b){var c=a;this.previousConnection||this.nextConnection?c=Math.max(c,Blockly.BlockSvg.MIN_BLOCK_X):this.outputConnection\u0026\u0026(c=this.isShadow()\u0026\u0026!Blockly.utils.isShadowArgumentReporter(this)?Math.max(c,Blockly.BlockSvg.MIN_BLOCK_X_SHADOW_OUTPUT):Math.max(c,Blockly.BlockSvg.MIN_BLOCK_X_OUTPUT));b\u0026\u0026(c=Math.max(c,Blockly.BlockSvg.MIN_BLOCK_X_WITH_STATEMENT));0\u003cthis.insertionMarkerMinWidth_\u0026\u0026(c=Math.max(c,this.insertionMarkerMinWidth_));return c};\nBlockly.BlockSvg.prototype.computeOutputPadding_=function(a){if(this.getOutputShape()\u0026\u0026this.outputConnection\u0026\u0026(!this.isShadow()||Blockly.utils.isShadowArgumentReporter(this))\u0026\u0026!(1\u003ca.length)){a=a[0];var b=this.getOutputShape();a.paddingStart=0;a.paddingEnd=0;var c=a[0];if(c.fieldRow[0])var d=0;else d=c.connection,d=d.targetConnection?d.targetConnection.getSourceBlock().getOutputShape():d.getOutputShape(),b==Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026d!=Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026(c=c.renderHeight-Blockly.BlockSvg.MIN_BLOCK_Y_REPORTER,\na.paddingStart+=c/2);a.paddingStart+=Blockly.BlockSvg.SHAPE_IN_SHAPE_PADDING[b][d];c=a[a.length-1];c.connection?(d=c.connection,d=d.targetConnection?d.targetConnection.getSourceBlock().getOutputShape():d.getOutputShape(),b==Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026d!=Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026(c=c.renderHeight-Blockly.BlockSvg.MIN_BLOCK_Y_REPORTER,a.paddingEnd+=c/2)):d=0;a.paddingEnd+=Blockly.BlockSvg.SHAPE_IN_SHAPE_PADDING[b][d]}};\nBlockly.BlockSvg.prototype.renderDraw_=function(a,b){this.squareTopLeftCorner_=this.startHat_=!1;this.outputConnection||this.previousConnection||(this.startHat_=this.squareTopLeftCorner_=!0,b.rightEdge=Math.max(b.rightEdge,100));this.edgeShapeWidth_=0;this.edgeShape_=null;if(this.outputConnection){var c=this.getOutputShape();if(c===Blockly.OUTPUT_SHAPE_HEXAGONAL||c===Blockly.OUTPUT_SHAPE_ROUND)this.edgeShapeWidth_=b.bottomEdge/2,this.edgeShape_=c,this.squareTopLeftCorner_=!0}c=[];this.renderDrawTop_(c,\nb.rightEdge);var d=this.renderDrawRight_(c,b,a);this.renderDrawBottom_(c,d);this.renderDrawLeft_(c);c=c.join(\" \");this.svgPath_.setAttribute(\"d\",c);this.RTL\u0026\u0026this.svgPath_.setAttribute(\"transform\",\"scale(-1 1)\")};\nBlockly.BlockSvg.prototype.renderClassify_=function(){var a=[];if(this.outputConnection)this.isShadow_?a.push(\"argument\"):a.push(\"reporter\"),this.edgeShape_===Blockly.OUTPUT_SHAPE_HEXAGONAL?a.push(\"boolean\"):this.edgeShape_===Blockly.OUTPUT_SHAPE_ROUND\u0026\u0026a.push(\"round\");else{for(var b=this.inputList,c=0,d=0,e;e=b[d];d++)e.connection\u0026\u0026e.connection.type===Blockly.NEXT_STATEMENT\u0026\u0026c++;c\u0026\u0026(a.push(\"c-block\"),a.push(\"c-\"+c));this.startHat_?a.push(\"hat\"):c||a.push(\"stack\");this.nextConnection||a.push(\"end\")}this.svgGroup_.setAttribute(\"data-shapes\",\na.join(\" \"));this.getCategory()\u0026\u0026this.svgGroup_.setAttribute(\"data-category\",this.getCategory())};\nBlockly.BlockSvg.prototype.renderDrawTop_=function(a,b){this.type==Blockly.BlockSvg.DEFINE_BLOCK_TYPE?(a.push(\"m 0, 0\"),a.push(Blockly.BlockSvg.TOP_LEFT_CORNER_DEFINE_HAT)):(this.squareTopLeftCorner_?(a.push(\"m 0,0\"),this.startHat_\u0026\u0026a.push(Blockly.BlockSvg.START_HAT_PATH),this.edgeShapeWidth_\u0026\u0026a.push(\"m \"+this.edgeShapeWidth_+\",0\")):(a.push(Blockly.BlockSvg.TOP_LEFT_CORNER_START),a.push(Blockly.BlockSvg.TOP_LEFT_CORNER)),this.previousConnection\u0026\u0026(a.push(\"H\",Blockly.BlockSvg.NOTCH_START_PADDING),a.push(Blockly.BlockSvg.NOTCH_PATH_LEFT),\nthis.previousConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,0)));this.width=b};\nBlockly.BlockSvg.prototype.renderDrawRight_=function(a,b,c){for(var d,e=0,f,g,h=0,k;k=b[h];h++){d=k.paddingStart;0==h\u0026\u0026(d+=this.RTL?-c:c);if(k.type==Blockly.BlockSvg.INLINE){for(var m=0,l;l=k[m];m++)if(f=e+k.height/2,d=Blockly.BlockSvg.getAlignedCursor_(d,l,b.rightEdge),d=this.renderFields_(l.fieldRow,d,f),l.type==Blockly.INPUT_VALUE){this.previousConnection\u0026\u0026(d=Math.max(d,Blockly.BlockSvg.INPUT_AND_FIELD_MIN_X));f=this.RTL?-d:d;var n=k.height/2;g=e+n;l.connection.setOffsetInBlock(f,g);this.renderInputShape_(l,\nd,e+n);d+=l.renderWidth+Blockly.BlockSvg.SEP_SPACE_X}d-=Blockly.BlockSvg.SEP_SPACE_X;d+=k.paddingEnd;b.rightEdge=Math.max(d,b.rightEdge);d=Math.max(d,b.rightEdge);this.width=Math.max(this.width,d);this.edgeShape_?a.push(\"H\",d-this.edgeShapeWidth_):(a.push(\"H\",d-Blockly.BlockSvg.CORNER_RADIUS-this.edgeShapeWidth_),a.push(Blockly.BlockSvg.TOP_RIGHT_CORNER));this.edgeShape_||a.push(\"v\",k.height-2*Blockly.BlockSvg.CORNER_RADIUS)}else k.type==Blockly.NEXT_STATEMENT\u0026\u0026(l=k[0],f=e,f+=Blockly.BlockSvg.MIN_STATEMENT_INPUT_HEIGHT,\nthis.renderFields_(l.fieldRow,d,f),d=b.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH,this.type==Blockly.BlockSvg.DEFINE_BLOCK_TYPE?this.renderDefineBlock_(a,b,l,k):Blockly.BlockSvg.drawStatementInputFromTopRight_(a,d,b.rightEdge,k),f=this.RTL?-d:d,l.connection.setOffsetInBlock(f,e),l.connection.isConnected()\u0026\u0026(this.width=Math.max(this.width,b.statementEdge+l.connection.targetBlock().getHeightWidth().width)),this.type==Blockly.BlockSvg.DEFINE_BLOCK_TYPE||h!=b.length-1\u0026\u0026b[h+1].type!=Blockly.NEXT_STATEMENT||\n(a.push(Blockly.BlockSvg.TOP_RIGHT_CORNER),a.push(\"v\",Blockly.BlockSvg.EXTRA_STATEMENT_ROW_Y-2*Blockly.BlockSvg.CORNER_RADIUS),e+=Blockly.BlockSvg.EXTRA_STATEMENT_ROW_Y));e+=k.height}this.drawEdgeShapeRight_(a);b.length||(e=Blockly.BlockSvg.MIN_BLOCK_Y,a.push(\"V\",e));return e};\nBlockly.BlockSvg.prototype.renderInputShape_=function(a,b,c){var d=this.inputShapes_[a.name];d\u0026\u0026(a.connection.targetConnection?d.setAttribute(\"style\",\"visibility: hidden\"):(a=Blockly.BlockSvg.getInputShapeInfo_(a.connection.getOutputShape()),b=this.RTL?-b-a.width:b,c-=Blockly.BlockSvg.INPUT_SHAPE_HEIGHT/2,d.setAttribute(\"d\",a.path),d.setAttribute(\"transform\",\"translate(\"+b+\",\"+c+\")\"),d.setAttribute(\"data-argument-type\",a.argType),d.setAttribute(\"style\",\"visibility: visible\")))};\nBlockly.BlockSvg.prototype.renderDrawBottom_=function(a,b){this.height=b;this.edgeShape_||a.push(Blockly.BlockSvg.BOTTOM_RIGHT_CORNER);this.nextConnection\u0026\u0026(a.push(\"H\",Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.NOTCH_START_PADDING+Blockly.BlockSvg.CORNER_RADIUS,\" \"),a.push(Blockly.BlockSvg.NOTCH_PATH_RIGHT),this.nextConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,b),this.height+=Blockly.BlockSvg.NOTCH_HEIGHT);this.edgeShape_?a.push(\"H\",this.edgeShapeWidth_):\n(a.push(\"H\",Blockly.BlockSvg.CORNER_RADIUS),a.push(Blockly.BlockSvg.BOTTOM_LEFT_CORNER))};\nBlockly.BlockSvg.prototype.renderDrawLeft_=function(a){this.outputConnection\u0026\u0026this.outputConnection.setOffsetInBlock(0,this.height/2);this.edgeShape_\u0026\u0026(this.edgeShape_===Blockly.OUTPUT_SHAPE_ROUND?a.push(\"a \"+this.edgeShapeWidth_+\" \"+this.edgeShapeWidth_+\" 0 0 1 0 -\"+2*this.edgeShapeWidth_):this.edgeShape_===Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026a.push(\"l \"+-this.edgeShapeWidth_+\" \"+-this.edgeShapeWidth_+\" l \"+this.edgeShapeWidth_+\" \"+-this.edgeShapeWidth_));a.push(\"z\")};\nBlockly.BlockSvg.prototype.drawEdgeShapeRight_=function(a){this.edgeShape_\u0026\u0026(this.edgeShape_===Blockly.OUTPUT_SHAPE_ROUND?a.push(\"a \"+this.edgeShapeWidth_+\" \"+this.edgeShapeWidth_+\" 0 0 1 0 \"+2*this.edgeShapeWidth_):this.edgeShape_===Blockly.OUTPUT_SHAPE_HEXAGONAL\u0026\u0026a.push(\"l \"+this.edgeShapeWidth_+\" \"+this.edgeShapeWidth_+\" l \"+-this.edgeShapeWidth_+\" \"+this.edgeShapeWidth_))};Blockly.BlockSvg.prototype.positionNewBlock=function(a,b,c){b.type==Blockly.NEXT_STATEMENT\u0026\u0026a.moveBy(c.x_-b.x_,c.y_-b.y_)};\nBlockly.BlockSvg.drawStatementInputFromTopRight_=function(a,b,c,d){Blockly.BlockSvg.drawStatementInputTop_(a,b);a.push(\"v\",d.height-2*Blockly.BlockSvg.CORNER_RADIUS);Blockly.BlockSvg.drawStatementInputBottom_(a,c,d)};\nBlockly.BlockSvg.drawStatementInputTop_=function(a,b){a.push(Blockly.BlockSvg.BOTTOM_RIGHT_CORNER);a.push(\"H\",b+Blockly.BlockSvg.STATEMENT_INPUT_INNER_SPACE+2*Blockly.BlockSvg.CORNER_RADIUS);a.push(Blockly.BlockSvg.NOTCH_PATH_RIGHT);a.push(\"h\",\"-\"+Blockly.BlockSvg.STATEMENT_INPUT_INNER_SPACE);a.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER)};\nBlockly.BlockSvg.drawStatementInputBottom_=function(a,b,c){a.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER);c.statementNotchAtBottom\u0026\u0026(a.push(\"h \",Blockly.BlockSvg.STATEMENT_INPUT_INNER_SPACE),a.push(Blockly.BlockSvg.NOTCH_PATH_LEFT));a.push(\"H\",b-Blockly.BlockSvg.CORNER_RADIUS)};\nBlockly.BlockSvg.prototype.renderDefineBlock_=function(a,b,c,d){b=c.connection\u0026\u0026c.connection.targetBlock()?b.statementEdge+c.connection.targetBlock().getHeightWidth().width+Blockly.BlockSvg.DEFINE_BLOCK_PADDING_RIGHT:Blockly.BlockSvg.MIN_BLOCK_X_WITH_STATEMENT;b-=Blockly.BlockSvg.DEFINE_HAT_CORNER_RADIUS;a.push(\"H\",b);a.push(Blockly.BlockSvg.TOP_RIGHT_CORNER_DEFINE_HAT);d.height+=3*Blockly.BlockSvg.GRID_UNIT;a.push(\"v\",d.height)};\nBlockly.BlockSvg.getInputShapeInfo_=function(a){switch(a){case Blockly.OUTPUT_SHAPE_HEXAGONAL:a=Blockly.BlockSvg.INPUT_SHAPE_HEXAGONAL;var b=Blockly.BlockSvg.INPUT_SHAPE_HEXAGONAL_WIDTH;var c=\"boolean\";break;case Blockly.OUTPUT_SHAPE_ROUND:a=Blockly.BlockSvg.INPUT_SHAPE_ROUND;b=Blockly.BlockSvg.INPUT_SHAPE_ROUND_WIDTH;c=\"round\";break;default:a=Blockly.BlockSvg.INPUT_SHAPE_SQUARE,b=Blockly.BlockSvg.INPUT_SHAPE_SQUARE_WIDTH,c=\"square\"}return{path:a,argType:c,width:b}};\nBlockly.BlockSvg.getAlignedCursor_=function(a,b,c){b.align===Blockly.ALIGN_RIGHT?a+=c-b.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X:b.align===Blockly.ALIGN_CENTRE\u0026\u0026(a=Math.max(a,c/2-b.fieldWidth/2));return a};\nBlockly.BlockSvg.prototype.renderMoveConnections_=function(){var a=this.getRelativeToSurfaceXY();this.previousConnection\u0026\u0026this.previousConnection.moveToOffset(a);this.outputConnection\u0026\u0026this.outputConnection.moveToOffset(a);for(var b=0;b\u003cthis.inputList.length;b++){var c=this.inputList[b].connection;c\u0026\u0026(c.moveToOffset(a),c.isConnected()\u0026\u0026c.tighten_())}this.nextConnection\u0026\u0026(this.nextConnection.moveToOffset(a),this.nextConnection.isConnected()\u0026\u0026this.nextConnection.tighten_())};Blockly.Msg={};goog.getMsgOrig=goog.getMsg;goog.getMsg=function(a,b){var c=goog.getMsg.blocklyMsgMap[a];c\u0026\u0026(a=Blockly.Msg[c]);return goog.getMsgOrig(a,b)};goog.getMsg.blocklyMsgMap={Today:\"TODAY\"};Blockly.FieldTextInput=function(a,b,c){Blockly.FieldTextInput.superClass_.constructor.call(this,a,b);this.setRestrictor(c);this.addArgType(\"text\")};goog.inherits(Blockly.FieldTextInput,Blockly.Field);Blockly.FieldTextInput.ANIMATION_TIME=.25;Blockly.FieldTextInput.TEXT_MEASURE_PADDING_MAGIC=45;Blockly.FieldTextInput.prototype.CURSOR=\"text\";Blockly.FieldTextInput.prototype.spellcheck_=!0;\nBlockly.FieldTextInput.prototype.init=function(){Blockly.FieldTextInput.superClass_.init.call(this);this.sourceBlock_.isShadow()||(this.box_=Blockly.utils.createSvgElement(\"rect\",{rx:Blockly.BlockSvg.CORNER_RADIUS,ry:Blockly.BlockSvg.CORNER_RADIUS,x:0,y:0,width:this.size_.width,height:this.size_.height,fill:Blockly.Colours.textField,stroke:this.sourceBlock_.getColourTertiary()}),this.fieldGroup_.insertBefore(this.box_,this.textElement_))};\nBlockly.FieldTextInput.prototype.dispose=function(){Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldTextInput.superClass_.dispose.call(this)};Blockly.FieldTextInput.prototype.setValue=function(a){if(null!==a){if(this.sourceBlock_){var b=this.callValidator(a);null!==b\u0026\u0026(a=b)}Blockly.Field.prototype.setValue.call(this,a)}};\nBlockly.FieldTextInput.prototype.setText=function(a){null!==a\u0026\u0026(a=String(a),a!==this.text_\u0026\u0026(this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.text_,a)),Blockly.Field.prototype.setText.call(this,a)))};Blockly.FieldTextInput.prototype.setSpellcheck=function(a){this.spellcheck_=a};Blockly.FieldTextInput.prototype.setRestrictor=function(a){this.restrictor_=a};\nBlockly.FieldTextInput.prototype.showEditor_=function(a,b,c,d){this.workspace_=this.sourceBlock_.workspace;a=a||!1;var e=b||!1;Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_(),this.widgetDisposeAnimationFinished_(),Blockly.FieldTextInput.ANIMATION_TIME);b=Blockly.WidgetDiv.DIV;b.className+=\" fieldTextInput\";var f=goog.dom.createDom(\"INPUT\",\"blocklyHtmlInput\");f.setAttribute(\"spellcheck\",this.spellcheck_);e\u0026\u0026f.setAttribute(\"readonly\",\"true\");Blockly.FieldTextInput.htmlInput_=\nf;b.appendChild(f);c\u0026\u0026(this.sourceBlock_.RTL?f.style.paddingLeft=this.arrowSize_+Blockly.BlockSvg.DROPDOWN_ARROW_PADDING+\"px\":f.style.paddingRight=this.arrowSize_+Blockly.BlockSvg.DROPDOWN_ARROW_PADDING+\"px\",c=goog.dom.createDom(\"IMG\",\"blocklyTextDropDownArrow\"),c.setAttribute(\"src\",Blockly.mainWorkspace.options.pathToMedia+\"dropdown-arrow-dark.svg\"),c.style.width=this.arrowSize_+\"px\",c.style.height=this.arrowSize_+\"px\",c.style.top=this.arrowY_+\"px\",c.style.cursor=\"pointer\",this.sourceBlock_.RTL?\nc.style.left=\"11px\":c.style.right=\"11px\",d\u0026\u0026(f.dropDownArrowMouseWrapper_=Blockly.bindEvent_(c,\"mousedown\",this,d)),b.appendChild(c));f.value=f.defaultValue=this.text_;f.oldValue_=null;this.validate_();this.resizeEditor_();a||(f.focus(),f.select(),f.setSelectionRange(0,99999));f.onKeyDownWrapper_=Blockly.bindEventWithChecks_(f,\"keydown\",this,this.onHtmlInputKeyDown_);f.onKeyUpWrapper_=Blockly.bindEventWithChecks_(f,\"keyup\",this,this.onHtmlInputChange_);f.onKeyPressWrapper_=Blockly.bindEventWithChecks_(f,\n\"keypress\",this,this.onHtmlInputChange_);f.onInputWrapper_=Blockly.bindEvent_(f,\"input\",this,this.onHtmlInputChange_);f.onWorkspaceChangeWrapper_=this.resizeEditor_.bind(this);this.workspace_.addChangeListener(f.onWorkspaceChangeWrapper_);d=\"box-shadow \"+Blockly.FieldTextInput.ANIMATION_TIME+\"s\";Blockly.BlockSvg.FIELD_TEXTINPUT_ANIMATE_POSITIONING\u0026\u0026(b.style.transition+=\",padding \"+Blockly.FieldTextInput.ANIMATION_TIME+\"s,width \"+Blockly.FieldTextInput.ANIMATION_TIME+\"s,height \"+Blockly.FieldTextInput.ANIMATION_TIME+\n\"s,margin-left \"+Blockly.FieldTextInput.ANIMATION_TIME+\"s\");b.style.transition=d;f.style.transition=\"font-size \"+Blockly.FieldTextInput.ANIMATION_TIME+\"s\";f.style.fontSize=Blockly.BlockSvg.FIELD_TEXTINPUT_FONTSIZE_FINAL+\"pt\";b.style.boxShadow=\"0px 0px 0px 4px \"+Blockly.Colours.fieldShadow};\nBlockly.FieldTextInput.prototype.onHtmlInputKeyDown_=function(a){var b=Blockly.FieldTextInput.htmlInput_;13==a.keyCode?(Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation()):27==a.keyCode?(b.value=b.defaultValue,Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation()):9==a.keyCode\u0026\u0026(Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!a.shiftKey),a.preventDefault())};Blockly.FieldTextInput.GECKO_KEYCODE_WHITELIST=[97,99,118,120];\nBlockly.FieldTextInput.prototype.onHtmlInputChange_=function(a){if(\"keypress\"===a.type\u0026\u0026this.restrictor_){var b=!1;if(goog.userAgent.GECKO){var c=a.charCode;if(32\u003ec||127==c)b=!0;else if(a.metaKey||a.ctrlKey)b=-1\u003cBlockly.FieldTextInput.GECKO_KEYCODE_WHITELIST.indexOf(c)}else c=a.keyCode;c=String.fromCharCode(c);if(!b\u0026\u0026!this.restrictor_.test(c)\u0026\u0026a.preventDefault){a.preventDefault();return}}a=Blockly.FieldTextInput.htmlInput_;b=a.value;b!==a.oldValue_?(a.oldValue_=b,this.setText(b),this.validate_()):\ngoog.userAgent.WEBKIT\u0026\u0026this.sourceBlock_.render();this.resizeEditor_()};Blockly.FieldTextInput.prototype.validate_=function(){var a=!0;goog.asserts.assertObject(Blockly.FieldTextInput.htmlInput_);var b=Blockly.FieldTextInput.htmlInput_;this.sourceBlock_\u0026\u0026(a=this.callValidator(b.value));null===a?Blockly.utils.addClass(b,\"blocklyInvalidInput\"):Blockly.utils.removeClass(b,\"blocklyInvalidInput\")};\nBlockly.FieldTextInput.prototype.resizeEditor_=function(){var a=this.sourceBlock_.workspace.scale,b=Blockly.WidgetDiv.DIV;if(Blockly.BlockSvg.FIELD_TEXTINPUT_EXPAND_PAST_TRUNCATION){var c=Blockly.utils.measureText(Blockly.FieldTextInput.htmlInput_.style.fontSize,Blockly.FieldTextInput.htmlInput_.style.fontFamily,Blockly.FieldTextInput.htmlInput_.style.fontWeight,Blockly.FieldTextInput.htmlInput_.value);c+=Blockly.FieldTextInput.TEXT_MEASURE_PADDING_MAGIC;c*=a}else c=this.sourceBlock_.getHeightWidth().width*\na;c=Math.max(c,Blockly.BlockSvg.FIELD_WIDTH_MIN_EDIT*a);c=Math.min(c,Blockly.BlockSvg.FIELD_WIDTH_MAX_EDIT*a);b.style.width=c/a+1+\"px\";b.style.height=Blockly.BlockSvg.FIELD_HEIGHT+1+\"px\";b.style.transform=\"scale(\"+a+\")\";var d=this.sourceBlock_.getHeightWidth().width;b.style.marginLeft=-.5*(c-d*a)+\"px\";d=this.getBorderRadius()+.5;b.style.borderRadius=d+\"px\";Blockly.FieldTextInput.htmlInput_.style.borderRadius=d+\"px\";d=this.sourceBlock_.getColourTertiary();b.style.borderColor=d;d=this.getAbsoluteXY_();\nd.x-=a/2;d.y-=a/2;this.sourceBlock_.RTL\u0026\u0026(d.x+=c,d.x-=b.offsetWidth*a,d.x+=1*a);d.y+=1*a;goog.userAgent.GECKO\u0026\u0026Blockly.WidgetDiv.DIV.style.top\u0026\u0026(d.x+=2*a,d.y+=1*a);goog.userAgent.WEBKIT\u0026\u0026(d.y-=1*a);b.style.left=d.x+\"px\";b.style.top=d.y+\"px\"};Blockly.FieldTextInput.prototype.getBorderRadius=function(){return this.sourceBlock_.getOutputShape()==Blockly.OUTPUT_SHAPE_ROUND?Blockly.BlockSvg.NUMBER_FIELD_CORNER_RADIUS:Blockly.BlockSvg.TEXT_FIELD_CORNER_RADIUS};\nBlockly.FieldTextInput.prototype.widgetDispose_=function(){var a=this;return function(){var b=Blockly.WidgetDiv.DIV,c=Blockly.FieldTextInput.htmlInput_,d=c.value;if(a.sourceBlock_)if(d=a.callValidator(d),null===d)d=c.defaultValue;else if(a.onFinishEditing_)a.onFinishEditing_(d);a.setText(d);a.sourceBlock_.rendered\u0026\u0026a.sourceBlock_.render();Blockly.unbindEvent_(c.onKeyDownWrapper_);Blockly.unbindEvent_(c.onKeyUpWrapper_);Blockly.unbindEvent_(c.onKeyPressWrapper_);Blockly.unbindEvent_(c.onInputWrapper_);\nc.dropDownArrowMouseWrapper_\u0026\u0026Blockly.unbindEvent_(c.dropDownArrowMouseWrapper_);a.workspace_.removeChangeListener(c.onWorkspaceChangeWrapper_);Blockly.Events.setGroup(!1);c.style.fontSize=Blockly.BlockSvg.FIELD_TEXTINPUT_FONTSIZE_INITIAL+\"pt\";b.style.boxShadow=\"\";a.sourceBlock_\u0026\u0026(c=a.sourceBlock_.getHeightWidth(),b.style.width=c.width+1+\"px\",b.style.height=c.height+1+\"px\");b.style.marginLeft=0}};\nBlockly.FieldTextInput.prototype.widgetDisposeAnimationFinished_=function(){return function(){var a=Blockly.WidgetDiv.DIV.style;a.width=\"auto\";a.height=\"auto\";a.fontSize=\"\";Blockly.WidgetDiv.DIV.className=\"blocklyWidgetDiv\";Blockly.WidgetDiv.DIV.removeAttribute(\"style\");Blockly.FieldTextInput.htmlInput_.style.transition=\"\";Blockly.FieldTextInput.htmlInput_=null}};\nBlockly.FieldTextInput.numberValidator=function(a){console.warn(\"Blockly.FieldTextInput.numberValidator is deprecated. Use Blockly.FieldNumber instead.\");if(null===a)return null;a=String(a);a=a.replace(/O/ig,\"0\");a=a.replace(/,/g,\"\");a=parseFloat(a||0);return isNaN(a)?null:String(a)};Blockly.FieldTextInput.nonnegativeIntegerValidator=function(a){(a=Blockly.FieldTextInput.numberValidator(a))\u0026\u0026(a=String(Math.max(0,Math.floor(a))));return a};Blockly.FieldAngle=function(a,b){this.symbol_=Blockly.utils.createSvgElement(\"tspan\",{},null);this.symbol_.appendChild(document.createTextNode(\"\\u00b0\"));a=a\u0026\u0026!isNaN(a)?String(a):\"0\";Blockly.FieldAngle.superClass_.constructor.call(this,a,b);this.addArgType(\"angle\")};goog.inherits(Blockly.FieldAngle,Blockly.FieldTextInput);Blockly.FieldAngle.ROUND=15;Blockly.FieldAngle.HALF=60;Blockly.FieldAngle.CLOCKWISE=!0;Blockly.FieldAngle.OFFSET=90;Blockly.FieldAngle.WRAP=180;\nBlockly.FieldAngle.HANDLE_RADIUS=10;Blockly.FieldAngle.ARROW_WIDTH=Blockly.FieldAngle.HANDLE_RADIUS;Blockly.FieldAngle.RADIUS=Blockly.FieldAngle.HALF-Blockly.FieldAngle.HANDLE_RADIUS-1;Blockly.FieldAngle.CENTER_RADIUS=2;Blockly.FieldAngle.ARROW_SVG_PATH=\"icons/arrow.svg\";\nBlockly.FieldAngle.prototype.dispose_=function(){var a=this;return function(){Blockly.FieldAngle.superClass_.dispose_.call(a)();a.gauge_=null;a.mouseDownWrapper_\u0026\u0026Blockly.unbindEvent_(a.mouseDownWrapper_);a.mouseUpWrapper_\u0026\u0026Blockly.unbindEvent_(a.mouseUpWrapper_);a.mouseMoveWrapper_\u0026\u0026Blockly.unbindEvent_(a.mouseMoveWrapper_)}};\nBlockly.FieldAngle.prototype.showEditor_=function(){Blockly.FieldAngle.superClass_.showEditor_.call(this,goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD);Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var a=Blockly.DropDownDiv.getContentDiv();a=Blockly.utils.createSvgElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:html\":\"http://www.w3.org/1999/xhtml\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\",height:2*Blockly.FieldAngle.HALF+\n\"px\",width:2*Blockly.FieldAngle.HALF+\"px\"},a);Blockly.utils.createSvgElement(\"circle\",{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.RADIUS,\"class\":\"blocklyAngleCircle\"},a);this.gauge_=Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyAngleGauge\"},a);this.line_=Blockly.utils.createSvgElement(\"line\",{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,\"class\":\"blocklyAngleLine\"},a);var b=Math.PI*Blockly.FieldAngle.OFFSET/180;Blockly.utils.createSvgElement(\"line\",\n{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS*Math.cos(b),y2:Blockly.FieldAngle.HALF-Blockly.FieldAngle.RADIUS*Math.sin(b),\"class\":\"blocklyAngleLine\"},a);for(b=0;360\u003eb;b+=15)Blockly.utils.createSvgElement(\"line\",{x1:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS-13,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS-7,y2:Blockly.FieldAngle.HALF,\"class\":\"blocklyAngleMarks\",transform:\"rotate(\"+b+\",\"+Blockly.FieldAngle.HALF+\n\",\"+Blockly.FieldAngle.HALF+\")\"},a);Blockly.utils.createSvgElement(\"circle\",{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.CENTER_RADIUS,\"class\":\"blocklyAngleCenterPoint\"},a);this.handle_=Blockly.utils.createSvgElement(\"g\",{},a);Blockly.utils.createSvgElement(\"circle\",{cx:0,cy:0,r:Blockly.FieldAngle.HANDLE_RADIUS,\"class\":\"blocklyAngleDragHandle\"},this.handle_);this.arrowSvg_=Blockly.utils.createSvgElement(\"image\",{width:Blockly.FieldAngle.ARROW_WIDTH,height:Blockly.FieldAngle.ARROW_WIDTH,\nx:-Blockly.FieldAngle.ARROW_WIDTH/2,y:-Blockly.FieldAngle.ARROW_WIDTH/2},this.handle_);this.arrowSvg_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",Blockly.mainWorkspace.options.pathToMedia+Blockly.FieldAngle.ARROW_SVG_PATH);Blockly.DropDownDiv.setColour(this.sourceBlock_.parentBlock_.getColour(),this.sourceBlock_.getColourTertiary());Blockly.DropDownDiv.setCategory(this.sourceBlock_.parentBlock_.getCategory());Blockly.DropDownDiv.showPositionedByBlock(this,this.sourceBlock_);this.mouseDownWrapper_=\nBlockly.bindEvent_(this.handle_,\"mousedown\",this,this.onMouseDown);this.updateGraph_()};Blockly.FieldAngle.prototype.onMouseDown=function(){this.mouseMoveWrapper_=Blockly.bindEvent_(document.body,\"mousemove\",this,this.onMouseMove);this.mouseUpWrapper_=Blockly.bindEvent_(document.body,\"mouseup\",this,this.onMouseUp)};Blockly.FieldAngle.prototype.onMouseUp=function(){Blockly.unbindEvent_(this.mouseMoveWrapper_);Blockly.unbindEvent_(this.mouseUpWrapper_)};\nBlockly.FieldAngle.prototype.onMouseMove=function(a){a.preventDefault();var b=this.gauge_.ownerSVGElement.getBoundingClientRect(),c=a.clientX-b.left-Blockly.FieldAngle.HALF;a=a.clientY-b.top-Blockly.FieldAngle.HALF;b=Math.atan(-a/c);isNaN(b)||(b=goog.math.toDegrees(b),0\u003ec?b+=180:0\u003ca\u0026\u0026(b+=360),b=Blockly.FieldAngle.CLOCKWISE?Blockly.FieldAngle.OFFSET+360-b:b-Blockly.FieldAngle.OFFSET,Blockly.FieldAngle.ROUND\u0026\u0026(b=Math.round(b/Blockly.FieldAngle.ROUND)*Blockly.FieldAngle.ROUND),b=this.callValidator(b),\nBlockly.FieldTextInput.htmlInput_.value=b,this.setValue(b),this.validate_(),this.resizeEditor_())};Blockly.FieldAngle.prototype.setText=function(a){Blockly.FieldAngle.superClass_.setText.call(this,a);this.textElement_\u0026\u0026(this.updateGraph_(),this.size_.width=0)};\nBlockly.FieldAngle.prototype.updateGraph_=function(){if(this.gauge_){var a=Number(this.getText())%360+Blockly.FieldAngle.OFFSET,b=goog.math.toRadians(a),c=[\"M \",Blockly.FieldAngle.HALF,\",\",Blockly.FieldAngle.HALF],d=Blockly.FieldAngle.HALF,e=Blockly.FieldAngle.HALF;if(!isNaN(b)){var f=goog.math.toRadians(Blockly.FieldAngle.OFFSET),g=Math.cos(f)*Blockly.FieldAngle.RADIUS,h=Math.sin(f)*-Blockly.FieldAngle.RADIUS;Blockly.FieldAngle.CLOCKWISE\u0026\u0026(b=2*f-b);d+=Math.cos(b)*Blockly.FieldAngle.RADIUS;e-=Math.sin(b)*\nBlockly.FieldAngle.RADIUS;b=180\u003cMath.abs(a-Blockly.FieldAngle.OFFSET)?1:0;f=Number(Blockly.FieldAngle.CLOCKWISE);a\u003cBlockly.FieldAngle.OFFSET\u0026\u0026(f=1-f);c.push(\" l \",g,\",\",h,\" A \",Blockly.FieldAngle.RADIUS,\",\",Blockly.FieldAngle.RADIUS,\" 0 \",b,\" \",f,\" \",d,\",\",e,\" z\");this.arrowSvg_.setAttribute(\"transform\",\"rotate(\"+(Blockly.FieldAngle.CLOCKWISE?a+2*Blockly.FieldAngle.OFFSET:-a)+\")\")}this.gauge_.setAttribute(\"d\",c.join(\"\"));this.line_.setAttribute(\"x2\",d);this.line_.setAttribute(\"y2\",e);this.handle_.setAttribute(\"transform\",\n\"translate(\"+d+\",\"+e+\")\")}};Blockly.FieldAngle.prototype.classValidator=function(a){if(null===a)return null;a=parseFloat(a||0);if(isNaN(a))return null;a%=360;0\u003ea\u0026\u0026(a+=360);a\u003eBlockly.FieldAngle.WRAP\u0026\u0026(a-=360);return String(a)};Blockly.FieldCheckbox=function(a,b){Blockly.FieldCheckbox.superClass_.constructor.call(this,\"\",b);this.setValue(a);this.addArgType(\"checkbox\")};goog.inherits(Blockly.FieldCheckbox,Blockly.Field);Blockly.FieldCheckbox.CHECK_CHAR=\"\\u2713\";Blockly.FieldCheckbox.prototype.CURSOR=\"default\";\nBlockly.FieldCheckbox.prototype.init=function(){if(!this.fieldGroup_){Blockly.FieldCheckbox.superClass_.init.call(this);this.checkElement_=Blockly.utils.createSvgElement(\"text\",{\"class\":\"blocklyText blocklyCheckbox\",x:-3,y:14},this.fieldGroup_);var a=document.createTextNode(Blockly.FieldCheckbox.CHECK_CHAR);this.checkElement_.appendChild(a);this.checkElement_.style.display=this.state_?\"block\":\"none\"}};Blockly.FieldCheckbox.prototype.getValue=function(){return String(this.state_).toUpperCase()};\nBlockly.FieldCheckbox.prototype.setValue=function(a){a=\"string\"==typeof a?\"TRUE\"==a.toUpperCase():!!a;this.state_!==a\u0026\u0026(this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.state_,a)),this.state_=a,this.checkElement_\u0026\u0026(this.checkElement_.style.display=a?\"block\":\"none\"))};Blockly.FieldCheckbox.prototype.showEditor_=function(){var a=!this.state_;this.sourceBlock_\u0026\u0026(a=this.callValidator(a));null!==a\u0026\u0026this.setValue(String(a).toUpperCase())};Blockly.FieldColour=function(a,b){Blockly.FieldColour.superClass_.constructor.call(this,a,b);this.addArgType(\"colour\")};goog.inherits(Blockly.FieldColour,Blockly.Field);Blockly.FieldColour.prototype.colours_=null;Blockly.FieldColour.prototype.columns_=0;Blockly.FieldColour.prototype.init=function(a){Blockly.FieldColour.superClass_.init.call(this,a);this.setValue(this.getValue())};Blockly.FieldColour.prototype.CURSOR=\"default\";\nBlockly.FieldColour.prototype.dispose=function(){Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldColour.superClass_.dispose.call(this)};Blockly.FieldColour.prototype.getValue=function(){return this.colour_};Blockly.FieldColour.prototype.setValue=function(a){this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026this.colour_!=a\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.colour_,a));this.colour_=a;this.sourceBlock_\u0026\u0026this.sourceBlock_.setColour(a,a,a)};\nBlockly.FieldColour.prototype.getText=function(){var a=this.colour_,b=a.match(/^#(.)\\1(.)\\2(.)\\3$/);b\u0026\u0026(a=\"#\"+b[1]+b[2]+b[3]);return a};Blockly.FieldColour.prototype.getSize=function(){return new goog.math.Size(Blockly.BlockSvg.FIELD_WIDTH,Blockly.BlockSvg.FIELD_HEIGHT)};Blockly.FieldColour.COLOURS=goog.ui.ColorPicker.SIMPLE_GRID_COLORS;Blockly.FieldColour.COLUMNS=7;Blockly.FieldColour.prototype.setColours=function(a){this.colours_=a;return this};\nBlockly.FieldColour.prototype.setColumns=function(a){this.columns_=a;return this};\nBlockly.FieldColour.prototype.showEditor_=function(){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,Blockly.FieldColour.widgetDispose_);var a=new goog.ui.ColorPicker;a.setSize(this.columns_||Blockly.FieldColour.COLUMNS);a.setColors(this.colours_||Blockly.FieldColour.COLOURS);var b=goog.dom.getViewportSize(),c=goog.style.getViewportPageOffset(document),d=this.getAbsoluteXY_(),e=this.getScaledBBox_();a.render(Blockly.WidgetDiv.DIV);a.setSelectedColor(this.getValue());var f=goog.style.getSize(a.getElement());\nd.y=d.y+f.height+e.height\u003e=b.height+c.y?d.y-(f.height-1):d.y+(e.height-1);this.sourceBlock_.RTL?(d.x+=e.width,d.x-=f.width,d.x\u003cc.x\u0026\u0026(d.x=c.x)):d.x\u003eb.width+c.x-f.width\u0026\u0026(d.x=b.width+c.x-f.width);Blockly.WidgetDiv.position(d.x,d.y,b,c,this.sourceBlock_.RTL);var g=this;Blockly.FieldColour.changeEventKey_=goog.events.listen(a,goog.ui.ColorPicker.EventType.CHANGE,function(a){a=a.target.getSelectedColor()||\"#000000\";Blockly.WidgetDiv.hide();g.sourceBlock_\u0026\u0026(a=g.callValidator(a));null!==a\u0026\u0026g.setValue(a)})};\nBlockly.FieldColour.widgetDispose_=function(){Blockly.FieldColour.changeEventKey_\u0026\u0026goog.events.unlistenByKey(Blockly.FieldColour.changeEventKey_);Blockly.Events.setGroup(!1)};Blockly.FieldColourSlider=function(a,b){Blockly.FieldColourSlider.superClass_.constructor.call(this,a,b);this.addArgType(\"colour\")};goog.inherits(Blockly.FieldColourSlider,Blockly.Field);Blockly.FieldColourSlider.activateEyedropper_=null;Blockly.FieldColourSlider.EYEDROPPER_PATH=\"eyedropper.svg\";Blockly.FieldColourSlider.prototype.init=function(a){Blockly.FieldColourSlider.superClass_.init.call(this,a);this.setValue(this.getValue())};Blockly.FieldColourSlider.prototype.getValue=function(){return this.colour_};\nBlockly.FieldColourSlider.prototype.setValue=function(a){this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026this.colour_!=a\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.colour_,a));this.colour_=a;this.sourceBlock_\u0026\u0026this.sourceBlock_.setColour(a,a,this.sourceBlock_.getColourTertiary());this.updateSliderHandles_();this.updateDom_()};\nBlockly.FieldColourSlider.prototype.createColourStops_=function(a){for(var b=goog.color.hexToHsv(this.getValue()),c=[],d=0;360\u003e=d;d+=20)switch(a){case \"hue\":c.push(goog.color.hsvToHex(d,b[1],b[2]));break;case \"saturation\":c.push(goog.color.hsvToHex(b[0],d/360,b[2]));break;case \"brightness\":c.push(goog.color.hsvToHex(b[0],b[1],255*d/360));break;default:throw Error(\"Unknown channel for colour sliders: \"+a);}return c};\nBlockly.FieldColourSlider.prototype.setGradient_=function(a,b){var c=this.createColourStops_(b).join(\",\");goog.style.setStyle(a,\"background\",\"-moz-linear-gradient(left, \"+c+\")\");goog.style.setStyle(a,\"background\",\"-webkit-linear-gradient(left, \"+c+\")\");goog.style.setStyle(a,\"background\",\"-o-linear-gradient(left, \"+c+\")\");goog.style.setStyle(a,\"background\",\"-ms-linear-gradient(left, \"+c+\")\");goog.style.setStyle(a,\"background\",\"linear-gradient(left, \"+c+\")\")};\nBlockly.FieldColourSlider.prototype.updateDom_=function(){if(this.hueSlider_){this.setGradient_(this.hueSlider_.getElement(),\"hue\");this.setGradient_(this.saturationSlider_.getElement(),\"saturation\");this.setGradient_(this.brightnessSlider_.getElement(),\"brightness\");var a=goog.color.hexToHsv(this.getValue());this.hueReadout_.textContent=Math.floor(100*a[0]/360).toFixed(0);this.saturationReadout_.textContent=Math.floor(100*a[1]).toFixed(0);this.brightnessReadout_.textContent=Math.floor(100*a[2]/255).toFixed(0)}};\nBlockly.FieldColourSlider.prototype.updateSliderHandles_=function(){if(this.hueSlider_){var a=goog.color.hexToHsv(this.getValue());this.hueSlider_.setValue(a[0]);this.saturationSlider_.setValue(a[1]);this.brightnessSlider_.setValue(a[2])}};Blockly.FieldColourSlider.prototype.getText=function(){var a=this.colour_,b=a.match(/^#(.)\\1(.)\\2(.)\\3$/);b\u0026\u0026(a=\"#\"+b[1]+b[2]+b[3]);return a};\nBlockly.FieldColourSlider.prototype.createLabelDom_=function(a){var b=document.createElement(\"div\");b.setAttribute(\"class\",\"scratchColourPickerLabel\");var c=document.createElement(\"span\");c.setAttribute(\"class\",\"scratchColourPickerReadout\");var d=document.createElement(\"span\");d.setAttribute(\"class\",\"scratchColourPickerLabelText\");d.textContent=a;b.appendChild(d);b.appendChild(c);return[b,c]};\nBlockly.FieldColourSlider.prototype.sliderCallbackFactory_=function(a){var b=this;return function(c){c=c.target.getValue();var d=goog.color.hexToHsv(b.getValue());switch(a){case \"hue\":d[0]=c;break;case \"saturation\":d[1]=c;break;case \"brightness\":d[2]=c}c=goog.color.hsvToHex(d[0],d[1],d[2]);b.sourceBlock_\u0026\u0026(c=b.callValidator(c));null!==c\u0026\u0026b.setValue(c,!0)}};Blockly.FieldColourSlider.prototype.activateEyedropperInternal_=function(){var a=this;Blockly.FieldColourSlider.activateEyedropper_(function(b){a.setValue(b)})};\nBlockly.FieldColourSlider.prototype.showEditor_=function(){Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var a=Blockly.DropDownDiv.getContentDiv(),b=this.createLabelDom_(\"Hue\");a.appendChild(b[0]);this.hueReadout_=b[1];this.hueSlider_=new goog.ui.Slider;this.hueSlider_.setUnitIncrement(5);this.hueSlider_.setMinimum(0);this.hueSlider_.setMaximum(359);this.hueSlider_.render(a);b=this.createLabelDom_(\"Saturation\");a.appendChild(b[0]);this.saturationReadout_=b[1];this.saturationSlider_=\nnew goog.ui.Slider;this.saturationSlider_.setUnitIncrement(.01);this.saturationSlider_.setStep(.001);this.saturationSlider_.setMinimum(.01);this.saturationSlider_.setMaximum(.99);this.saturationSlider_.render(a);b=this.createLabelDom_(\"Brightness\");a.appendChild(b[0]);this.brightnessReadout_=b[1];this.brightnessSlider_=new goog.ui.Slider;this.brightnessSlider_.setUnitIncrement(2);this.brightnessSlider_.setMinimum(5);this.brightnessSlider_.setMaximum(255);this.brightnessSlider_.render(a);Blockly.FieldColourSlider.hueChangeEventKey_=\ngoog.events.listen(this.hueSlider_,goog.ui.Component.EventType.CHANGE,this.sliderCallbackFactory_(\"hue\"));Blockly.FieldColourSlider.saturationChangeEventKey_=goog.events.listen(this.saturationSlider_,goog.ui.Component.EventType.CHANGE,this.sliderCallbackFactory_(\"saturation\"));Blockly.FieldColourSlider.brightnessChangeEventKey_=goog.events.listen(this.brightnessSlider_,goog.ui.Component.EventType.CHANGE,this.sliderCallbackFactory_(\"brightness\"));if(Blockly.FieldColourSlider.activateEyedropper_){b=\ndocument.createElement(\"button\");b.setAttribute(\"class\",\"scratchEyedropper\");var c=document.createElement(\"img\");c.src=Blockly.mainWorkspace.options.pathToMedia+Blockly.FieldColourSlider.EYEDROPPER_PATH;b.appendChild(c);a.appendChild(b);Blockly.FieldColourSlider.eyedropperEventData_=Blockly.bindEventWithChecks_(b,\"mousedown\",this,this.activateEyedropperInternal_)}Blockly.DropDownDiv.setColour(\"#ffffff\",\"#dddddd\");Blockly.DropDownDiv.setCategory(this.sourceBlock_.parentBlock_.getCategory());Blockly.DropDownDiv.showPositionedByBlock(this,\nthis.sourceBlock_);this.setValue(this.getValue())};\nBlockly.FieldColourSlider.prototype.dispose=function(){Blockly.FieldColourSlider.hueChangeEventKey_\u0026\u0026goog.events.unlistenByKey(Blockly.FieldColourSlider.hueChangeEventKey_);Blockly.FieldColourSlider.saturationChangeEventKey_\u0026\u0026goog.events.unlistenByKey(Blockly.FieldColourSlider.saturationChangeEventKey_);Blockly.FieldColourSlider.brightnessChangeEventKey_\u0026\u0026goog.events.unlistenByKey(Blockly.FieldColourSlider.brightnessChangeEventKey_);Blockly.FieldColourSlider.eyedropperEventData_\u0026\u0026Blockly.unbindEvent_(Blockly.FieldColourSlider.eyedropperEventData_);\nBlockly.Events.setGroup(!1);Blockly.FieldColourSlider.superClass_.dispose.call(this)};Blockly.FieldDropdown=function(a,b){this.menuGenerator_=a;this.trimOptions_();var c=this.getOptions()[0];Blockly.FieldDropdown.superClass_.constructor.call(this,c[1],b);this.addArgType(\"dropdown\")};goog.inherits(Blockly.FieldDropdown,Blockly.Field);Blockly.FieldDropdown.CHECKMARK_OVERHANG=25;Blockly.FieldDropdown.prototype.CURSOR=\"default\";Blockly.FieldDropdown.prototype.selectedItem=null;Blockly.FieldDropdown.prototype.value_=\"\";Blockly.FieldDropdown.prototype.imageElement_=null;\nBlockly.FieldDropdown.prototype.imageJson_=null;\nBlockly.FieldDropdown.prototype.init=function(){if(!this.fieldGroup_){this.arrowSize_=12;this.arrowX_=0;this.arrowY_=11;this.arrow_=Blockly.utils.createSvgElement(\"image\",{height:this.arrowSize_+\"px\",width:this.arrowSize_+\"px\"});this.arrow_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",Blockly.mainWorkspace.options.pathToMedia+\"dropdown-arrow.svg\");this.className_+=\" blocklyDropdownText\";Blockly.FieldDropdown.superClass_.init.call(this);this.sourceBlock_.isShadow()||(this.box_=Blockly.utils.createSvgElement(\"rect\",\n{rx:Blockly.BlockSvg.CORNER_RADIUS,ry:Blockly.BlockSvg.CORNER_RADIUS,x:0,y:0,width:this.size_.width,height:this.size_.height,stroke:this.sourceBlock_.getColourTertiary(),fill:this.sourceBlock_.getColour(),\"class\":\"blocklyBlockBackground\",\"fill-opacity\":1},null),this.fieldGroup_.insertBefore(this.box_,this.textElement_));var a=this.text_;this.text_=null;this.setText(a)}};\nBlockly.FieldDropdown.prototype.showEditor_=function(){this.dropDownOpen_=!0;Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var a=Blockly.DropDownDiv.getContentDiv(),b=this,c=new goog.ui.Menu;c.setRightToLeft(this.sourceBlock_.RTL);for(var d=this.getOptions(),e=0;e\u003cd.length;e++){var f=d[e][0],g=d[e][1];if(\"object\"==typeof f){var h=new Image(f.width,f.height);h.src=f.src;h.alt=f.alt||\"\";f=h}f=new goog.ui.MenuItem(f);f.setRightToLeft(this.sourceBlock_.RTL);f.setValue(g);\nf.setCheckable(!0);c.addChild(f,!0);g=g==this.value_;f.setChecked(g);g\u0026\u0026(this.selectedItem=f)}goog.events.listen(c,goog.ui.Component.EventType.ACTION,function(a){if(a=a.target)b.onItemSelected(this,a);Blockly.DropDownDiv.hide();Blockly.Events.setGroup(!1)});c.getHandler().listen(c.getElement(),goog.events.EventType.TOUCHSTART,function(a){this.getOwnerControl(a.target).handleMouseDown(a)});c.getHandler().listen(c.getElement(),goog.events.EventType.TOUCHEND,function(a){this.getOwnerControl(a.target).performActionInternal(a)});\nc.render(a);a=c.getElement();Blockly.utils.addClass(a,\"blocklyDropdownMenu\");goog.style.getSize(a).height=a.scrollHeight;d=this.sourceBlock_.isShadow()?this.sourceBlock_.parentBlock_.getColour():this.sourceBlock_.getColour();Blockly.DropDownDiv.setColour(d,this.sourceBlock_.getColourTertiary());d=this.sourceBlock_.isShadow()?this.sourceBlock_.parentBlock_.getCategory():this.sourceBlock_.getCategory();Blockly.DropDownDiv.setCategory(d);e=this.sourceBlock_.workspace.scale;g=this.size_.width;d=this.size_.height;\ng*=e;d*=e;e=this.fieldGroup_.getBoundingClientRect();g=e.left+g/2;d=e.top+d;e=e.top;Blockly.DropDownDiv.setBoundsElement(this.sourceBlock_.workspace.getParentSvg().parentNode);Blockly.DropDownDiv.show(this,g,d,g,e,this.onHide.bind(this));c.setAllowAutoFocus(!0);a.focus();this.disableColourChange_||(this.sourceBlock_.isShadow()?(this.savedPrimary_=this.sourceBlock_.getColour(),this.sourceBlock_.setColour(this.sourceBlock_.getColourTertiary(),this.sourceBlock_.getColourSecondary(),this.sourceBlock_.getColourTertiary())):\nthis.box_\u0026\u0026this.box_.setAttribute(\"fill\",this.sourceBlock_.getColourTertiary()))};Blockly.FieldDropdown.prototype.onHide=function(){this.dropDownOpen_=!1;!this.disableColourChange_\u0026\u0026this.sourceBlock_\u0026\u0026(this.sourceBlock_.isShadow()?this.sourceBlock_.setColour(this.savedPrimary_,this.sourceBlock_.getColourSecondary(),this.sourceBlock_.getColourTertiary()):this.box_\u0026\u0026this.box_.setAttribute(\"fill\",this.sourceBlock_.getColour()))};\nBlockly.FieldDropdown.prototype.onItemSelected=function(a,b){var c=b.getValue();this.sourceBlock_\u0026\u0026(c=this.callValidator(c));null!==c\u0026\u0026this.setValue(c)};\nBlockly.FieldDropdown.prototype.trimOptions_=function(){this.suffixField=this.prefixField=null;var a=this.menuGenerator_;if(goog.isArray(a)){for(var b=!1,c=0;c\u003ca.length;c++){var d=a[c][0];\"string\"==typeof d?a[c][0]=Blockly.utils.replaceMessageReferences(d):(null!=d.alt\u0026\u0026(a[c][0].alt=Blockly.utils.replaceMessageReferences(d.alt)),b=!0)}if(!(b||2\u003ea.length)){var e=[];for(c=0;c\u003ca.length;c++)e.push(a[c][0]);c=Blockly.utils.shortestStringLength(e);b=Blockly.utils.commonWordPrefix(e,c);d=Blockly.utils.commonWordSuffix(e,\nc);if((b||d)\u0026\u0026!(c\u003c=b+d)){b\u0026\u0026(this.prefixField=e[0].substring(0,b-1));d\u0026\u0026(this.suffixField=e[0].substr(1-d));e=[];for(c=0;c\u003ca.length;c++){var f=a[c][0],g=a[c][1];f=f.substring(b,f.length-d);e[c]=[f,g]}this.menuGenerator_=e}}}};Blockly.FieldDropdown.prototype.isOptionListDynamic=function(){return goog.isFunction(this.menuGenerator_)};Blockly.FieldDropdown.prototype.getOptions=function(){return goog.isFunction(this.menuGenerator_)?this.menuGenerator_.call(this):this.menuGenerator_};\nBlockly.FieldDropdown.prototype.getValue=function(){return this.value_};\nBlockly.FieldDropdown.prototype.setValue=function(a){if(null!==a\u0026\u0026a!==this.value_){this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.value_,a));this.selectedItem\u0026\u0026(this.selectedItem.setChecked(!1),this.selectedItem=null);this.value_=a;for(var b=this.getOptions(),c=0;c\u003cb.length;c++)if(b[c][1]==a){a=b[c][0];\"object\"==typeof a?(this.imageJson_=a,this.setText(a.alt)):(this.imageJson_=null,this.setText(a));return}this.setText(a)}};\nBlockly.FieldDropdown.prototype.setText=function(a){null!==a\u0026\u0026a!==this.text_\u0026\u0026(this.text_=a,this.updateTextNode_(),this.textElement_\u0026\u0026this.textElement_.parentNode.appendChild(this.arrow_),this.sourceBlock_\u0026\u0026this.sourceBlock_.rendered\u0026\u0026(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_()))};\nBlockly.FieldDropdown.prototype.positionArrow=function(a){if(!this.arrow_)return 0;this.arrowX_=this.sourceBlock_.RTL?this.arrowSize_-Blockly.BlockSvg.DROPDOWN_ARROW_PADDING:a+Blockly.BlockSvg.DROPDOWN_ARROW_PADDING/2;a=this.arrowSize_+Blockly.BlockSvg.DROPDOWN_ARROW_PADDING;this.box_\u0026\u0026(this.arrowX_+=Blockly.BlockSvg.BOX_FIELD_PADDING);this.arrow_.setAttribute(\"transform\",\"translate(\"+this.arrowX_+\",\"+this.arrowY_+\")\");return a};\nBlockly.FieldDropdown.prototype.dispose=function(){this.selectedItem=null;Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldDropdown.superClass_.dispose.call(this)};Blockly.FieldIconMenu=function(a){this.icons_=a;Blockly.FieldIconMenu.superClass_.constructor.call(this,a[0].value);this.addArgType(\"iconmenu\")};goog.inherits(Blockly.FieldIconMenu,Blockly.Field);Blockly.FieldIconMenu.DROPDOWN_WIDTH=168;Blockly.FieldIconMenu.savedPrimary_=null;\nBlockly.FieldIconMenu.prototype.init=function(a){this.arrowX_=18;this.arrowY_=10;a.RTL\u0026\u0026(this.arrowX_=-this.arrowX_-12);this.arrowIcon_=Blockly.utils.createSvgElement(\"image\",{height:\"12px\",width:\"12px\",transform:\"translate(\"+this.arrowX_+\",\"+this.arrowY_+\")\"});this.arrowIcon_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",Blockly.mainWorkspace.options.pathToMedia+\"dropdown-arrow.svg\");a.getSvgRoot().appendChild(this.arrowIcon_);Blockly.FieldIconMenu.superClass_.init.call(this,a)};\nBlockly.FieldIconMenu.prototype.CURSOR=\"default\";Blockly.FieldIconMenu.prototype.setValue=function(a){null!==a\u0026\u0026a!==this.value_\u0026\u0026(this.sourceBlock_\u0026\u0026Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.Change(this.sourceBlock_,\"field\",this.name,this.value_,a)),this.value_=a,this.setParentFieldImage(this.getSrcForValue(this.value_)))};\nBlockly.FieldIconMenu.prototype.setParentFieldImage=function(a){if(this.sourceBlock_\u0026\u0026this.sourceBlock_.parentBlock_)for(var b=this.sourceBlock_.parentBlock_,c=0,d;d=b.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)if(f instanceof Blockly.FieldImage){f.setValue(a);return}};Blockly.FieldIconMenu.prototype.getValue=function(){return this.value_};Blockly.FieldIconMenu.prototype.getSrcForValue=function(a){for(var b=0,c;c=this.icons_[b];b++)if(c.value===a)return c.src};\nBlockly.FieldIconMenu.prototype.showEditor_=function(){if(!Blockly.DropDownDiv.hideIfOwner(this)){Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var a=Blockly.DropDownDiv.getContentDiv();a.setAttribute(\"role\",\"menu\");a.setAttribute(\"aria-haspopup\",\"true\");for(var b=0,c;c=this.icons_[b];b++){if(\"placeholder\"==c.type){var d=document.createElement(\"span\");d.setAttribute(\"class\",\"blocklyDropDownPlaceholder\");d.style.width=c.width+\"px\";d.style.height=c.height+\"px\"}else{d=\ndocument.createElement(\"button\");d.setAttribute(\"id\",\":\"+b);d.setAttribute(\"role\",\"menuitem\");d.setAttribute(\"class\",\"blocklyDropDownButton\");d.title=c.alt;d.style.width=c.width+\"px\";d.style.height=c.height+\"px\";var e=this.sourceBlock_.getColour();c.value==this.getValue()\u0026\u0026(e=this.sourceBlock_.getColourTertiary(),d.setAttribute(\"aria-selected\",\"true\"));d.style.backgroundColor=e;d.style.borderColor=this.sourceBlock_.getColourTertiary();Blockly.bindEvent_(d,\"click\",this,this.buttonClick_);Blockly.bindEvent_(d,\n\"mouseup\",this,this.buttonClick_);Blockly.bindEvent_(d,\"mousedown\",d,function(a){this.setAttribute(\"class\",\"blocklyDropDownButton blocklyDropDownButtonHover\");a.preventDefault()});Blockly.bindEvent_(d,\"mouseover\",d,function(){this.setAttribute(\"class\",\"blocklyDropDownButton blocklyDropDownButtonHover\");a.setAttribute(\"aria-activedescendant\",this.id)});Blockly.bindEvent_(d,\"mouseout\",d,function(){this.setAttribute(\"class\",\"blocklyDropDownButton\");a.removeAttribute(\"aria-activedescendant\")});e=document.createElement(\"img\");\ne.src=c.src;d.setAttribute(\"data-value\",c.value);e.setAttribute(\"data-value\",c.value);d.appendChild(e)}a.appendChild(d)}a.style.width=Blockly.FieldIconMenu.DROPDOWN_WIDTH+\"px\";Blockly.DropDownDiv.setColour(this.sourceBlock_.getColour(),this.sourceBlock_.getColourTertiary());Blockly.DropDownDiv.setCategory(this.sourceBlock_.parentBlock_.getCategory());this.savedPrimary_=this.sourceBlock_.getColour();this.sourceBlock_.setColour(this.sourceBlock_.getColourSecondary(),this.sourceBlock_.getColourSecondary(),\nthis.sourceBlock_.getColourTertiary());b=this.sourceBlock_.workspace.scale;b=-(Blockly.BlockSvg.MIN_BLOCK_Y*b)-Blockly.BlockSvg.FIELD_Y_OFFSET*b;Blockly.DropDownDiv.showPositionedByBlock(this,this.sourceBlock_,this.onHide_.bind(this),b)||this.arrowIcon_.setAttribute(\"transform\",\"translate(\"+(this.arrowX_+Blockly.DropDownDiv.ARROW_SIZE/1.5+1)+\",\"+(this.arrowY_+Blockly.DropDownDiv.ARROW_SIZE/1.5)+\") rotate(180)\")}};\nBlockly.FieldIconMenu.prototype.buttonClick_=function(a){a=a.target.getAttribute(\"data-value\");this.setValue(a);Blockly.DropDownDiv.hide()};\nBlockly.FieldIconMenu.prototype.onHide_=function(){this.sourceBlock_\u0026\u0026this.sourceBlock_.setColour(this.savedPrimary_,this.sourceBlock_.getColourSecondary(),this.sourceBlock_.getColourTertiary());Blockly.DropDownDiv.content_.removeAttribute(\"role\");Blockly.DropDownDiv.content_.removeAttribute(\"aria-haspopup\");Blockly.DropDownDiv.content_.removeAttribute(\"aria-activedescendant\");this.arrowIcon_.setAttribute(\"transform\",\"translate(\"+this.arrowX_+\",\"+this.arrowY_+\")\")};Blockly.FieldImage=function(a,b,c,d,e){this.sourceBlock_=null;this.height_=Number(c);this.width_=Number(b);this.size_=new goog.math.Size(this.width_,this.height_);this.text_=d||\"\";this.flipRTL_=e;this.setValue(a)};goog.inherits(Blockly.FieldImage,Blockly.Field);Blockly.FieldImage.prototype.EDITABLE=!1;\nBlockly.FieldImage.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.createSvgElement(\"g\",{},null),this.visible_||(this.fieldGroup_.style.display=\"none\"),this.imageElement_=Blockly.utils.createSvgElement(\"image\",{height:this.height_+\"px\",width:this.width_+\"px\"},this.fieldGroup_),this.setValue(this.src_),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.setTooltip(this.sourceBlock_),Blockly.Tooltip.bindMouseEvents(this.imageElement_))};\nBlockly.FieldImage.prototype.dispose=function(){goog.dom.removeNode(this.fieldGroup_);this.imageElement_=this.fieldGroup_=null};Blockly.FieldImage.prototype.setTooltip=function(a){this.imageElement_.tooltip=a};Blockly.FieldImage.prototype.getValue=function(){return this.src_};Blockly.FieldImage.prototype.setValue=function(a){null!==a\u0026\u0026(this.src_=a,this.imageElement_\u0026\u0026this.imageElement_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",a||\"\"))};Blockly.FieldImage.prototype.getFlipRTL=function(){return this.flipRTL_};\nBlockly.FieldImage.prototype.setText=function(a){null!==a\u0026\u0026(this.text_=a)};Blockly.FieldImage.prototype.render_=function(){};Blockly.FieldImage.prototype.updateWidth=function(){};Blockly.FieldTextDropdown=function(a,b,c,d){this.menuGenerator_=b;Blockly.FieldDropdown.prototype.trimOptions_.call(this);Blockly.FieldTextDropdown.superClass_.constructor.call(this,a,c,d);this.addArgType(\"textdropdown\")};goog.inherits(Blockly.FieldTextDropdown,Blockly.FieldTextInput);\nBlockly.FieldTextDropdown.prototype.init=function(){Blockly.FieldTextDropdown.superClass_.init.call(this);this.arrow_||(this.arrowSize_=12,this.arrowX_=0,this.arrowY_=11,this.arrow_=Blockly.utils.createSvgElement(\"image\",{height:this.arrowSize_+\"px\",width:this.arrowSize_+\"px\"}),this.arrow_.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",Blockly.mainWorkspace.options.pathToMedia+\"dropdown-arrow-dark.svg\"),this.arrow_.style.cursor=\"pointer\",this.fieldGroup_.appendChild(this.arrow_),this.mouseUpWrapper_=\nBlockly.bindEvent_(this.arrow_,\"mouseup\",this,this.showDropdown_));this.disableColourChange_=!0};Blockly.FieldTextDropdown.prototype.dispose=function(){this.mouseUpWrapper_\u0026\u0026(Blockly.unbindEvent_(this.mouseUpWrapper_),this.mouseUpWrapper_=null,Blockly.Touch.clearTouchIdentifier());Blockly.FieldTextDropdown.superClass_.dispose.call(this)};\nBlockly.FieldTextDropdown.prototype.showEditor_=function(){this.dropDownOpen_||Blockly.FieldTextDropdown.superClass_.showEditor_.call(this,null,null,!0,function(){Blockly.WidgetDiv.hide();this.showDropdown_();Blockly.Touch.clearTouchIdentifier()})};Blockly.FieldTextDropdown.prototype.getOptions_=Blockly.FieldDropdown.prototype.getOptions_;Blockly.FieldTextDropdown.prototype.positionArrow=Blockly.FieldDropdown.prototype.positionArrow;Blockly.FieldTextDropdown.prototype.showDropdown_=Blockly.FieldDropdown.prototype.showEditor_;\nBlockly.FieldTextDropdown.prototype.onHide=Blockly.FieldDropdown.prototype.onHide;Blockly.FieldNumber=function(a,b,c,d,e){b=this.getNumRestrictor(b,c,d);a=a\u0026\u0026!isNaN(a)?String(a):\"0\";Blockly.FieldNumber.superClass_.constructor.call(this,a,e,b);this.addArgType(\"number\")};goog.inherits(Blockly.FieldNumber,Blockly.FieldTextInput);Blockly.FieldNumber.DROPDOWN_WIDTH=168;Blockly.FieldNumber.DROPDOWN_Y_PADDING=8;Blockly.FieldNumber.NUMPAD_BUTTONS=\"789456123.0- \".split(\"\");\nBlockly.FieldNumber.NUMPAD_DELETE_ICON='data:image/svg+xml;utf8,\u003csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"\u003e\u003cpath d=\"M28.89,11.45H16.79a2.86,2.86,0,0,0-2,.84L9.09,18a2.85,2.85,0,0,0,0,4l5.69,5.69a2.86,2.86,0,0,0,2,.84h12.1a2.86,2.86,0,0,0,2.86-2.86V14.31A2.86,2.86,0,0,0,28.89,11.45ZM27.15,22.73a1,1,0,0,1,0,1.41,1,1,0,0,1-.71.3,1,1,0,0,1-.71-0.3L23,21.41l-2.73,2.73a1,1,0,0,1-1.41,0,1,1,0,0,1,0-1.41L21.59,20l-2.73-2.73a1,1,0,0,1,0-1.41,1,1,0,0,1,1.41,0L23,18.59l2.73-2.73a1,1,0,1,1,1.42,1.41L24.42,20Z\" fill=\"'+Blockly.Colours.numPadText+\n'\"/\u003e\u003c/svg\u003e';Blockly.FieldNumber.activeField_=null;Blockly.FieldNumber.prototype.getNumRestrictor=function(a,b,c){this.setConstraints_(a,b,c);a=\"[\\\\d]\";this.decimalAllowed_\u0026\u0026(a+=\"|[\\\\.]\");this.negativeAllowed_\u0026\u0026(a+=\"|[-]\");return new RegExp(a)};Blockly.FieldNumber.prototype.setConstraints_=function(a,b,c){this.decimalAllowed_=\"undefined\"==typeof c||isNaN(c)||0==c||Math.floor(c)!=c;this.negativeAllowed_=\"undefined\"==typeof a||isNaN(a)||0\u003ea};\nBlockly.FieldNumber.prototype.showEditor_=function(){Blockly.FieldNumber.activeField_=this;var a=goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD;Blockly.FieldNumber.superClass_.showEditor_.call(this,!1,a);a\u0026\u0026this.showNumPad_()};\nBlockly.FieldNumber.prototype.showNumPad_=function(){Blockly.DropDownDiv.hideWithoutAnimation();Blockly.DropDownDiv.clearContent();var a=Blockly.DropDownDiv.getContentDiv();a.setAttribute(\"role\",\"menu\");a.setAttribute(\"aria-haspopup\",\"true\");this.addButtons_(a);Blockly.DropDownDiv.setColour(Blockly.Colours.numPadBackground,Blockly.Colours.numPadBorder);a.style.width=Blockly.FieldNumber.DROPDOWN_WIDTH+\"px\";this.position_()};\nBlockly.FieldNumber.prototype.position_=function(){var a=this.sourceBlock_.workspace.scale,b=this.sourceBlock_.getHeightWidth();b.width*=a;b.height*=a;var c=this.getAbsoluteXY_(),d=c.x+b.width/2;b=c.y+b.height+Blockly.FieldNumber.DROPDOWN_Y_PADDING;a=c.y-Blockly.BlockSvg.MIN_BLOCK_Y*a-Blockly.BlockSvg.FIELD_Y_OFFSET*a;Blockly.DropDownDiv.setBoundsElement(this.sourceBlock_.workspace.getParentSvg().parentNode);Blockly.DropDownDiv.show(this,d,b,d,a,this.onHide_.bind(this))};\nBlockly.FieldNumber.prototype.addButtons_=function(a){for(var b=Blockly.FieldNumber.NUMPAD_BUTTONS,c=0,d;d=b[c];c++){var e=document.createElement(\"button\");e.setAttribute(\"role\",\"menuitem\");e.setAttribute(\"class\",\"blocklyNumPadButton\");e.title=d;e.innerHTML=d;Blockly.bindEvent_(e,\"mousedown\",e,Blockly.FieldNumber.numPadButtonTouch);if(\".\"!=d||this.decimalAllowed_)if(\"-\"!=d||this.negativeAllowed_)if(\" \"!=d||this.negativeAllowed_)\" \"==d\u0026\u0026this.negativeAllowed_\u0026\u0026e.setAttribute(\"style\",\"visibility: hidden\");\nelse continue;else continue;else e.setAttribute(\"style\",\"visibility: hidden\");a.appendChild(e)}b=document.createElement(\"button\");b.setAttribute(\"role\",\"menuitem\");b.setAttribute(\"class\",\"blocklyNumPadButton\");b.title=\"Delete\";c=document.createElement(\"img\");c.src=Blockly.FieldNumber.NUMPAD_DELETE_ICON;b.appendChild(c);Blockly.bindEvent_(b,\"mousedown\",null,Blockly.FieldNumber.numPadEraseButtonTouch);a.appendChild(b)};\nBlockly.FieldNumber.numPadButtonTouch=function(){var a=this.innerHTML,b=Blockly.FieldTextInput.htmlInput_.value,c=Blockly.FieldTextInput.htmlInput_.selectionEnd;a=b.slice(0,Blockly.FieldTextInput.htmlInput_.selectionStart)+a+b.slice(c);Blockly.FieldNumber.updateDisplay_(a);Blockly.Touch.clearTouchIdentifier()};\nBlockly.FieldNumber.numPadEraseButtonTouch=function(){var a=Blockly.FieldTextInput.htmlInput_.value,b=Blockly.FieldTextInput.htmlInput_.selectionStart,c=Blockly.FieldTextInput.htmlInput_.selectionEnd,d=a.slice(0,b)+a.slice(c);0==c-b\u0026\u0026(d=a.slice(0,b-1)+a.slice(b));Blockly.FieldNumber.updateDisplay_(d);Blockly.Touch.clearTouchIdentifier()};\nBlockly.FieldNumber.updateDisplay_=function(a){Blockly.FieldTextInput.htmlInput_.value=a;Blockly.FieldNumber.superClass_.resizeEditor_.call(Blockly.FieldNumber.activeField_);Blockly.FieldTextInput.htmlInput_.setSelectionRange(a.length,a.length);Blockly.FieldTextInput.htmlInput_.scrollLeft=Blockly.FieldTextInput.htmlInput_.scrollWidth;Blockly.FieldNumber.activeField_.validate_()};Blockly.FieldNumber.prototype.onHide_=function(){Blockly.DropDownDiv.content_.removeAttribute(\"role\");Blockly.DropDownDiv.content_.removeAttribute(\"aria-haspopup\")};Blockly.FieldNumberDropdown=function(a,b,c,d,e,f){this.setConstraints_=Blockly.FieldNumber.prototype.setConstraints_;c=Blockly.FieldNumber.prototype.getNumRestrictor.call(this,c,d,e);Blockly.FieldNumberDropdown.superClass_.constructor.call(this,a,b,f,c);this.addArgType(\"numberdropdown\")};goog.inherits(Blockly.FieldNumberDropdown,Blockly.FieldTextDropdown);Blockly.FieldVariable=function(a,b,c){Blockly.FieldVariable.superClass_.constructor.call(this,Blockly.FieldVariable.dropdownCreate,b);this.setValue(a||\"\");this.addArgType(\"variable\");this.variableTypes=c};goog.inherits(Blockly.FieldVariable,Blockly.FieldDropdown);Blockly.FieldVariable.prototype.init=function(){this.fieldGroup_||(Blockly.FieldVariable.superClass_.init.call(this),this.initModel())};\nBlockly.FieldVariable.prototype.initModel=function(){this.getValue()||this.setValue(Blockly.Variables.generateUniqueName(this.sourceBlock_.isInFlyout?this.sourceBlock_.workspace.targetWorkspace:this.sourceBlock_.workspace));this.sourceBlock_.isInFlyout||this.sourceBlock_.workspace.createVariable(this.getValue())};\nBlockly.FieldVariable.prototype.setSourceBlock=function(a){goog.asserts.assert(!a.isShadow(),\"Variable fields are not allowed to exist on shadow blocks.\");Blockly.FieldVariable.superClass_.setSourceBlock.call(this,a)};Blockly.FieldVariable.prototype.getValue=function(){return this.getText()};\nBlockly.FieldVariable.prototype.setValue=function(a){var b=a,c=a;if(this.sourceBlock_){var d=this.sourceBlock_.workspace.getVariableById(a);if(d)c=d.name;else if(d=this.sourceBlock_.workspace.getVariable(a))b=d.getId();Blockly.Events.isEnabled()\u0026\u0026Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,\"field\",this.name,this.value_,b))}this.value_=b;this.setText(c)};\nBlockly.FieldVariable.prototype.getVariableTypes_=function(){var a=this.variableTypes;if(null===a\u0026\u0026this.sourceBlock_)return this.sourceBlock_.workspace.getVariableTypes();a=a||[\"\"];if(0==a.length)throw a=this.getText(),Error(\"'variableTypes' of field variable \"+a+\" was an empty list\");return a};\nBlockly.FieldVariable.dropdownCreate=function(){var a=[],b=this.getText(),c=b?!0:!1,d=null;this.sourceBlock_\u0026\u0026(d=this.sourceBlock_.workspace);if(d){var e=this.getVariableTypes_();a=[];for(var f=0;f\u003ce.length;f++){var g=d.getVariablesOfType(e[f]);a=a.concat(g)}for(f=0;f\u003ca.length;f++)if(c\u0026\u0026goog.string.caseInsensitiveEquals(a[f].name,b)){c=!1;break}}c\u0026\u0026d\u0026\u0026(f=d.createVariable(b),a.push(f));a.sort(Blockly.VariableModel.compareByName);c=[];for(f=0;f\u003ca.length;f++)c[f]=[a[f].name,a[f].getId()];c.push([Blockly.Msg.RENAME_VARIABLE,\nBlockly.RENAME_VARIABLE_ID]);c.push([Blockly.Msg.DELETE_VARIABLE.replace(\"%1\",b),Blockly.DELETE_VARIABLE_ID]);return c};\nBlockly.FieldVariable.prototype.onItemSelected=function(a,b){var c=b.getValue();if(this.sourceBlock_\u0026\u0026this.sourceBlock_.workspace){var d=this.sourceBlock_.workspace,e=d.getVariableById(c);if(e)var f=e.name;else{if(c==Blockly.RENAME_VARIABLE_ID){c=this.getText();e=d.getVariable(c);Blockly.Variables.renameVariable(d,e);return}if(c==Blockly.DELETE_VARIABLE_ID){d.deleteVariable(this.getText());return}}f=this.callValidator(f)}null!==f\u0026\u0026this.setValue(f)};Blockly.Generator=function(a){this.name_=a;this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,\"g\")};Blockly.Generator.NAME_TYPE=\"generated_function\";Blockly.Generator.prototype.INFINITE_LOOP_TRAP=null;Blockly.Generator.prototype.STATEMENT_PREFIX=null;Blockly.Generator.prototype.INDENT=\" \";Blockly.Generator.prototype.COMMENT_WRAP=60;Blockly.Generator.prototype.ORDER_OVERRIDES=[];\nBlockly.Generator.prototype.workspaceToCode=function(a){a||(console.warn(\"No workspace specified in workspaceToCode call. Guessing.\"),a=Blockly.getMainWorkspace());var b=[];this.init(a);a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++){var e=this.blockToCode(d);goog.isArray(e)\u0026\u0026(e=e[0]);e\u0026\u0026(d.outputConnection\u0026\u0026this.scrubNakedValue\u0026\u0026(e=this.scrubNakedValue(e)),b.push(e))}b=b.join(\"\\n\");b=this.finish(b);b=b.replace(/^\\s+\\n/,\"\");b=b.replace(/\\n\\s+$/,\"\\n\");return b=b.replace(/[ \\t]+\\n/g,\"\\n\")};\nBlockly.Generator.prototype.prefixLines=function(a,b){return b+a.replace(/(?!\\n$)\\n/g,\"\\n\"+b)};Blockly.Generator.prototype.allNestedComments=function(a){var b=[];a=a.getDescendants();for(var c=0;c\u003ca.length;c++){var d=a[c].getCommentText();d\u0026\u0026b.push(d)}b.length\u0026\u0026b.push(\"\");return b.join(\"\\n\")};\nBlockly.Generator.prototype.blockToCode=function(a){if(!a)return\"\";if(a.disabled)return this.blockToCode(a.getNextBlock());var b=this[a.type];goog.asserts.assertFunction(b,'Language \"%s\" does not know how to generate code for block type \"%s\".',this.name_,a.type);b=b.call(a,a);if(goog.isArray(b))return goog.asserts.assert(a.outputConnection,'Expecting string from statement block \"%s\".',a.type),[this.scrub_(a,b[0]),b[1]];if(goog.isString(b)){var c=a.id.replace(/\\$/g,\"$$$$\");this.STATEMENT_PREFIX\u0026\u0026(b=\nthis.STATEMENT_PREFIX.replace(/%1/g,\"'\"+c+\"'\")+b);return this.scrub_(a,b)}if(null===b)return\"\";goog.asserts.fail(\"Invalid code generated: %s\",b)};\nBlockly.Generator.prototype.valueToCode=function(a,b,c){isNaN(c)\u0026\u0026goog.asserts.fail('Expecting valid order from block \"%s\".',a.type);var d=a.getInputTargetBlock(b);if(!d)return\"\";b=this.blockToCode(d);if(\"\"===b)return\"\";goog.asserts.assertArray(b,'Expecting tuple from value block \"%s\".',d.type);a=b[0];b=b[1];isNaN(b)\u0026\u0026goog.asserts.fail('Expecting valid order from value block \"%s\".',d.type);if(!a)return\"\";d=!1;var e=Math.floor(c),f=Math.floor(b);if(e\u003c=f\u0026\u0026(e!=f||0!=e\u0026\u002699!=e))for(d=!0,e=0;e\u003cthis.ORDER_OVERRIDES.length;e++)if(this.ORDER_OVERRIDES[e][0]==\nc\u0026\u0026this.ORDER_OVERRIDES[e][1]==b){d=!1;break}d\u0026\u0026(a=\"(\"+a+\")\");return a};Blockly.Generator.prototype.statementToCode=function(a,b){var c=a.getInputTargetBlock(b),d=this.blockToCode(c);goog.asserts.assertString(d,'Expecting code from statement block \"%s\".',c\u0026\u0026c.type);d\u0026\u0026(d=this.prefixLines(d,this.INDENT));return d};\nBlockly.Generator.prototype.addLoopTrap=function(a,b){b=b.replace(/\\$/g,\"$$$$\");this.INFINITE_LOOP_TRAP\u0026\u0026(a=this.INFINITE_LOOP_TRAP.replace(/%1/g,\"'\"+b+\"'\")+a);this.STATEMENT_PREFIX\u0026\u0026(a+=this.prefixLines(this.STATEMENT_PREFIX.replace(/%1/g,\"'\"+b+\"'\"),this.INDENT));return a};Blockly.Generator.prototype.RESERVED_WORDS_=\"\";Blockly.Generator.prototype.addReservedWords=function(a){this.RESERVED_WORDS_+=a+\",\"};Blockly.Generator.prototype.FUNCTION_NAME_PLACEHOLDER_=\"{leCUI8hutHZI4480Dc}\";\nBlockly.Generator.prototype.provideFunction_=function(a,b){if(!this.definitions_[a]){var c=this.variableDB_.getDistinctName(a,Blockly.Procedures.NAME_TYPE);this.functionNames_[a]=c;c=b.join(\"\\n\").replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,c);for(var d;d!=c;)d=c,c=c.replace(/^(( {2})*) {2}/gm,\"$1\\x00\");c=c.replace(/\\0/g,this.INDENT);this.definitions_[a]=c}return this.functionNames_[a]};Blockly.Generator.prototype.init=void 0;Blockly.Generator.prototype.scrub_=void 0;\nBlockly.Generator.prototype.finish=void 0;Blockly.Generator.prototype.scrubNakedValue=void 0;Blockly.Names=function(a,b){this.variablePrefix_=b||\"\";this.reservedDict_=Object.create(null);if(a)for(var c=a.split(\",\"),d=0;d\u003cc.length;d++)this.reservedDict_[c[d]]=!0;this.reset()};Blockly.Names.prototype.reset=function(){this.db_=Object.create(null);this.dbReverse_=Object.create(null)};\nBlockly.Names.prototype.getName=function(a,b){var c=a.toLowerCase()+\"_\"+b,d=b==Blockly.Variables.NAME_TYPE?this.variablePrefix_:\"\";if(c in this.db_)return d+this.db_[c];var e=this.getDistinctName(a,b);this.db_[c]=e.substr(d.length);return e};Blockly.Names.prototype.getDistinctName=function(a,b){for(var c=this.safeName_(a),d=\"\";this.dbReverse_[c+d]||c+d in this.reservedDict_;)d=d?d+1:2;c+=d;this.dbReverse_[c]=!0;return(b==Blockly.Variables.NAME_TYPE?this.variablePrefix_:\"\")+c};\nBlockly.Names.prototype.safeName_=function(a){a?(a=encodeURI(a.replace(/ /g,\"_\")).replace(/[^\\w]/g,\"_\"),-1!=\"0123456789\".indexOf(a[0])\u0026\u0026(a=\"my_\"+a)):a=\"unnamed\";return a};Blockly.Names.equals=function(a,b){return a.toLowerCase()==b.toLowerCase()};Blockly.Procedures={};Blockly.Procedures.NAME_TYPE=Blockly.PROCEDURE_CATEGORY_NAME;Blockly.Procedures.allProcedures=function(a){a=a.getAllBlocks();for(var b=[],c=[],d=0;d\u003ca.length;d++)if(a[d].getProcedureDef){var e=a[d].getProcedureDef();e\u0026\u0026(e[2]?b.push(e):c.push(e))}c.sort(Blockly.Procedures.procTupleComparator_);b.sort(Blockly.Procedures.procTupleComparator_);return[c,b]};Blockly.Procedures.procTupleComparator_=function(a,b){return a[0].toLowerCase().localeCompare(b[0].toLowerCase())};\nBlockly.Procedures.findLegalName=function(a,b){if(b.isInFlyout)return a;for(;!Blockly.Procedures.isLegalName_(a,b.workspace,b);){var c=a.match(/^(.*?)(\\d+)$/);a=c?c[1]+(parseInt(c[2],10)+1):a+\"2\"}return a};Blockly.Procedures.isLegalName_=function(a,b,c){return!Blockly.Procedures.isNameUsed(a,b,c)};Blockly.Procedures.isNameUsed=function(a,b,c){b=b.getAllBlocks();for(var d=0;d\u003cb.length;d++)if(b[d]!=c\u0026\u0026b[d].getProcedureDef){var e=b[d].getProcedureDef();if(Blockly.Names.equals(e[0],a))return!1}return!0};\nBlockly.Procedures.rename=function(a){a=a.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\");var b=Blockly.Procedures.findLegalName(a,this.sourceBlock_),c=this.text_;if(c!=a\u0026\u0026c!=b){a=this.sourceBlock_.workspace.getAllBlocks();for(var d=0;d\u003ca.length;d++)a[d].renameProcedure\u0026\u0026a[d].renameProcedure(c,b)}return b};\nBlockly.Procedures.flyoutCategory=function(a){function b(a,b){for(var d=0;d\u003ca.length;d++){var e=a[d][0],f=a[d][1],g=goog.dom.createDom(\"block\");g.setAttribute(\"type\",b);g.setAttribute(\"gap\",16);var n=goog.dom.createDom(\"mutation\");n.setAttribute(\"name\",e);g.appendChild(n);for(e=0;e\u003cf.length;e++){var p=goog.dom.createDom(\"arg\");p.setAttribute(\"name\",f[e]);n.appendChild(p)}c.push(g)}}var c=[];if(Blockly.Blocks.procedures_defnoreturn){var d=goog.dom.createDom(\"block\");d.setAttribute(\"type\",\"procedures_defnoreturn\");\nd.setAttribute(\"gap\",16);var e=goog.dom.createDom(\"field\",null,Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE);e.setAttribute(\"name\",\"NAME\");d.appendChild(e);c.push(d)}Blockly.Blocks.procedures_defreturn\u0026\u0026(d=goog.dom.createDom(\"block\"),d.setAttribute(\"type\",\"procedures_defreturn\"),d.setAttribute(\"gap\",16),e=goog.dom.createDom(\"field\",null,Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE),e.setAttribute(\"name\",\"NAME\"),d.appendChild(e),c.push(d));Blockly.Blocks.procedures_report\u0026\u0026(d=goog.dom.createDom(\"block\"),\nd.setAttribute(\"type\",\"procedures_report\"),d.setAttribute(\"gap\",16),c.push(d));c.length\u0026\u0026c[c.length-1].setAttribute(\"gap\",24);a=Blockly.Procedures.allProcedures(a);b(a[0],\"procedures_callnoreturn\");b(a[1],\"procedures_callreturn\");return c};Blockly.Procedures.getCallers=function(a,b){for(var c=[],d=b.getAllBlocks(),e=0;e\u003cd.length;e++)if(d[e].getProcedureCall){var f=d[e].getProcedureCall();f\u0026\u0026Blockly.Names.equals(f,a)\u0026\u0026c.push(d[e])}return c};\nBlockly.Procedures.mutateCallers=function(a){var b=Blockly.Events.recordUndo,c=a.getProcedureDef()[0],d=a.mutationToDom(!0);a=Blockly.Procedures.getCallers(c,a.workspace);c=0;for(var e;e=a[c];c++){var f=e.mutationToDom();f=f\u0026\u0026Blockly.Xml.domToText(f);e.domToMutation(d);var g=e.mutationToDom();g=g\u0026\u0026Blockly.Xml.domToText(g);f!=g\u0026\u0026(Blockly.Events.recordUndo=!1,Blockly.Events.fire(new Blockly.Events.BlockChange(e,\"mutation\",null,f,g)),Blockly.Events.recordUndo=b)}};\nBlockly.Procedures.getDefinition=function(a,b){for(var c=b.getTopBlocks(!1),d=0;d\u003cc.length;d++)if(c[d].getProcedureDef){var e=c[d].getProcedureDef();if(e\u0026\u0026Blockly.Names.equals(e[0],a))return c[d]}return null};\nBlockly.Procedures.editProcedureCallback_=function(a){if(\"procedures_defnoreturn\"==a.type){a=a.getInput(\"custom_block\");if(!a){alert(\"Bad input\");return}a=a.connection;if(!a){alert(\"Bad connection\");return}a=a.targetBlock();if(!a||\"procedures_callnoreturn_internal\"==!a.type){alert(\"Bad inner block\");return}}alert('TODO(#603): implement function editing (procCode was \"'+a.procCode_+'\")')};Blockly.Procedures.makeEditOption=function(a){return{enabled:!0,text:Blockly.Msg.EDIT_PROCEDURE,callback:function(){Blockly.Procedures.editProcedureCallback_(a)}}};\nBlockly.Procedures.showProcedureDefCallback_=function(a){alert('TODO(#1136): implement showing procedure definition (procCode was \"'+a.procCode_+'\")')};Blockly.Procedures.makeShowDefinitionOption=function(a){return{enabled:!0,text:Blockly.Msg.SHOW_PROCEDURE_DEFINITION,callback:function(){Blockly.Procedures.showProcedureDefCallback_(a)}}};Blockly.FlyoutButton=function(a,b,c,d){this.workspace_=a;this.targetWorkspace_=b;this.text_=c.getAttribute(\"text\");this.position_=new goog.math.Coordinate(0,0);this.isLabel_=d;this.isCategoryLabel_=\"true\"===c.getAttribute(\"category-label\");this.callback_=null;a=c.getAttribute(\"callbackKey\");this.isLabel_\u0026\u0026a?console.warn(\"Labels should not have callbacks. Label text: \"+this.text_):this.isLabel_||a\u0026\u0026b.getButtonCallback(a)?this.callback_=b.getButtonCallback(a):console.warn(\"Buttons should have callbacks. Button text: \"+\nthis.text_);this.cssClass_=c.getAttribute(\"web-class\")||null};Blockly.FlyoutButton.MARGIN=40;Blockly.FlyoutButton.prototype.width=0;Blockly.FlyoutButton.prototype.height=40;Blockly.FlyoutButton.prototype.onMouseUpWrapper_=null;\nBlockly.FlyoutButton.prototype.createDom=function(){var a=this.isLabel_?\"blocklyFlyoutLabel\":\"blocklyFlyoutButton\";this.cssClass_\u0026\u0026(a+=\" \"+this.cssClass_);this.svgGroup_=Blockly.utils.createSvgElement(\"g\",{\"class\":a},this.workspace_.getCanvas());if(!this.isLabel_)var b=Blockly.utils.createSvgElement(\"rect\",{\"class\":\"blocklyFlyoutButtonShadow\",rx:4,ry:4,x:1,y:1},this.svgGroup_);a=Blockly.utils.createSvgElement(\"rect\",{\"class\":this.isLabel_?\"blocklyFlyoutLabelBackground\":\"blocklyFlyoutButtonBackground\",\nrx:4,ry:4},this.svgGroup_);var c=Blockly.utils.createSvgElement(\"text\",{\"class\":this.isLabel_?\"blocklyFlyoutLabelText\":\"blocklyText\",x:0,y:0,\"text-anchor\":\"middle\"},this.svgGroup_);c.textContent=this.text_;this.width=Blockly.Field.getCachedWidth(c);this.isLabel_||(this.width+=2*Blockly.FlyoutButton.MARGIN,b.setAttribute(\"width\",this.width),b.setAttribute(\"height\",this.height));a.setAttribute(\"width\",this.width);a.setAttribute(\"height\",this.height);c.setAttribute(\"text-anchor\",\"middle\");c.setAttribute(\"alignment-baseline\",\n\"central\");c.setAttribute(\"x\",this.width/2);c.setAttribute(\"y\",this.height/2);this.mouseUpWrapper_=Blockly.bindEventWithChecks_(this.svgGroup_,\"mouseup\",this,this.onMouseUp_);return this.svgGroup_};Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_();this.svgGroup_.setAttribute(\"display\",\"block\")};Blockly.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute(\"transform\",\"translate(\"+this.position_.x+\",\"+this.position_.y+\")\")};\nBlockly.FlyoutButton.prototype.moveTo=function(a,b){this.position_.x=a;this.position_.y=b;this.updateTransform_()};Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_};Blockly.FlyoutButton.prototype.getIsCategoryLabel=function(){return this.isCategoryLabel_};Blockly.FlyoutButton.prototype.getText=function(){return this.text_};Blockly.FlyoutButton.prototype.getPosition=function(){return this.position_};\nBlockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_\u0026\u0026Blockly.unbindEvent_(this.onMouseUpWrapper_);this.svgGroup_\u0026\u0026(goog.dom.removeNode(this.svgGroup_),this.svgGroup_=null);this.targetWorkspace_=this.workspace_=null};Blockly.FlyoutButton.prototype.onMouseUp_=function(a){(a=this.targetWorkspace_.getGesture(a))\u0026\u0026a.cancel();this.callback_\u0026\u0026this.callback_(this)};Blockly.Flyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);this.workspace_=new Blockly.WorkspaceSvg(a);this.workspace_.isFlyout=!0;this.RTL=!!a.RTL;this.horizontalLayout_=a.horizontalLayout;this.toolboxPosition_=a.toolboxPosition;this.eventWrappers_=[];this.backgroundButtons_=[];this.buttons_=[];this.listeners_=[];this.permanentlyDisabled_=[];this.scrollTarget=this.parentToolbox_=null};Blockly.Flyout.prototype.autoClose=!1;\nBlockly.Flyout.prototype.isVisible_=!1;Blockly.Flyout.prototype.containerVisible_=!0;Blockly.Flyout.prototype.CORNER_RADIUS=0;Blockly.Flyout.prototype.MARGIN=12;Blockly.Flyout.prototype.GAP_X=3*Blockly.Flyout.prototype.MARGIN;Blockly.Flyout.prototype.GAP_Y=Blockly.Flyout.prototype.MARGIN;Blockly.Flyout.prototype.SCROLLBAR_PADDING=2;Blockly.Flyout.prototype.width_=0;Blockly.Flyout.prototype.height_=0;Blockly.Flyout.prototype.contentWidth_=0;Blockly.Flyout.prototype.contentHeight_=0;\nBlockly.Flyout.prototype.verticalOffset_=0;Blockly.Flyout.prototype.dragAngleRange_=70;Blockly.Flyout.prototype.scrollAnimationFraction=.3;Blockly.Flyout.prototype.createDom=function(a){this.svgGroup_=Blockly.utils.createSvgElement(a,{\"class\":\"blocklyFlyout\",style:\"display: none\"},null);this.svgBackground_=Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyFlyoutBackground\"},this.svgGroup_);this.svgGroup_.appendChild(this.workspace_.createDom());return this.svgGroup_};\nBlockly.Flyout.prototype.init=function(a){this.targetWorkspace_=a;this.workspace_.targetWorkspace=a;this.scrollbar_=new Blockly.Scrollbar(this.workspace_,this.horizontalLayout_,!1,\"blocklyFlyoutScrollbar\");this.position();Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgGroup_,\"wheel\",this,this.wheel_));Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgGroup_,\"mousedown\",this,this.onMouseDown_));this.workspace_.getGesture=this.targetWorkspace_.getGesture.bind(this.targetWorkspace_);\nthis.workspace_.getVariable=this.targetWorkspace_.getVariable.bind(this.targetWorkspace_);this.workspace_.getVariableById=this.targetWorkspace_.getVariableById.bind(this.targetWorkspace_);this.workspace_.getVariablesOfType=this.targetWorkspace_.getVariablesOfType.bind(this.targetWorkspace_);this.workspace_.deleteVariable=this.targetWorkspace_.deleteVariable.bind(this.targetWorkspace_);this.workspace_.deleteVariableById=this.targetWorkspace_.deleteVariableById.bind(this.targetWorkspace_);this.workspace_.renameVariable=\nthis.targetWorkspace_.renameVariable.bind(this.targetWorkspace_);this.workspace_.renameVariableById=this.targetWorkspace_.renameVariableById.bind(this.targetWorkspace_)};\nBlockly.Flyout.prototype.dispose=function(){this.hide();Blockly.unbindEvent_(this.eventWrappers_);this.scrollbar_\u0026\u0026(this.scrollbar_.dispose(),this.scrollbar_=null);this.workspace_\u0026\u0026(this.workspace_.targetWorkspace=null,this.workspace_.dispose(),this.workspace_=null);this.svgGroup_\u0026\u0026(goog.dom.removeNode(this.svgGroup_),this.svgGroup_=null);this.targetWorkspace_=this.svgBackground_=this.parentToolbox_=null};Blockly.Flyout.prototype.setParentToolbox=function(a){this.parentToolbox_=a};\nBlockly.Flyout.prototype.getWidth=function(){return this.DEFAULT_WIDTH};Blockly.Flyout.prototype.getHeight=function(){return this.height_};Blockly.Flyout.prototype.getWorkspace=function(){return this.workspace_};Blockly.Flyout.prototype.isVisible=function(){return this.isVisible_};Blockly.Flyout.prototype.setVisible=function(a){var b=a!=this.isVisible();this.isVisible_=a;b\u0026\u0026this.updateDisplay_()};\nBlockly.Flyout.prototype.setContainerVisible=function(a){var b=a!=this.containerVisible_;this.containerVisible_=a;b\u0026\u0026this.updateDisplay_()};Blockly.Flyout.prototype.updateDisplay_=function(){var a=this.containerVisible_?this.isVisible():!1;this.svgGroup_.style.display=a?\"block\":\"none\";this.scrollbar_.setContainerVisible(a)};\nBlockly.Flyout.prototype.hide=function(){if(this.isVisible()){this.setVisible(!1);for(var a=0,b;b=this.listeners_[a];a++)Blockly.unbindEvent_(b);this.listeners_.length=0;this.reflowWrapper_\u0026\u0026(this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowWrapper_=null)}};\nBlockly.Flyout.prototype.show=function(a){this.workspace_.setBulkUpdate(!0);this.hide();this.clearOldBlocks_();this.setVisible(!0);for(var b=[],c=[],d=this.permanentlyDisabled_.length=0,e;e=a[d];d++){if(\"string\"===typeof e){var f=this.workspace_.targetWorkspace.getToolboxCategoryCallback(a[d])(this.workspace_.targetWorkspace);a.splice.apply(a,[d,1].concat(f));e=a[d]}if(e.tagName){var g=e.tagName.toUpperCase();f=this.horizontalLayout_?this.GAP_X:this.GAP_Y;if(\"BLOCK\"==g)g=Blockly.Xml.domToBlock(e,\nthis.workspace_),g.disabled\u0026\u0026this.permanentlyDisabled_.push(g),b.push({type:\"block\",block:g}),e=parseInt(e.getAttribute(\"gap\"),10),c.push(isNaN(e)?f:e);else if(\"SEP\"==e.tagName.toUpperCase())e=parseInt(e.getAttribute(\"gap\"),10),!isNaN(e)\u0026\u00260\u003cc.length?c[c.length-1]=e:c.push(f);else if(\"BUTTON\"==g||\"LABEL\"==g)e=new Blockly.FlyoutButton(this.workspace_,this.targetWorkspace_,e,\"LABEL\"==g),b.push({type:\"button\",button:e}),c.push(f)}}this.layout_(b,c);this.listeners_.push(Blockly.bindEvent_(this.svgBackground_,\n\"mouseover\",this,function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)c.removeSelect()}));this.workspace_.setBulkUpdate(!1);this.reflow();this.position();this.reflowWrapper_=this.reflow.bind(this);this.workspace_.addChangeListener(this.reflowWrapper_);this.recordCategoryScrollPositions_()};\nBlockly.Flyout.prototype.recordCategoryScrollPositions_=function(){this.categoryScrollPositions=[];for(var a=0;a\u003cthis.buttons_.length;a++)if(this.buttons_[a].getIsCategoryLabel()){var b=this.buttons_[a];this.categoryScrollPositions.push({categoryName:b.getText(),position:this.horizontalLayout_?b.getPosition().x:b.getPosition().y})}};\nBlockly.Flyout.prototype.selectCategoryByScrollPosition=function(a){if(!this.scrollTarget){a/=this.workspace_.scale;for(var b=this.categoryScrollPositions.length-1;0\u003c=b;b--)if(a\u003ethis.categoryScrollPositions[b].position){this.parentToolbox_.selectCategoryByName(this.categoryScrollPositions[b].categoryName);break}}};\nBlockly.Flyout.prototype.stepScrollAnimation=function(){if(this.scrollTarget){var a=this.horizontalLayout_?-this.workspace_.scrollX:-this.workspace_.scrollY,b=this.scrollTarget-a;1\u003eMath.abs(b)?(this.scrollbar_.set(this.scrollTarget),this.scrollTarget=null):(this.scrollbar_.set(a+b*this.scrollAnimationFraction),requestAnimationFrame(this.stepScrollAnimation.bind(this)))}};\nBlockly.Flyout.prototype.clearOldBlocks_=function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)c.workspace==this.workspace_\u0026\u0026c.dispose(!1,!1);for(b=0;a=this.backgroundButtons_[b];b++)goog.dom.removeNode(a);for(b=this.backgroundButtons_.length=0;a=this.buttons_[b];b++)a.dispose();this.buttons_.length=0};\nBlockly.Flyout.prototype.addBlockListeners_=function(a,b,c){this.listeners_.push(Blockly.bindEventWithChecks_(a,\"mousedown\",null,this.blockMouseDown_(b)));this.listeners_.push(Blockly.bindEventWithChecks_(c,\"mousedown\",null,this.blockMouseDown_(b)));this.listeners_.push(Blockly.bindEvent_(a,\"mouseover\",b,b.addSelect));this.listeners_.push(Blockly.bindEvent_(a,\"mouseout\",b,b.removeSelect));this.listeners_.push(Blockly.bindEvent_(c,\"mouseover\",b,b.addSelect));this.listeners_.push(Blockly.bindEvent_(c,\n\"mouseout\",b,b.removeSelect))};Blockly.Flyout.prototype.blockMouseDown_=function(a){var b=this;return function(c){var d=b.targetWorkspace_.getGesture(c);d\u0026\u0026(d.setStartBlock(a),d.handleFlyoutStart(c,b))}};Blockly.Flyout.prototype.onMouseDown_=function(a){var b=this.targetWorkspace_.getGesture(a);b\u0026\u0026b.handleFlyoutStart(a,this)};\nBlockly.Flyout.prototype.createBlock=function(a){var b=null;Blockly.Events.disable();this.targetWorkspace_.setResizesEnabled(!1);try{b=this.placeNewBlock_(a);if(goog.userAgent.IE||goog.userAgent.EDGE)for(var c=b.getDescendants(),d=c.length-1;0\u003c=d;d--)c[d].render(!1);Blockly.hideChaff()}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()\u0026\u0026(Blockly.Events.setGroup(!0),Blockly.Events.fire(new Blockly.Events.Create(b)));this.autoClose\u0026\u0026this.hide();return b};\nBlockly.Flyout.prototype.reflow=function(){this.reflowWrapper_\u0026\u0026this.workspace_.removeChangeListener(this.reflowWrapper_);var a=this.workspace_.getTopBlocks(!1);this.reflowInternal_(a);this.reflowWrapper_\u0026\u0026this.workspace_.addChangeListener(this.reflowWrapper_)};Blockly.Flyout.prototype.isScrollable=function(){return this.scrollbar_?this.scrollbar_.isVisible():!1};\nBlockly.Flyout.prototype.placeNewBlock_=function(a){var b=this.targetWorkspace_;if(!a.getSvgRoot())throw\"oldBlock is not rendered.\";var c=Blockly.Xml.blockToDom(a);b.setResizesEnabled(!1);c=Blockly.Xml.domToBlock(c,b);if(!c.getSvgRoot())throw\"block is not rendered.\";var d=b.getOriginOffsetInPixels(),e=this.workspace_.getOriginOffsetInPixels();a=a.getRelativeToSurfaceXY().scale(this.workspace_.scale);a=goog.math.Coordinate.sum(e,a);b=goog.math.Coordinate.difference(a,d).scale(1/b.scale);c.moveBy(b.x,\nb.y);return c};Blockly.HorizontalFlyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);Blockly.HorizontalFlyout.superClass_.constructor.call(this,a);this.horizontalLayout_=!0};goog.inherits(Blockly.HorizontalFlyout,Blockly.Flyout);\nBlockly.HorizontalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var a=this.workspace_.getCanvas().getBBox()}catch(e){a={height:0,y:0,width:0,x:0}}var b=this.SCROLLBAR_PADDING,c=this.SCROLLBAR_PADDING;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM\u0026\u0026(b=0);var d=this.height_;this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP\u0026\u0026(d+=this.MARGIN);return{viewHeight:d,viewWidth:this.width_-2*this.SCROLLBAR_PADDING,contentHeight:a.height*this.workspace_.scale+2*this.MARGIN,contentWidth:a.width*\nthis.workspace_.scale+2*this.MARGIN,viewTop:-this.workspace_.scrollY,viewLeft:-this.workspace_.scrollX,contentTop:a.y,contentLeft:a.x,absoluteTop:b,absoluteLeft:c}};Blockly.HorizontalFlyout.prototype.setMetrics_=function(a){var b=this.getMetrics_();b\u0026\u0026(goog.isNumber(a.x)\u0026\u0026(this.workspace_.scrollX=-b.contentWidth*a.x),this.workspace_.translate(this.workspace_.scrollX+b.absoluteLeft,this.workspace_.scrollY+b.absoluteTop),this.categoryScrollPositions\u0026\u0026this.selectCategoryByScrollPosition(-this.workspace_.scrollX))};\nBlockly.HorizontalFlyout.prototype.position=function(){if(this.isVisible()){var a=this.targetWorkspace_.getMetrics();if(a){this.setBackgroundPath_(this.horizontalLayout_?a.viewWidth-2*this.CORNER_RADIUS:this.width_-this.CORNER_RADIUS,this.horizontalLayout_?this.height_-this.CORNER_RADIUS:a.viewHeight-2*this.CORNER_RADIUS);var b=a.absoluteLeft;this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT\u0026\u0026(b+=a.viewWidth,b-=this.width_);var c=a.absoluteTop;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM\u0026\u0026(c+=a.viewHeight,\nc-=this.height_);this.horizontalLayout_?this.width_=a.viewWidth:this.height_=a.viewHeight;this.svgGroup_.setAttribute(\"width\",this.width_);this.svgGroup_.setAttribute(\"height\",this.height_);Blockly.utils.setCssTransform(this.svgGroup_,\"translate(\"+b+\"px,\"+c+\"px)\");this.scrollbar_\u0026\u0026(this.scrollbar_.setOrigin(b,c),this.scrollbar_.resize());this.svgGroup_.style.opacity=1}}};\nBlockly.HorizontalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP,d=[\"M 0,\"+(c?0:this.CORNER_RADIUS)];c?(d.push(\"h\",a+2*this.CORNER_RADIUS),d.push(\"v\",b),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),d.push(\"h\",-1*a),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),\nd.push(\"h\",a),d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),d.push(\"v\",b),d.push(\"h\",-a-2*this.CORNER_RADIUS));d.push(\"z\");this.svgBackground_.setAttribute(\"d\",d.join(\" \"))};Blockly.HorizontalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(this.RTL?Infinity:0)};\nBlockly.HorizontalFlyout.prototype.scrollTo=function(a){this.scrollTarget=a*this.workspace_.scale;a=this.workspace_.getMetrics();this.scrollTarget=Math.min(this.scrollTarget,a.contentWidth-a.viewWidth);this.stepScrollAnimation()};\nBlockly.HorizontalFlyout.prototype.wheel_=function(a){this.scrollTarget=null;var b=a.deltaX;Math.abs(a.deltaY)\u003eMath.abs(b)\u0026\u0026(b=a.deltaY);if(b){goog.userAgent.GECKO\u0026\u00261===a.deltaMode\u0026\u0026(b*=10);var c=this.getMetrics_();b=c.viewLeft+b;b=Math.min(b,c.contentWidth-c.viewWidth);b=Math.max(b,0);this.scrollbar_.set(b);Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()};\nBlockly.HorizontalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace_.scale;var c=this.MARGIN,d=c;this.RTL\u0026\u0026(a=a.reverse());for(var e=0,f;f=a[e];e++)if(\"block\"==f.type){f=f.block;for(var g=f.getDescendants(),h=0,k;k=g[h];h++)k.isInFlyout=!0;g=f.getSvgRoot();h=f.getHeightWidth();k=d;this.RTL\u0026\u0026(k+=h.width);f.moveBy(k,c);d+=h.width+b[e];h=Blockly.utils.createSvgElement(\"rect\",{\"fill-opacity\":0},null);h.tooltip=f;Blockly.Tooltip.bindMouseEvents(h);this.workspace_.getCanvas().insertBefore(h,\nf.getSvgRoot());f.flyoutRect_=h;this.backgroundButtons_[e]=h;this.addBlockListeners_(g,f,h)}else\"button\"==f.type\u0026\u0026(f=f.button,g=f.createDom(),f.moveTo(d,c),f.show(),this.listeners_.push(Blockly.bindEventWithChecks_(g,\"mousedown\",this,this.onMouseDown_)),this.buttons_.push(f),d+=f.width+b[e])};\nBlockly.HorizontalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=!1,c=this.dragAngleRange_;this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?a\u003c90+c\u0026\u0026a\u003e90-c\u0026\u0026(b=!0):a\u003e-90-c\u0026\u0026a\u003c-90+c\u0026\u0026(b=!0);return b};\nBlockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top;a=a.height;if(this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP)return new goog.math.Rect(-1E9,b-1E9,2E9,1E9+a);if(this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM)return new goog.math.Rect(-1E9,b,2E9,1E9+a)};\nBlockly.HorizontalFlyout.prototype.reflowInternal_=function(a){this.workspace_.scale=this.targetWorkspace_.scale;for(var b=0,c=0,d;d=a[c];c++)b=Math.max(b,d.getHeightWidth().height);b+=1.5*this.MARGIN;b*=this.workspace_.scale;b+=Blockly.Scrollbar.scrollbarThickness;if(this.height_!=b){for(c=0;d=a[c];c++){var e=d.getHeightWidth();if(d.flyoutRect_){d.flyoutRect_.setAttribute(\"width\",e.width);d.flyoutRect_.setAttribute(\"height\",e.height);var f=d.getRelativeToSurfaceXY();d.flyoutRect_.setAttribute(\"y\",\nf.y);d.flyoutRect_.setAttribute(\"x\",this.RTL?f.x-e.width:f.x);(e=d.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0)\u0026\u0026d.moveBy(0,e);d.flyoutRect_.setAttribute(\"y\",f.y)}}this.height_=b;this.targetWorkspace_.resize()}};Blockly.VerticalFlyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);Blockly.VerticalFlyout.superClass_.constructor.call(this,a);this.horizontalLayout_=!1;this.checkboxes_=[]};goog.inherits(Blockly.VerticalFlyout,Blockly.Flyout);Blockly.VerticalFlyout.prototype.autoClose=!1;Blockly.VerticalFlyout.prototype.DEFAULT_WIDTH=250;Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE=20;\nBlockly.VerticalFlyout.prototype.CHECKMARK_PATH=\"M\"+Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/4+\" \"+Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/2+\"L\"+5*Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/12+\" \"+2*Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/3+\"L\"+3*Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/4+\" \"+Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE/3;Blockly.VerticalFlyout.prototype.CHECKBOX_CORNER_RADIUS=5;Blockly.VerticalFlyout.prototype.CHECKBOX_MARGIN=Blockly.Flyout.prototype.MARGIN;\nBlockly.VerticalFlyout.prototype.CHECKBOX_SPACE_X=Blockly.VerticalFlyout.prototype.CHECKBOX_SIZE+2*Blockly.VerticalFlyout.prototype.CHECKBOX_MARGIN;Blockly.VerticalFlyout.prototype.init=function(a){Blockly.VerticalFlyout.superClass_.init.call(this,a);this.workspace_.scale=a.scale};\nBlockly.VerticalFlyout.prototype.createDom=function(a){Blockly.VerticalFlyout.superClass_.createDom.call(this,a);this.defs_=Blockly.utils.createSvgElement(\"defs\",{},this.svgGroup_);a=Blockly.utils.createSvgElement(\"clipPath\",{id:\"blocklyBlockMenuClipPath\"},this.defs_);this.clipRect_=Blockly.utils.createSvgElement(\"rect\",{id:\"blocklyBlockMenuClipRect\",height:\"0\",width:\"0\",y:\"0\",x:\"0\"},a);this.workspace_.svgGroup_.setAttribute(\"clip-path\",\"url(#blocklyBlockMenuClipPath)\");return this.svgGroup_};\nBlockly.VerticalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var a=this.workspace_.getCanvas().getBBox()}catch(e){a={height:0,y:0,width:0,x:0}}var b=this.SCROLLBAR_PADDING,c=this.height_-2*this.SCROLLBAR_PADDING,d=this.getWidth()-this.SCROLLBAR_PADDING;return{viewHeight:c,viewWidth:d,contentHeight:a.height*this.workspace_.scale+2*this.MARGIN,contentWidth:a.width*this.workspace_.scale+2*this.MARGIN,viewTop:-this.workspace_.scrollY+a.y,viewLeft:-this.workspace_.scrollX,\ncontentTop:a.y,contentLeft:a.x,absoluteTop:b,absoluteLeft:0}};Blockly.VerticalFlyout.prototype.setMetrics_=function(a){var b=this.getMetrics_();b\u0026\u0026(goog.isNumber(a.y)\u0026\u0026(this.workspace_.scrollY=-b.contentHeight*a.y),this.workspace_.translate(this.workspace_.scrollX+b.absoluteLeft,this.workspace_.scrollY+b.absoluteTop),this.clipRect_.setAttribute(\"height\",Math.max(0,b.viewHeight)+\"px\"),this.clipRect_.setAttribute(\"width\",b.viewWidth+\"px\"),this.categoryScrollPositions\u0026\u0026this.selectCategoryByScrollPosition(-this.workspace_.scrollY))};\nBlockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()){var a=this.targetWorkspace_.getMetrics();if(a){this.width_=this.getWidth();if(this.parentToolbox_){var b=this.parentToolbox_.getWidth()-this.width_;b=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT?a.viewWidth:b;var c=0}else b=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT?a.viewWidth-this.width_:0,c=0;this.height_=Math.max(0,a.viewHeight-c);this.setBackgroundPath_(this.width_,this.height_);this.svgGroup_.setAttribute(\"width\",\nthis.width_);this.svgGroup_.setAttribute(\"height\",this.height_);Blockly.utils.setCssTransform(this.svgGroup_,\"translate(\"+b+\"px,\"+c+\"px)\");this.scrollbar_\u0026\u0026(this.scrollbar_.setOrigin(b,c),this.scrollbar_.resize());this.svgGroup_.style.opacity=1}}};\nBlockly.VerticalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT,d=[\"M 0,0\"];d.push(\"h\",a);d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS);d.push(\"v\",Math.max(0,b-2*this.CORNER_RADIUS));d.push(\"a\",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS);d.push(\"h\",-a);d.push(\"z\");this.svgBackground_.setAttribute(\"d\",d.join(\" \"))};\nBlockly.VerticalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(0)};Blockly.VerticalFlyout.prototype.scrollTo=function(a){this.scrollTarget=a*this.workspace_.scale;a=this.workspace_.getMetrics();this.scrollTarget=Math.min(this.scrollTarget,a.contentHeight-a.viewHeight);this.stepScrollAnimation()};\nBlockly.VerticalFlyout.prototype.wheel_=function(a){this.scrollTarget=null;var b=a.deltaY;if(b){goog.userAgent.GECKO\u0026\u00261===a.deltaMode\u0026\u0026(b*=10);var c=this.getMetrics_();b=-this.workspace_.scrollY+b;b=Math.min(b,c.contentHeight-c.viewHeight);b=Math.max(b,0);this.scrollbar_.set(b);Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation()}a.preventDefault();a.stopPropagation()};\nBlockly.VerticalFlyout.prototype.clearOldBlocks_=function(){Blockly.VerticalFlyout.superClass_.clearOldBlocks_.call(this);for(var a=0,b;b=this.checkboxes_[a];a++)b.block.flyoutCheckbox=null,goog.dom.removeNode(b.svgRoot);this.checkboxes_=[]};Blockly.VerticalFlyout.prototype.addBlockListeners_=function(a,b,c){Blockly.VerticalFlyout.superClass_.addBlockListeners_.call(this,a,b,c);b.flyoutCheckbox\u0026\u0026this.listeners_.push(Blockly.bindEvent_(b.flyoutCheckbox.svgRoot,\"mousedown\",null,this.checkboxClicked_(b.flyoutCheckbox)))};\nBlockly.VerticalFlyout.prototype.layout_=function(a,b){for(var c=this.MARGIN,d=this.getWidth()/this.workspace_.scale,e=c,f=0,g;g=a[f];f++)if(\"block\"==g.type){g=g.block;for(var h=g.getDescendants(),k=0,m;m=h[k];k++)m.isInFlyout=!0;h=g.getSvgRoot();k=g.getHeightWidth();m=g.getRelativeToSurfaceXY().x;var l=d-this.MARGIN;m=this.RTL?l-m:c;g.hasCheckboxInFlyout()\u0026\u0026(this.createCheckbox_(g,c,e,k),m=this.RTL?m-(this.CHECKBOX_SIZE+this.CHECKBOX_MARGIN):m+(this.CHECKBOX_SIZE+this.CHECKBOX_MARGIN));g.moveBy(m,\ne+(g.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0));m=this.createRect_(g,this.RTL?m-k.width:m,e,k,f);this.addBlockListeners_(h,g,m);e+=k.height+b[f]+(g.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0)}else\"button\"==g.type\u0026\u0026(g=g.button,h=g.createDom(),g.moveTo(c,e),g.show(),this.listeners_.push(Blockly.bindEventWithChecks_(h,\"mousedown\",this,this.onMouseDown_)),this.buttons_.push(g),e+=g.height+b[f])};\nBlockly.VerticalFlyout.prototype.createRect_=function(a,b,c,d,e){b=Blockly.utils.createSvgElement(\"rect\",{\"fill-opacity\":0,x:b,y:c,height:d.height,width:d.width},null);b.tooltip=a;Blockly.Tooltip.bindMouseEvents(b);this.workspace_.getCanvas().insertBefore(b,a.getSvgRoot());a.flyoutRect_=b;return this.backgroundButtons_[e]=b};\nBlockly.VerticalFlyout.prototype.createCheckbox_=function(a,b,c,d){var e=Blockly.VerticalFlyout.getCheckboxState(a.id),f=a.getSvgRoot(),g=this.CHECKBOX_SIZE+this.CHECKBOX_MARGIN;b=this.RTL?this.getWidth()/this.workspace_.scale-g:b;c=Blockly.utils.createSvgElement(\"g\",{\"class\":\"blocklyFlyoutCheckbox\",transform:\"translate(\"+b+\", \"+(c+d.height/2-this.CHECKBOX_SIZE/2)+\")\"},null);Blockly.utils.createSvgElement(\"rect\",{height:this.CHECKBOX_SIZE,width:this.CHECKBOX_SIZE,rx:this.CHECKBOX_CORNER_RADIUS,ry:this.CHECKBOX_CORNER_RADIUS},\nc);Blockly.utils.createSvgElement(\"path\",{\"class\":\"blocklyFlyoutCheckboxPath\",d:this.CHECKMARK_PATH},c);d={svgRoot:c,clicked:e,block:a};e\u0026\u0026Blockly.utils.addClass(d.svgRoot,\"checked\");a.flyoutCheckbox=d;this.workspace_.getCanvas().insertBefore(c,f);this.checkboxes_.push(d)};Blockly.VerticalFlyout.prototype.checkboxClicked_=function(a){return function(b){this.setCheckboxState(a.block.id,!a.clicked);b.stopPropagation();b.preventDefault()}.bind(this)};\nBlockly.VerticalFlyout.prototype.setCheckboxState=function(a,b){for(var c=0;c\u003cthis.checkboxes_.length;c++){var d=this.checkboxes_[c];if(d.block.id===a){if(d.clicked===b)break;c=d.clicked;d.clicked=b;d.clicked?Blockly.utils.addClass(d.svgRoot,\"checked\"):Blockly.utils.removeClass(d.svgRoot,\"checked\");Blockly.Events.fire(new Blockly.Events.Change(d.block,\"checkbox\",null,c,b));break}}};\nBlockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=!1,c=this.dragAngleRange_;if(this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT)a\u003cc\u0026\u0026a\u003e-c\u0026\u0026(b=!0);else if(a\u003c-180+c||a\u003e180-c)b=!0;return b};\nBlockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.left;a=a.width;return this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?new goog.math.Rect(b-1E9,-1E9,1E9+a,2E9):new goog.math.Rect(b,-1E9,1E9+a,2E9)};Blockly.VerticalFlyout.prototype.reflowInternal_=function(){};Blockly.VerticalFlyout.getCheckboxState=function(){return!1};Blockly.Toolbox=function(a){this.workspace_=a;this.iconic_=!1;this.RTL=a.options.RTL;this.horizontalLayout_=a.options.horizontalLayout;this.toolboxPosition=a.options.toolboxPosition};Blockly.Toolbox.prototype.width=310;Blockly.Toolbox.prototype.height=0;Blockly.Toolbox.prototype.selectedItem_=null;\nBlockly.Toolbox.prototype.init=function(){var a=this.workspace_,b=this.workspace_.getParentSvg();this.HtmlDiv=goog.dom.createDom(\"DIV\",\"blocklyToolboxDiv\");this.HtmlDiv.setAttribute(\"dir\",a.RTL?\"RTL\":\"LTR\");b.parentNode.insertBefore(this.HtmlDiv,b);Blockly.bindEventWithChecks_(this.HtmlDiv,\"mousedown\",this,function(a){Blockly.utils.isRightButton(a)||a.target==this.HtmlDiv?Blockly.hideChaff(!1):Blockly.hideChaff(!0);Blockly.Touch.clearTouchIdentifier()});this.createFlyout_();this.categoryMenu_=new Blockly.Toolbox.CategoryMenu(this,\nthis.HtmlDiv);this.populate_(a.options.languageTree);this.position()};Blockly.Toolbox.prototype.dispose=function(){this.flyout_.dispose();this.categoryMenu_.dispose();this.categoryMenu_=null;goog.dom.removeNode(this.HtmlDiv);this.lastCategory_=this.workspace_=null};\nBlockly.Toolbox.prototype.createFlyout_=function(){var a=this.workspace_,b={disabledPatternId:a.options.disabledPatternId,parentWorkspace:a,RTL:a.RTL,oneBasedIndex:a.options.oneBasedIndex,horizontalLayout:a.horizontalLayout,toolboxPosition:a.options.toolboxPosition};this.flyout_=a.horizontalLayout?new Blockly.HorizontalFlyout(b):new Blockly.VerticalFlyout(b);this.flyout_.setParentToolbox(this);goog.dom.insertSiblingAfter(this.flyout_.createDom(\"svg\"),this.workspace_.getParentSvg());this.flyout_.init(a)};\nBlockly.Toolbox.prototype.populate_=function(a){this.categoryMenu_.populate(a);this.showAll_();this.setSelectedItem(this.categoryMenu_.categories_[0])};Blockly.Toolbox.prototype.showAll_=function(){for(var a=[],b=0;b\u003cthis.categoryMenu_.categories_.length;b++){var c=this.categoryMenu_.categories_[b],d=Blockly.Xml.textToDom('\u003cxml\u003e\u003clabel text=\"'+c.name_+'\" category-label=\"true\" web-class=\"categoryLabel\"\u003e\u003c/label\u003e\u003c/xml\u003e');a.push(d.firstChild);a=a.concat(c.getContents())}this.flyout_.show(a)};\nBlockly.Toolbox.prototype.getWidth=function(){return this.width};Blockly.Toolbox.prototype.getHeight=function(){return this.categoryMenu_?this.categoryMenu_.getHeight():0};\nBlockly.Toolbox.prototype.position=function(){var a=this.HtmlDiv;if(a){var b=this.workspace_.getParentSvg();b=Blockly.svgSize(b);this.horizontalLayout_?(a.style.left=\"0\",a.style.height=\"auto\",a.style.width=b.width+\"px\",this.height=a.offsetHeight,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?a.style.top=\"0\":a.style.bottom=\"0\"):(this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?a.style.right=\"0\":a.style.left=\"0\",a.style.height=\"100%\");this.flyout_.position()}};Blockly.Toolbox.prototype.clearSelection=function(){this.setSelectedItem(null)};\nBlockly.Toolbox.prototype.addDeleteStyle=function(){Blockly.utils.addClass(this.HtmlDiv,\"blocklyToolboxDelete\")};Blockly.Toolbox.prototype.removeDeleteStyle=function(){Blockly.utils.removeClass(this.HtmlDiv,\"blocklyToolboxDelete\")};\nBlockly.Toolbox.prototype.getClientRect=function(){if(!this.HtmlDiv)return null;if(!this.flyout_.autoClose)return this.flyout_.getClientRect();var a=this.HtmlDiv.getBoundingClientRect(),b=a.left,c=a.top,d=a.width,e=a.height;return this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?new goog.math.Rect(-1E7,-1E7,1E7+b+d,2E7):this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?new goog.math.Rect(a.right-d,-1E7,1E7+d,2E7):this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?new goog.math.Rect(-1E7,-1E7,2E7,1E7+c+e):new goog.math.Rect(0,\nc,2E7,1E7)};Blockly.Toolbox.prototype.refreshSelection=function(){this.showAll_()};Blockly.Toolbox.prototype.getSelectedItem=function(){return this.selectedItem_};Blockly.Toolbox.prototype.setSelectedItem=function(a){this.selectedItem_\u0026\u0026this.selectedItem_.setSelected(!1);this.selectedItem_=a;null!=this.selectedItem_\u0026\u0026(this.selectedItem_.setSelected(!0),this.scrollToCategoryByName(a.name_))};Blockly.Toolbox.prototype.setSelectedCategoryByName=function(a){this.selectCategoryByName(a);this.scrollToCategoryByName(a)};\nBlockly.Toolbox.prototype.scrollToCategoryByName=function(a){for(var b=this.flyout_.categoryScrollPositions,c=0;c\u003cb.length;c++)if(a===b[c].categoryName){this.flyout_.setVisible(!0);this.flyout_.scrollTo(b[c].position);break}};Blockly.Toolbox.prototype.selectCategoryByName=function(a){for(var b=0;b\u003cthis.categoryMenu_.categories_.length;b++){var c=this.categoryMenu_.categories_[b];a===c.name_\u0026\u0026(this.selectedItem_.setSelected(!1),this.selectedItem_=c,this.selectedItem_.setSelected(!0))}};\nBlockly.Toolbox.prototype.setSelectedItemFactory=function(a){return function(){this.setSelectedItem(a);Blockly.Touch.clearTouchIdentifier()}};Blockly.Toolbox.CategoryMenu=function(a,b){this.parent_=a;this.height_=0;this.parentHtml_=b;this.createDom();this.categories_=[]};Blockly.Toolbox.CategoryMenu.prototype.getHeight=function(){return this.height_};\nBlockly.Toolbox.CategoryMenu.prototype.createDom=function(){this.table=goog.dom.createDom(\"div\",this.parent_.horizontalLayout_?\"scratchCategoryMenuHorizontal\":\"scratchCategoryMenu\");this.parentHtml_.appendChild(this.table)};\nBlockly.Toolbox.CategoryMenu.prototype.populate=function(a){if(a){this.dispose();this.createDom();for(var b=[],c=0,d;d=a.childNodes[c];c++)d.tagName\u0026\u0026\"CATEGORY\"==d.tagName.toUpperCase()\u0026\u0026b.push(d);for(c=0;c\u003cb.length;c++)d=b[c],a=goog.dom.createDom(\"div\",\"scratchCategoryMenuRow\"),this.table.appendChild(a),d\u0026\u0026this.categories_.push(new Blockly.Toolbox.Category(this,a,d));this.height_=this.table.offsetHeight}};\nBlockly.Toolbox.CategoryMenu.prototype.dispose=function(){for(var a=0,b;b=this.categories_[a];a++)b.dispose();this.categories_=[];this.table\u0026\u0026(goog.dom.removeNode(this.table),this.table=null)};Blockly.Toolbox.Category=function(a,b,c){this.parent_=a;this.parentHtml_=b;this.name_=c.getAttribute(\"name\");this.setColour(c);this.custom_=c.getAttribute(\"custom\");this.contents_=[];this.custom_||this.parseContents_(c);this.createDom()};\nBlockly.Toolbox.Category.prototype.dispose=function(){this.item_\u0026\u0026(goog.dom.removeNode(this.item_),this.item=null);this.contents_=this.parentHtml_=this.parent_=null};\nBlockly.Toolbox.Category.prototype.createDom=function(){var a=this.parent_.parent_;this.item_=goog.dom.createDom(\"div\",{\"class\":\"scratchCategoryMenuItem\"});this.label_=goog.dom.createDom(\"div\",{\"class\":\"scratchCategoryMenuItemLabel\"},this.name_);this.bubble_=goog.dom.createDom(\"div\",{\"class\":\"scratchCategoryItemBubble\"});this.bubble_.style.backgroundColor=this.colour_;this.bubble_.style.borderColor=this.secondaryColour_;this.item_.appendChild(this.bubble_);this.item_.appendChild(this.label_);this.parentHtml_.appendChild(this.item_);\nBlockly.bindEvent_(this.item_,\"mousedown\",a,a.setSelectedItemFactory(this))};Blockly.Toolbox.Category.prototype.setSelected=function(a){this.item_.className=a?\"scratchCategoryMenuItem categorySelected\":\"scratchCategoryMenuItem\"};Blockly.Toolbox.Category.prototype.parseContents_=function(a){for(var b=0,c;c=a.childNodes[b];b++)if(c.tagName)switch(c.tagName.toUpperCase()){case \"BLOCK\":case \"SHADOW\":case \"LABEL\":case \"BUTTON\":case \"SEP\":case \"TEXT\":this.contents_.push(c)}};\nBlockly.Toolbox.Category.prototype.getContents=function(){return this.custom_?this.custom_:this.contents_};Blockly.Toolbox.Category.prototype.setColour=function(a){var b=a.getAttribute(\"colour\");a=a.getAttribute(\"secondaryColour\");goog.isString(b)?(b.match(/^#[0-9a-fA-F]{6}$/)?this.colour_=b:this.colour_=Blockly.hueToRgb(b),a.match(/^#[0-9a-fA-F]{6}$/)?this.secondaryColour_=a:this.secondaryColour_=Blockly.hueToRgb(a),this.hasColours_=!0):this.secondaryColour_=this.colour_=\"#000000\"};Blockly.Css={};Blockly.Css.Cursor={OPEN:\"handopen\",CLOSED:\"handclosed\",DELETE:\"handdelete\"};Blockly.Css.currentCursor_=\"\";Blockly.Css.styleSheet_=null;Blockly.Css.mediaPath_=\"\";\nBlockly.Css.inject=function(a,b){if(!Blockly.Css.styleSheet_){var c=\".blocklyDraggable {}\\n\";a\u0026\u0026(c+=Blockly.Css.CONTENT.join(\"\\n\"),Blockly.FieldDate\u0026\u0026(c+=Blockly.FieldDate.CSS.join(\"\\n\")));Blockly.Css.mediaPath_=b.replace(/[\\\\\\/]$/,\"\");c=c.replace(/\u003c\u003c\u003cPATH\u003e\u003e\u003e/g,Blockly.Css.mediaPath_);for(var d in Blockly.Colours)Blockly.Colours.hasOwnProperty(d)\u0026\u0026(c=c.replace(new RegExp(\"\\\\$colour\\\\_\"+d,\"g\"),Blockly.Colours[d]));d=document.createElement(\"style\");document.head.insertBefore(d,document.head.firstChild);\nc=document.createTextNode(c);d.appendChild(c);Blockly.Css.styleSheet_=d.sheet}};Blockly.Css.setCursor=function(a){console.warn(\"Deprecated call to Blockly.Css.setCursor.See https://github.com/google/blockly/issues/981 for context\")};\nBlockly.Css.CONTENT=[\".blocklySvg {\",\"background-color: $colour_workspace;\",\"outline: none;\",\"overflow: hidden;\",\"position: absolute;\",\"display: block;\",\"}\",\".blocklyRelativeWrapper {\",\"position: relative;\",\"width: 100%;\",\"height: 100%;\",\"}\",\".blocklyWidgetDiv {\",\"display: none;\",\"position: absolute;\",\"z-index: 99999;\",\"}\",\".injectionDiv {\",\"height: 100%;\",\"position: relative;\",\"overflow: hidden;\",\"touch-action: none\",\"}\",\".blocklyNonSelectable {\",\"user-select: none;\",\"-moz-user-select: none;\",\"-webkit-user-select: none;\",\n\"-ms-user-select: none;\",\"}\",\".blocklyWidgetDiv.fieldTextInput {\",\"overflow: hidden;\",\"border: 1px solid;\",\"box-sizing: border-box;\",\"transform-origin: 0 0;\",\"-ms-transform-origin: 0 0;\",\"-moz-transform-origin: 0 0;\",\"-webkit-transform-origin: 0 0;\",\"}\",\".blocklyTextDropDownArrow {\",\"position: absolute;\",\"}\",\".blocklyNonSelectable {\",\"user-select: none;\",\"-moz-user-select: none;\",\"-webkit-user-select: none;\",\"-ms-user-select: none;\",\"}\",\".blocklyWsDragSurface {\",\"display: none;\",\"position: absolute;\",\n\"overflow: visible;\",\"top: 0;\",\"left: 0;\",\"}\",\".blocklyBlockDragSurface {\",\"display: none;\",\"position: absolute;\",\"top: 0;\",\"left: 0;\",\"right: 0;\",\"bottom: 0;\",\"overflow: visible !important;\",\"z-index: 50;\",\"}\",\".blocklyTooltipDiv {\",\"background-color: #ffffc7;\",\"border: 1px solid #ddc;\",\"box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15);\",\"color: #000;\",\"display: none;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 9pt;\",\"opacity: 0.9;\",\"padding: 2px;\",\"position: absolute;\",\"z-index: 100000;\",\n\"}\",\".blocklyDropDownDiv {\",\"position: fixed;\",\"left: 0;\",\"top: 0;\",\"z-index: 1000;\",\"display: none;\",\"border: 1px solid;\",\"border-radius: 4px;\",\"box-shadow: 0px 0px 8px 1px \"+Blockly.Colours.dropDownShadow+\";\",\"padding: 4px;\",\"-webkit-user-select: none;\",\"}\",\".blocklyDropDownContent {\",\"max-height: 300px;\",\"overflow: auto;\",\"}\",\".blocklyDropDownArrow {\",\"position: absolute;\",\"left: 0;\",\"top: 0;\",\"width: 16px;\",\"height: 16px;\",\"z-index: -1;\",\"background-color: inherit;\",\"border-color: inherit;\",\"}\",\n\".blocklyDropDownButton {\",\"display: inline-block;\",\"float: left;\",\"padding: 0;\",\"margin: 4px;\",\"border-radius: 4px;\",\"outline: none;\",\"border: 1px solid;\",\"transition: box-shadow .1s;\",\"cursor: pointer;\",\"}\",\".blocklyDropDownButtonHover {\",\"box-shadow: 0px 0px 0px 4px \"+Blockly.Colours.fieldShadow+\";\",\"}\",\".blocklyDropDownButton:active {\",\"box-shadow: 0px 0px 0px 6px \"+Blockly.Colours.fieldShadow+\";\",\"}\",\".blocklyDropDownButton \u003e img {\",\"width: 80%;\",\"height: 80%;\",\"margin-top: 5%\",\"}\",\".blocklyDropDownPlaceholder {\",\n\"display: inline-block;\",\"float: left;\",\"padding: 0;\",\"margin: 4px;\",\"}\",\".blocklyNumPadButton {\",\"display: inline-block;\",\"float: left;\",\"padding: 0;\",\"width: 48px;\",\"height: 48px;\",\"margin: 4px;\",\"border-radius: 4px;\",\"background: $colour_numPadBackground;\",\"color: $colour_numPadText;\",\"outline: none;\",\"border: 1px solid $colour_numPadBorder;\",\"cursor: pointer;\",\"font-weight: 600;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 12pt;\",\"-webkit-tap-highlight-color: rgba(0,0,0,0);\",\n\"}\",\".blocklyNumPadButton \u003e img {\",\"margin-top: 10%;\",\"width: 80%;\",\"height: 80%;\",\"}\",\".blocklyNumPadButton:active {\",\"background: $colour_numPadActiveBackground;\",\"-webkit-tap-highlight-color: rgba(0,0,0,0);\",\"}\",\".arrowTop {\",\"border-top: 1px solid;\",\"border-left: 1px solid;\",\"border-top-left-radius: 4px;\",\"border-color: inherit;\",\"}\",\".arrowBottom {\",\"border-bottom: 1px solid;\",\"border-right: 1px solid;\",\"border-bottom-right-radius: 4px;\",\"border-color: inherit;\",\"}\",\".valueReportBox {\",\"min-width: 50px;\",\n\"max-width: 300px;\",\"max-height: 200px;\",\"overflow: auto;\",\"word-wrap: break-word;\",\"text-align: center;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: .8em;\",\"}\",\".blocklyResizeSE {\",\"cursor: se-resize;\",\"fill: #aaa;\",\"}\",\".blocklyResizeSW {\",\"cursor: sw-resize;\",\"fill: #aaa;\",\"}\",\".blocklyResizeLine {\",\"stroke: #888;\",\"stroke-width: 1;\",\"}\",\".blocklyHighlightedConnectionPath {\",\"fill: none;\",\"stroke: #fc3;\",\"stroke-width: 4px;\",\"}\",\".blocklyPath {\",\"stroke-width: 1px;\",\"}\",\n\".blocklySelected\u003e.blocklyPath {\",\"}\",\".blocklySelected\u003e.blocklyPathLight {\",\"display: none;\",\"}\",\".blocklyDraggable {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handopen.cur\"), auto;',\"cursor: grab;\",\"cursor: -webkit-grab;\",\"cursor: -moz-grab;\",\"}\",\".blocklyDragging {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handclosed.cur\"), auto;',\"cursor: grabbing;\",\"cursor: -webkit-grabbing;\",\"cursor: -moz-grabbing;\",\"}\",\".blocklyDraggable:active {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handclosed.cur\"), auto;',\"cursor: grabbing;\",\"cursor: -webkit-grabbing;\",\n\"cursor: -moz-grabbing;\",\"}\",\".blocklyBlockDragSurface .blocklyDraggable {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handclosed.cur\"), auto;',\"cursor: grabbing;\",\"cursor: -webkit-grabbing;\",\"cursor: -moz-grabbing;\",\"}\",\".blocklyDragging.blocklyDraggingDelete {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handdelete.cur\"), auto;',\"}\",\".blocklyToolboxDelete {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handdelete.cur\"), auto;',\"}\",\".blocklyDragging\u003e.blocklyPath,\",\".blocklyDragging\u003e.blocklyPathLight {\",\"fill-opacity: 1.0;\",\"stroke-opacity: 1.0;\",\"}\",\".blocklyDragging\u003e.blocklyPath {\",\n\"}\",\".blocklyDisabled\u003e.blocklyPath {\",\"fill-opacity: .5;\",\"stroke-opacity: .5;\",\"}\",\".blocklyInsertionMarker\u003e.blocklyPath {\",\"stroke: none;\",\"}\",\".blocklyText {\",\"fill: #fff;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 12pt;\",\"font-weight: 500;\",\"}\",\".blocklyTextTruncated {\",\"font-size: 11pt;\",\"}\",\".blocklyNonEditableText\u003etext {\",\"pointer-events: none;\",\"}\",\".blocklyNonEditableText\u003etext,\",\".blocklyEditableText\u003etext {\",\"fill: $colour_text;\",\"}\",\".blocklyDropdownText {\",\"fill: #fff !important;\",\n\"}\",\".blocklyBubbleText {\",\"fill: $colour_text;\",\"}\",\".blocklyFlyout {\",\"position: absolute;\",\"z-index: 20;\",\"}\",\".blocklyFlyout {\",\"position: absolute;\",\"z-index: 20;\",\"}\",\".blocklyFlyoutButton {\",\"fill: none;\",\"}\",\".blocklyFlyoutButtonBackground {\",\"stroke: #c6c6c6;\",\"}\",\".blocklyFlyoutButton .blocklyText {\",\"fill: $colour_text;\",\"}\",\".blocklyFlyoutButtonShadow {\",\"fill: none;\",\"}\",\".blocklyFlyoutButton:hover {\",\"fill: white;\",\"cursor: pointer;\",\"}\",\".blocklyFlyoutLabel {\",\"cursor: default;\",\"}\",\n\".blocklyFlyoutLabelBackground {\",\"opacity: 0;\",\"}\",\".blocklyFlyoutLabelText {\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 14pt;\",\"fill: #575E75;\",\"font-weight: bold;\",\"}\",\".blocklySvg text, .blocklyBlockDragSurface text, .blocklyFlyout text, .blocklyToolboxDiv text {\",\"user-select: none;\",\"-moz-user-select: none;\",\"-webkit-user-select: none;\",\"cursor: inherit;\",\"}\",\".blocklyHidden {\",\"display: none;\",\"}\",\".blocklyFieldDropdown:not(.blocklyHidden) {\",\"display: block;\",\"}\",\n\".blocklyIconGroup {\",\"cursor: default;\",\"}\",\".blocklyIconGroup:not(:hover),\",\".blocklyIconGroupReadonly {\",\"opacity: .6;\",\"}\",\".blocklyIconShape {\",\"fill: #00f;\",\"stroke: #fff;\",\"stroke-width: 1px;\",\"}\",\".blocklyIconSymbol {\",\"fill: #fff;\",\"}\",\".blocklyMinimalBody {\",\"margin: 0;\",\"padding: 0;\",\"}\",\".blocklyCommentTextarea {\",\"background-color: #ffc;\",\"border: 0;\",\"margin: 0;\",\"padding: 2px;\",\"resize: none;\",\"}\",\".blocklyHtmlInput {\",\"border: none;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\n\"font-size: 12pt;\",\"height: 100%;\",\"margin: 0;\",\"outline: none;\",\"box-sizing: border-box;\",\"width: 100%;\",\"text-align: center;\",\"color: $colour_text;\",\"font-weight: 500;\",\"}\",\".blocklyMainBackground {\",\"stroke-width: 1;\",\"stroke: #c6c6c6;\",\"}\",\".blocklyMutatorBackground {\",\"fill: #fff;\",\"stroke: #ddd;\",\"stroke-width: 1;\",\"}\",\".blocklyFlyoutBackground {\",\"fill: $colour_flyout;\",\"fill-opacity: .8;\",\"}\",\".blocklyMainWorkspaceScrollbar {\",\"z-index: 20;\",\"}\",\".blocklyFlyoutScrollbar {\",\"z-index: 30;\",\n\"}\",\".blocklyScrollbarHorizontal, .blocklyScrollbarVertical {\",\"position: absolute;\",\"outline: none;\",\"}\",\".blocklyScrollbarBackground {\",\"opacity: 0;\",\"}\",\".blocklyScrollbarHandle {\",\"fill: $colour_scrollbar;\",\"}\",\".blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,\",\".blocklyScrollbarHandle:hover {\",\"fill: $colour_scrollbarHover;\",\"}\",\".blocklyZoom\u003eimage {\",\"opacity: 1;\",\"}\",\".blocklyFlyout .blocklyScrollbarHandle {\",\"fill: #bbb;\",\"}\",\".blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,\",\n\".blocklyFlyout .blocklyScrollbarHandle:hover {\",\"fill: #aaa;\",\"}\",\".blocklyInvalidInput {\",\"background: #faa;\",\"}\",\".blocklyAngleCircle {\",\"stroke: \"+Blockly.Colours.motion.tertiary+\";\",\"stroke-width: 1;\",\"fill: \"+Blockly.Colours.motion.secondary+\";\",\"}\",\".blocklyAngleCenterPoint {\",\"stroke: #fff;\",\"stroke-width: 1;\",\"fill: #fff;\",\"}\",\".blocklyAngleDragHandle {\",\"stroke: #fff;\",\"stroke-width: 5;\",\"stroke-opacity: 0.25;\",\"fill: #fff;\",\"cursor: pointer;\",\"}\",\".blocklyAngleMarks {\",\"stroke: #fff;\",\n\"stroke-width: 1;\",\"stroke-opacity: 0.5;\",\"}\",\".blocklyAngleGauge {\",\"fill: #fff;\",\"fill-opacity: 0.20;\",\"}\",\".blocklyAngleLine {\",\"stroke: #fff;\",\"stroke-width: 1;\",\"stroke-linecap: round;\",\"pointer-events: none;\",\"}\",\".blocklyContextMenu {\",\"border-radius: 4px;\",\"}\",\".blocklyDropdownMenu {\",\"padding: 0 !important;\",\"}\",\".blocklyDropDownNumPad {\",\"background-color: $colour_numPadBackground;\",\"}\",\".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,\",\".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon {\",\n\"background: url(\u003c\u003c\u003cPATH\u003e\u003e\u003e/sprites.png) no-repeat -48px -16px !important;\",\"}\",\".blocklyToolboxDiv {\",\"background-color: $colour_toolbox;\",\"color: $colour_toolboxText;\",\"overflow-x: visible;\",\"overflow-y: auto;\",\"position: absolute;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"z-index: 40;\",\"}\",\".blocklyTreeRoot {\",\"padding: 4px 0;\",\"}\",\".blocklyTreeRoot:focus {\",\"outline: none;\",\"}\",\".blocklyTreeRow {\",\"height: 22px;\",\"line-height: 22px;\",\"margin-bottom: 3px;\",\"padding-right: 8px;\",\n\"white-space: nowrap;\",\"}\",\".blocklyHorizontalTree {\",\"float: left;\",\"margin: 1px 5px 8px 0;\",\"}\",\".blocklyHorizontalTreeRtl {\",\"float: right;\",\"margin: 1px 0 8px 5px;\",\"}\",'.blocklyToolboxDiv[dir=\"RTL\"] .blocklyTreeRow {',\"margin-left: 8px;\",\"}\",\".blocklyTreeRow:not(.blocklyTreeSelected):hover {\",\"background-color: #e4e4e4;\",\"}\",\".blocklyTreeSeparator {\",\"border-bottom: solid #e5e5e5 1px;\",\"height: 0;\",\"margin: 5px 0;\",\"}\",\".blocklyTreeSeparatorHorizontal {\",\"border-right: solid #e5e5e5 1px;\",\"width: 0;\",\n\"padding: 5px 0;\",\"margin: 0 5px;\",\"}\",\".blocklyTreeIcon {\",\"background-image: url(\u003c\u003c\u003cPATH\u003e\u003e\u003e/sprites.png);\",\"height: 16px;\",\"vertical-align: middle;\",\"width: 16px;\",\"}\",\".blocklyTreeIconClosedLtr {\",\"background-position: -32px -1px;\",\"}\",\".blocklyTreeIconClosedRtl {\",\"background-position: 0px -1px;\",\"}\",\".blocklyTreeIconOpen {\",\"background-position: -16px -1px;\",\"}\",\".blocklyTreeSelected\u003e.blocklyTreeIconClosedLtr {\",\"background-position: -32px -17px;\",\"}\",\".blocklyTreeSelected\u003e.blocklyTreeIconClosedRtl {\",\n\"background-position: 0px -17px;\",\"}\",\".blocklyTreeSelected\u003e.blocklyTreeIconOpen {\",\"background-position: -16px -17px;\",\"}\",\".blocklyTreeIconNone,\",\".blocklyTreeSelected\u003e.blocklyTreeIconNone {\",\"background-position: -48px -1px;\",\"}\",\".blocklyTreeLabel {\",\"cursor: default;\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 16px;\",\"padding: 0 3px;\",\"vertical-align: middle;\",\"}\",\".blocklyToolboxDelete .blocklyTreeLabel {\",'cursor: url(\"\u003c\u003c\u003cPATH\u003e\u003e\u003e/handdelete.cur\"), auto;',\"}\",\".blocklyTreeSelected .blocklyTreeLabel {\",\n\"color: #fff;\",\"}\",\".blocklyDropDownDiv .goog-slider-horizontal {\",\"margin: 8px;\",\"height: 22px;\",\"width: 150px;\",\"position: relative;\",\"outline: none;\",\"border-radius: 11px;\",\"margin-bottom: 20px;\",\"}\",\".blocklyDropDownDiv .goog-slider-horizontal .goog-slider-thumb {\",\"width: 26px;\",\"height: 26px;\",\"margin-top: -1px;\",\"position: absolute;\",\"background-color: white;\",\"border-radius: 100%;\",\"-webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.15);\",\"-moz-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.15);\",\"box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.15);\",\n\"}\",\".scratchEyedropper {\",\"background: none;\",\"outline: none;\",\"border: none;\",\"width: 100%;\",\"text-align: center;\",\"border-top: 1px solid #ddd;\",\"padding-top: 5px;\",\"cursor: pointer;\",\"}\",\".scratchColourPickerLabel {\",'font-family: \"Helvetica Neue\", Helvetica, sans-serif;',\"font-size: 0.65rem;\",\"color: $colour_toolboxText;\",\"margin: 8px;\",\"}\",\".scratchColourPickerLabelText {\",\"font-weight: bold;\",\"}\",\".scratchColourPickerReadout {\",\"margin-left: 10px;\",\"}\",\".blocklyWidgetDiv .goog-menu {\",\"background: #fff;\",\n\"border-color: #ccc #666 #666 #ccc;\",\"border-style: solid;\",\"border-width: 1px;\",\"cursor: default;\",'font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;',\"margin: 0;\",\"outline: none;\",\"padding: 4px 0;\",\"position: absolute;\",\"overflow-y: auto;\",\"overflow-x: hidden;\",\"z-index: 20000;\",\"}\",\".blocklyDropDownDiv .goog-menu {\",\"cursor: default;\",'font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;',\"outline: none;\",\"z-index: 20000;\",\"}\",\".blocklyWidgetDiv .goog-menuitem {\",\"color: #000;\",\n'font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;',\"list-style: none;\",\"margin: 0;\",\"padding: 4px 7em 4px 28px;\",\"white-space: nowrap;\",\"}\",\".blocklyDropDownDiv .goog-menuitem {\",\"color: #fff;\",'font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;',\"font-weight: bold;\",\"list-style: none;\",\"margin: 0;\",\"padding: 4px 7em 4px 28px;\",\"white-space: nowrap;\",\"}\",\".blocklyWidgetDiv .goog-menuitem.goog-menuitem-rtl, \",\".blocklyDropDownDiv .goog-menuitem.goog-menuitem-rtl {\",\"padding-left: 7em;\",\n\"padding-right: 28px;\",\"}\",\".blocklyWidgetDiv .goog-menu-nocheckbox .goog-menuitem,\",\".blocklyWidgetDiv .goog-menu-noicon .goog-menuitem, \",\".blocklyDropDownDiv .goog-menu-nocheckbox .goog-menuitem,\",\".blocklyDropDownDiv .goog-menu-noicon .goog-menuitem { \",\"padding-left: 12px;\",\"}\",\".blocklyWidgetDiv .goog-menu-noaccel .goog-menuitem, \",\".blocklyDropDownDiv .goog-menu-noaccel .goog-menuitem {\",\"padding-right: 20px;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-content \",\".blocklyDropDownDiv .goog-menuitem-content {\",\n\"color: #000;\",'font: normal 13px \"Helvetica Neue\", Helvetica, sans-serif;',\"}\",\".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-accel,\",\".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-content, \",\".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-accel,\",\".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-content {\",\"color: #ccc !important;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-icon, \",\".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-icon {\",\n\"opacity: 0.3;\",\"-moz-opacity: 0.3;\",\"filter: alpha(opacity=30);\",\"}\",\".blocklyWidgetDiv .goog-menuitem-highlight,\",\".blocklyWidgetDiv .goog-menuitem-hover {\",\"background-color: #d6e9f8;\",\"border-color: #d6e9f8;\",\"border-style: dotted;\",\"border-width: 1px 0;\",\"padding-bottom: 3px;\",\"padding-top: 3px;\",\"}\",\".blocklyDropDownDiv .goog-menuitem-highlight,\",\".blocklyDropDownDiv .goog-menuitem-hover {\",\"background-color: rgba(0, 0, 0, 0.2);\",\"}\",\".blocklyWidgetDiv .goog-menuitem-checkbox,\",\".blocklyWidgetDiv .goog-menuitem-icon, \",\n\".blocklyDropDownDiv .goog-menuitem-checkbox,\",\".blocklyDropDownDiv .goog-menuitem-icon {\",\"background-repeat: no-repeat;\",\"height: 16px;\",\"left: 6px;\",\"position: absolute;\",\"right: auto;\",\"vertical-align: middle;\",\"width: 16px;\",\"}\",\".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,\",\".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon,\",\".blocklyDropDownDiv .goog-option-selected .goog-menuitem-checkbox,\",\".blocklyDropDownDiv .goog-option-selected .goog-menuitem-icon {\",\"background: url(\u003c\u003c\u003cPATH\u003e\u003e\u003e/sprites.png) no-repeat -48px -16px !important;\",\n\"position: static;\",\"float: left;\",\"margin-left: -24px;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox,\",\".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon,\",\".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-checkbox,\",\".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-icon {\",\"float: right;\",\"margin-left: 6px;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-accel, \",\".blocklyDropDownDiv .goog-menuitem-accel {\",\"color: #999;\",\"direction: ltr;\",\"left: auto;\",\"padding: 0 6px;\",\n\"position: absolute;\",\"right: 0;\",\"text-align: right;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-accel, \",\".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-accel {\",\"left: 0;\",\"right: auto;\",\"text-align: left;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-mnemonic-hint, \",\".blocklyDropDownDiv .goog-menuitem-mnemonic-hint {\",\"text-decoration: underline;\",\"}\",\".blocklyWidgetDiv .goog-menuitem-mnemonic-separator, \",\".blocklyDropDownDiv .goog-menuitem-mnemonic-separator {\",\"color: #999;\",\n\"font-size: 12px;\",\"padding-left: 4px;\",\"}\",\".blocklyWidgetDiv .goog-menuseparator, \",\".blocklyDropDownDiv .goog-menuseparator {\",\"border-top: 1px solid #ccc;\",\"margin: 4px 0;\",\"padding: 0;\",\"}\",\".blocklyFlyoutCheckbox {\",\"fill: white;\",\"stroke: #c8c8c8;\",\"}\",\".blocklyFlyoutCheckbox.checked {\",\"fill: \"+Blockly.Colours.motion.primary+\";\",\"stroke: \"+Blockly.Colours.motion.tertiary+\";\",\"}\",\".blocklyFlyoutCheckboxPath {\",\"stroke: white;\",\"stroke-width: 3;\",\"stroke-linecap: round;\",\"stroke-linejoin: round;\",\n\"}\",\".scratchCategoryMenu {\",\"width: 60px;\",\"background: $colour_toolbox;\",\"color: $colour_toolboxText;\",\"font-size: .7em;\",\"user-select: none;\",\"-webkit-user-select: none;\",\"-moz-user-select: none;\",\"-ms-user-select: none;\",\"}\",\".scratchCategoryMenuHorizontal {\",\"width: 100%;\",\"height: 50px;\",\"background: $colour_toolbox;\",\"color: $colour_toolboxText;\",\"font-size: .7em;\",\"user-select: none;\",\"-webkit-user-select: none;\",\"-moz-user-select: none;\",\"-ms-user-select: none;\",\"}\",\".scratchCategoryMenuHorizontal .scratchCategoryMenuRow {\",\n\"float: left;\",\"margin: 3px;\",\"}\",\".scratchCategoryMenuRow {\",\"}\",\".scratchCategoryMenu .scratchCategoryMenuRow + .scratchCategoryMenuRow:before {\",\"display: block;\",\"border-top: 1px solid #ddd;\",'content: \"\";',\"width: 60%;\",\"margin: 4px auto;\",\"}\",\".scratchCategoryMenuItem {\",\"padding: 6px 0px;\",\"cursor: pointer;\",\"margin: 0px 2px;\",\"text-align: center;\",\"}\",\".scratchCategoryMenuHorizontal .scratchCategoryMenuItem {\",\"padding: 6px 5px;\",\"}\",\".scratchCategoryMenuItem.categorySelected {\",\"background: $colour_toolboxSelected;\",\n\"border-radius: 6px;\",\"}\",\".scratchCategoryItemBubble {\",\"width: 16px;\",\"height: 16px;\",\"border: 1px solid;\",\"border-radius: 100%;\",\"margin: 0 auto 3px;\",\"}\",\".scratchCategoryMenuItem:hover {\",\"color: $colour_toolboxHover !important;\",\"}\",\"\"];Blockly.WidgetDiv={};Blockly.WidgetDiv.DIV=null;Blockly.WidgetDiv.owner_=null;Blockly.WidgetDiv.dispose_=null;Blockly.WidgetDiv.disposeAnimationFinished_=null;Blockly.WidgetDiv.disposeAnimationTimer_=null;Blockly.WidgetDiv.disposeAnimationTimerLength_=0;Blockly.WidgetDiv.createDom=function(){Blockly.WidgetDiv.DIV||(Blockly.WidgetDiv.DIV=goog.dom.createDom(\"DIV\",\"blocklyWidgetDiv\"),document.body.appendChild(Blockly.WidgetDiv.DIV))};\nBlockly.WidgetDiv.show=function(a,b,c,d,e){Blockly.WidgetDiv.hide();Blockly.WidgetDiv.owner_=a;Blockly.WidgetDiv.dispose_=c;Blockly.WidgetDiv.disposeAnimationFinished_=d;Blockly.WidgetDiv.disposeAnimationTimerLength_=e;a=goog.style.getViewportPageOffset(document);Blockly.WidgetDiv.DIV.style.top=a.y+\"px\";Blockly.WidgetDiv.DIV.style.direction=b?\"rtl\":\"ltr\";Blockly.WidgetDiv.DIV.style.display=\"block\"};\nBlockly.WidgetDiv.hide=function(a){Blockly.WidgetDiv.disposeAnimationTimer_?(window.clearTimeout(Blockly.WidgetDiv.disposeAnimationTimer_),Blockly.WidgetDiv.disposeAnimationFinished_\u0026\u0026Blockly.WidgetDiv.disposeAnimationFinished_(),Blockly.WidgetDiv.disposeAnimationFinished_=null,Blockly.WidgetDiv.disposeAnimationTimer_=null,Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.hideAndClearDom_()):Blockly.WidgetDiv.isVisible()\u0026\u0026(Blockly.WidgetDiv.dispose_\u0026\u0026Blockly.WidgetDiv.dispose_(),Blockly.WidgetDiv.dispose_=\nnull,Blockly.WidgetDiv.disposeAnimationFinished_\u0026\u0026!a?Blockly.WidgetDiv.disposeAnimationTimer_=window.setTimeout(Blockly.WidgetDiv.hide,1E3*Blockly.WidgetDiv.disposeAnimationTimerLength_):(Blockly.WidgetDiv.disposeAnimationFinished_\u0026\u0026Blockly.WidgetDiv.disposeAnimationFinished_(),Blockly.WidgetDiv.disposeAnimationFinished_=null,Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.hideAndClearDom_()))};\nBlockly.WidgetDiv.hideAndClearDom_=function(){Blockly.WidgetDiv.DIV.style.display=\"none\";Blockly.WidgetDiv.DIV.style.left=\"\";Blockly.WidgetDiv.DIV.style.top=\"\";Blockly.WidgetDiv.DIV.style.height=\"\";goog.dom.removeChildren(Blockly.WidgetDiv.DIV)};Blockly.WidgetDiv.isVisible=function(){return!!Blockly.WidgetDiv.owner_};Blockly.WidgetDiv.hideIfOwner=function(a){Blockly.WidgetDiv.owner_==a\u0026\u0026Blockly.WidgetDiv.hide()};\nBlockly.WidgetDiv.position=function(a,b,c,d,e){b\u003cd.y\u0026\u0026(b=d.y);e?a\u003ec.width+d.x\u0026\u0026(a=c.width+d.x):a\u003cd.x\u0026\u0026(a=d.x);Blockly.WidgetDiv.DIV.style.left=a+\"px\";Blockly.WidgetDiv.DIV.style.top=b+\"px\";Blockly.WidgetDiv.DIV.style.height=c.height+\"px\"};Blockly.inject=function(a,b){goog.isString(a)\u0026\u0026(a=document.getElementById(a)||document.querySelector(a));if(!goog.dom.contains(document,a))throw\"Error: container is not in current document.\";var c=new Blockly.Options(b||{}),d=goog.dom.createDom(\"div\",\"injectionDiv\");a.appendChild(d);Blockly.Field.startCache();var e=Blockly.createDom_(d,c),f=new Blockly.BlockDragSurfaceSvg(d);d=new Blockly.WorkspaceDragSurfaceSvg(d);c=Blockly.createMainWorkspace_(e,c,f,d);Blockly.init_(c);Blockly.mainWorkspace=c;Blockly.svgResize(c);\nreturn c};\nBlockly.createDom_=function(a,b){a.setAttribute(\"dir\",\"LTR\");goog.ui.Component.setDefaultRightToLeft(b.RTL);Blockly.Css.inject(b.hasCss,b.pathToMedia);var c=Blockly.utils.createSvgElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:html\":\"http://www.w3.org/1999/xhtml\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\",\"class\":\"blocklySvg\"},a),d=Blockly.utils.createSvgElement(\"defs\",{},c),e=String(Math.random()).substring(2),f=Blockly.utils.createSvgElement(\"filter\",{id:\"blocklyStackGlowFilter\",height:\"160%\",\nwidth:\"180%\",y:\"-30%\",x:\"-40%\"},d);b.stackGlowBlur=Blockly.utils.createSvgElement(\"feGaussianBlur\",{\"in\":\"SourceGraphic\",stdDeviation:Blockly.STACK_GLOW_RADIUS},f);var g=Blockly.utils.createSvgElement(\"feComponentTransfer\",{result:\"outBlur\"},f);Blockly.utils.createSvgElement(\"feFuncA\",{type:\"table\",tableValues:\"0\"+goog.string.repeat(\" 1\",16)},g);Blockly.utils.createSvgElement(\"feFlood\",{\"flood-color\":Blockly.Colours.stackGlow,\"flood-opacity\":Blockly.Colours.stackGlowOpacity,result:\"outColor\"},f);\nBlockly.utils.createSvgElement(\"feComposite\",{\"in\":\"outColor\",in2:\"outBlur\",operator:\"in\",result:\"outGlow\"},f);Blockly.utils.createSvgElement(\"feComposite\",{\"in\":\"SourceGraphic\",in2:\"outGlow\",operator:\"over\"},f);f=Blockly.utils.createSvgElement(\"filter\",{id:\"blocklyReplacementGlowFilter\",height:\"160%\",width:\"180%\",y:\"-30%\",x:\"-40%\"},d);Blockly.utils.createSvgElement(\"feGaussianBlur\",{\"in\":\"SourceGraphic\",stdDeviation:Blockly.REPLACEMENT_GLOW_RADIUS},f);g=Blockly.utils.createSvgElement(\"feComponentTransfer\",\n{result:\"outBlur\"},f);Blockly.utils.createSvgElement(\"feFuncA\",{type:\"table\",tableValues:\"0\"+goog.string.repeat(\" 1\",16)},g);Blockly.utils.createSvgElement(\"feFlood\",{\"flood-color\":Blockly.Colours.replacementGlow,\"flood-opacity\":Blockly.Colours.replacementGlowOpacity,result:\"outColor\"},f);Blockly.utils.createSvgElement(\"feComposite\",{\"in\":\"outColor\",in2:\"outBlur\",operator:\"in\",result:\"outGlow\"},f);Blockly.utils.createSvgElement(\"feComposite\",{\"in\":\"SourceGraphic\",in2:\"outGlow\",operator:\"over\"},f);\ng=Blockly.utils.createSvgElement(\"pattern\",{id:\"blocklyDisabledPattern\"+e,patternUnits:\"userSpaceOnUse\",width:10,height:10},d);Blockly.utils.createSvgElement(\"rect\",{width:10,height:10,fill:\"#aaa\"},g);Blockly.utils.createSvgElement(\"path\",{d:\"M 0 0 L 10 10 M 10 0 L 0 10\",stroke:\"#cc0\"},g);b.disabledPatternId=g.id;b.gridPattern=Blockly.Grid.createDom(e,b.gridOptions,d);return c};\nBlockly.createMainWorkspace_=function(a,b,c,d){b.parentWorkspace=null;var e=new Blockly.WorkspaceSvg(b,c,d);e.scale=b.zoomOptions.startScale;a.appendChild(e.createDom(\"blocklyMainBackground\"));!b.hasCategories\u0026\u0026b.languageTree\u0026\u0026(c=e.addFlyout_(\"svg\"),Blockly.utils.insertAfter_(c,a));e.translate(0,0);Blockly.mainWorkspace=e;b.readOnly||b.hasScrollbars||e.addChangeListener(function(){if(!e.isDragging()){var a=e.getMetrics(),c=a.viewLeft+a.absoluteLeft,d=a.viewTop+a.absoluteTop;if(a.contentTop\u003cd||a.contentTop+\na.contentHeight\u003ea.viewHeight+d||a.contentLeft\u003c(b.RTL?a.viewLeft:c)||a.contentLeft+a.contentWidth\u003e(b.RTL?a.viewWidth:a.viewWidth+c))for(var k=e.getTopBlocks(!1),m=0,l;l=k[m];m++){var n=l.getRelativeToSurfaceXY(),p=l.getHeightWidth(),q=d+25-p.height-n.y;0\u003cq\u0026\u0026l.moveBy(0,q);q=d+a.viewHeight-25-n.y;0\u003eq\u0026\u0026l.moveBy(0,q);q=25+c-n.x-(b.RTL?0:p.width);0\u003cq\u0026\u0026l.moveBy(q,0);n=c+a.viewWidth-25-n.x+(b.RTL?p.width:0);0\u003en\u0026\u0026l.moveBy(n,0)}}});Blockly.svgResize(e);Blockly.WidgetDiv.createDom();Blockly.DropDownDiv.createDom();\nBlockly.Tooltip.createDom();return e};\nBlockly.init_=function(a){var b=a.options,c=a.getParentSvg();Blockly.bindEventWithChecks_(c.parentNode,\"contextmenu\",null,function(a){Blockly.utils.isTargetInput(a)||a.preventDefault()});c=Blockly.bindEventWithChecks_(window,\"resize\",null,function(){Blockly.hideChaff(!0);Blockly.svgResize(a)});a.setResizeHandlerWrapper(c);Blockly.inject.bindDocumentEvents_();b.languageTree\u0026\u0026(a.toolbox_?a.toolbox_.init(a):a.flyout_\u0026\u0026(a.flyout_.init(a),a.flyout_.show(b.languageTree.childNodes),a.flyout_.scrollToStart(),\nb.horizontalLayout?(a.scrollY=a.flyout_.height_,b.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM\u0026\u0026(a.scrollY*=-1)):(a.scrollX=a.flyout_.width_,b.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT\u0026\u0026(a.scrollX*=-1)),a.translate(a.scrollX,a.scrollY)));b.hasScrollbars\u0026\u0026(a.scrollbar=new Blockly.ScrollbarPair(a),a.scrollbar.resize());b.hasSounds\u0026\u0026Blockly.inject.loadSounds_(b.pathToMedia,a)};\nBlockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.bindEventWithChecks_(document,\"keydown\",null,Blockly.onKeyDown_),Blockly.bindEvent_(document,\"touchend\",null,Blockly.longStop_),Blockly.bindEvent_(document,\"touchcancel\",null,Blockly.longStop_),goog.userAgent.IPAD\u0026\u0026Blockly.bindEventWithChecks_(window,\"orientationchange\",document,function(){Blockly.svgResize(Blockly.getMainWorkspace())}));Blockly.documentEventsBound_=!0};\nBlockly.inject.loadSounds_=function(a,b){var c=b.getAudioManager();c.load([a+\"click.mp3\",a+\"click.wav\",a+\"click.ogg\"],\"click\");c.load([a+\"delete.mp3\",a+\"delete.ogg\",a+\"delete.wav\"],\"delete\");var d=[],e=function(){for(;d.length;)Blockly.unbindEvent_(d.pop());c.preload()};d.push(Blockly.bindEventWithChecks_(document,\"mousemove\",null,e,!0));d.push(Blockly.bindEventWithChecks_(document,\"touchstart\",null,e,!0))};\nBlockly.updateToolbox=function(a){console.warn(\"Deprecated call to Blockly.updateToolbox, use workspace.updateToolbox instead.\");Blockly.getMainWorkspace().updateToolbox(a)};var CLOSURE_DEFINES={\"goog.DEBUG\":!1};Blockly.mainWorkspace=null;Blockly.selected=null;Blockly.draggingConnections_=[];Blockly.clipboardXml_=null;Blockly.clipboardSource_=null;Blockly.cache3dSupported_=null;Blockly.hueToRgb=function(a){return goog.color.hsvToHex(a,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)};Blockly.svgSize=function(a){return{width:a.cachedWidth_,height:a.cachedHeight_}};Blockly.resizeSvgContents=function(a){a.resizeContents()};\nBlockly.svgResize=function(a){for(;a.options.parentWorkspace;)a=a.options.parentWorkspace;var b=a.getParentSvg(),c=b.parentNode;if(c){var d=c.offsetWidth;c=c.offsetHeight;b.cachedWidth_!=d\u0026\u0026(b.setAttribute(\"width\",d+\"px\"),b.cachedWidth_=d);b.cachedHeight_!=c\u0026\u0026(b.setAttribute(\"height\",c+\"px\"),b.cachedHeight_=c);a.resize()}};\nBlockly.onKeyDown_=function(a){Blockly.mainWorkspace.options.readOnly||Blockly.utils.isTargetInput(a)||(27==a.keyCode?(Blockly.hideChaff(),Blockly.DropDownDiv.hide()):8==a.keyCode||46==a.keyCode?(a.preventDefault(),Blockly.mainWorkspace.isDragging()):(a.altKey||a.ctrlKey||a.metaKey)\u0026\u0026!Blockly.mainWorkspace.isDragging()\u0026\u0026(Blockly.selected\u0026\u0026Blockly.selected.isDeletable()\u0026\u0026Blockly.selected.isMovable()\u0026\u0026(67==a.keyCode?(Blockly.hideChaff(),Blockly.copy_(Blockly.selected)):88==a.keyCode\u0026\u0026(Blockly.copy_(Blockly.selected),\nBlockly.hideChaff(),Blockly.selected.dispose(!0,!0))),86==a.keyCode?Blockly.clipboardXml_\u0026\u0026(Blockly.Events.setGroup(!0),Blockly.clipboardSource_.paste(Blockly.clipboardXml_),Blockly.Events.setGroup(!1)):90==a.keyCode\u0026\u0026(Blockly.hideChaff(),Blockly.mainWorkspace.undo(a.shiftKey))))};Blockly.copy_=function(a){var b=Blockly.Xml.blockToDom(a),c=a.getRelativeToSurfaceXY();b.setAttribute(\"x\",a.RTL?-c.x:c.x);b.setAttribute(\"y\",c.y);Blockly.clipboardXml_=b;Blockly.clipboardSource_=a.workspace};\nBlockly.duplicate_=function(a){var b=Blockly.clipboardXml_,c=Blockly.clipboardSource_;Blockly.copy_(a);a.workspace.paste(Blockly.clipboardXml_);Blockly.clipboardXml_=b;Blockly.clipboardSource_=c};Blockly.onContextMenu_=function(a){Blockly.utils.isTargetInput(a)||a.preventDefault()};\nBlockly.hideChaff=function(a){Blockly.Tooltip.hide();Blockly.WidgetDiv.hide(!0);Blockly.DropDownDiv.hideWithoutAnimation();a||(a=Blockly.getMainWorkspace(),a.toolbox_\u0026\u0026a.toolbox_.flyout_\u0026\u0026a.toolbox_.flyout_.autoClose\u0026\u0026a.toolbox_.clearSelection())};Blockly.getMainWorkspace=function(){return Blockly.mainWorkspace};Blockly.alert=function(a,b){window.alert(a);b\u0026\u0026b()};Blockly.confirm=function(a,b){b(window.confirm(a))};Blockly.prompt=function(a,b,c){c(window.prompt(a,b))};Blockly.jsonInitFactory_=function(a){return function(){this.jsonInit(a)}};\nBlockly.defineBlocksWithJsonArray=function(a){for(var b=0,c;c=a[b];b++){var d=c.type;null==d||\"\"===d?console.warn(\"Block definition #\"+b+\" in JSON array is missing a type attribute. Skipping.\"):(Blockly.Blocks[d]\u0026\u0026console.warn(\"Block definition #\"+b+' in JSON array overwrites prior definition of \"'+d+'\".'),Blockly.Blocks[d]={init:Blockly.jsonInitFactory_(c)})}};\nBlockly.bindEventWithChecks_=function(a,b,c,d,e){var f=!1,g=function(a){var b=!e;a=Blockly.Touch.splitEventByTouches(a);for(var g=0,h;h=a[g];g++)if(!b||Blockly.Touch.shouldHandleEvent(h))Blockly.Touch.setClientFromTouch(h),c?d.call(c,h):d(h),f=!0};a.addEventListener(b,g,!1);var h=[[a,b,g]];if(b in Blockly.Touch.TOUCH_MAP)for(var k=function(a){g(a);f\u0026\u0026a.preventDefault()},m=0,l;l=Blockly.Touch.TOUCH_MAP[b][m];m++)a.addEventListener(l,k,!1),h.push([a,l,k]);return h};\nBlockly.bindEvent_=function(a,b,c,d){var e=function(a){c?d.call(c,a):d(a)};a.addEventListener(b,e,!1);var f=[[a,b,e]];if(b in Blockly.Touch.TOUCH_MAP)for(var g=function(a){if(1==a.changedTouches.length){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}e(a);a.preventDefault()},h=0,k;k=Blockly.Touch.TOUCH_MAP[b][h];h++)a.addEventListener(k,g,!1),f.push([a,k,g]);return f};Blockly.unbindEvent_=function(a){for(;a.length;){var b=a.pop(),c=b[2];b[0].removeEventListener(b[1],c,!1)}return c};\nBlockly.isNumber=function(a){return!!a.match(/^\\s*-?\\d+(\\.\\d+)?\\s*$/)};goog.global.console||(goog.global.console={log:function(){},warn:function(){}});goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.getMainWorkspace=Blockly.getMainWorkspace;\n//////////////////////////////////\n// scratch-blocks\\blocks_compressed.js\n//////////////////////////////////\n\n// Do not edit this file; automatically generated by build.py.\n'use strict';\n\n\n// Copyright 2016 Google Inc. Apache License 2.0\nBlockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=96;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:\"sprites.png\"};Blockly.SVG_NS=\"http://www.w3.org/2000/svg\";Blockly.HTML_NS=\"http://www.w3.org/1999/xhtml\";\nBlockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;\nBlockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.STACK_GLOW_RADIUS=1.3;Blockly.REPLACEMENT_GLOW_RADIUS=2;Blockly.Categories={motion:\"motion\",looks:\"looks\",sound:\"sounds\",pen:\"pen\",data:\"data\",event:\"events\",control:\"control\",sensing:\"sensing\",operators:\"operators\",more:\"more\"};\nBlockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME=\"VARIABLE\";Blockly.PROCEDURE_CATEGORY_NAME=\"PROCEDURE\";Blockly.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";Blockly.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";\n// Copyright 2012 Google Inc. Apache License 2.0\nBlockly.Blocks.colour={};function randomColour(){return\"#\"+(\"00000\"+Math.floor(Math.random()*Math.pow(2,24)).toString(16)).substr(-6)}Blockly.Blocks.colour_picker={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_colour_slider\",name:\"COLOUR\",colour:randomColour()}],outputShape:Blockly.OUTPUT_SHAPE_ROUND,output:\"Colour\"})}};/*\n\n Visual Blocks Editor\n\n Copyright 2016 Massachusetts Institute of Technology\n All rights reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nBlockly.Colours={motion:{primary:\"#4C97FF\",secondary:\"#4280D7\",tertiary:\"#3373CC\"},looks:{primary:\"#9966FF\",secondary:\"#855CD6\",tertiary:\"#774DCB\"},sounds:{primary:\"#CF63CF\",secondary:\"#C94FC9\",tertiary:\"#BD42BD\"},control:{primary:\"#FFAB19\",secondary:\"#EC9C13\",tertiary:\"#CF8B17\"},event:{primary:\"#FFBF00\",secondary:\"#E6AC00\",tertiary:\"#CC9900\"},sensing:{primary:\"#5CB1D6\",secondary:\"#47A8D1\",tertiary:\"#2E8EB8\"},pen:{primary:\"#0fBD8C\",secondary:\"#0DA57A\",tertiary:\"#0B8E69\"},operators:{primary:\"#59C059\",\nsecondary:\"#46B946\",tertiary:\"#389438\"},data:{primary:\"#FF8C1A\",secondary:\"#FF8000\",tertiary:\"#DB6E00\"},more:{primary:\"#FF6680\",secondary:\"#FF4D6A\",tertiary:\"#FF3355\"},text:\"#575E75\",workspace:\"#F9F9F9\",toolboxHover:\"#4C97FF\",toolboxSelected:\"#e9eef2\",toolboxText:\"#575E75\",toolbox:\"#FFFFFF\",flyout:\"#F9F9F9\",scrollbar:\"#CECDCE\",scrollbarHover:\"#CECDCE\",textField:\"#FFFFFF\",insertionMarker:\"#000000\",insertionMarkerOpacity:.2,dragShadowOpacity:.3,stackGlow:\"#FFF200\",stackGlowOpacity:1,replacementGlow:\"#FFFFFF\",\nreplacementGlowOpacity:1,colourPickerStroke:\"#FFFFFF\",fieldShadow:\"rgba(0,0,0,0.1)\",dropDownShadow:\"rgba(0, 0, 0, .3)\",numPadBackground:\"#547AB2\",numPadBorder:\"#435F91\",numPadActiveBackground:\"#435F91\",numPadText:\"#FFFFFF\",valueReportBackground:\"#FFFFFF\",valueReportBorder:\"#AAAAAA\"};Blockly.Blocks.math={};Blockly.Blocks.math_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",value:\"0\"}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_integer={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",precision:1}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_whole_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",min:0,precision:1}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_positive_number={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_number\",name:\"NUM\",min:0}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\nBlockly.Blocks.math_angle={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_angle\",name:\"NUM\",value:90}],output:\"Number\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};Blockly.Blocks.texts={};Blockly.Blocks.text={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_input\",name:\"TEXT\"}],output:\"String\",outputShape:Blockly.OUTPUT_SHAPE_ROUND,colour:Blockly.Colours.textField,colourSecondary:Blockly.Colours.textField,colourTertiary:Blockly.Colours.textField})}};\n//////////////////////////////////\n// scratch-blocks\\blocks_compressed_vertical.js\n//////////////////////////////////\n\n// Do not edit this file; automatically generated by build.py.\n'use strict';\n\n/*\n\n Visual Blocks Editor\n\n Copyright 2016 Massachusetts Institute of Technology\n All rights reserved.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nBlockly.Colours={motion:{primary:\"#4C97FF\",secondary:\"#4280D7\",tertiary:\"#3373CC\"},looks:{primary:\"#9966FF\",secondary:\"#855CD6\",tertiary:\"#774DCB\"},sounds:{primary:\"#CF63CF\",secondary:\"#C94FC9\",tertiary:\"#BD42BD\"},control:{primary:\"#FFAB19\",secondary:\"#EC9C13\",tertiary:\"#CF8B17\"},event:{primary:\"#FFBF00\",secondary:\"#E6AC00\",tertiary:\"#CC9900\"},sensing:{primary:\"#5CB1D6\",secondary:\"#47A8D1\",tertiary:\"#2E8EB8\"},pen:{primary:\"#0fBD8C\",secondary:\"#0DA57A\",tertiary:\"#0B8E69\"},operators:{primary:\"#59C059\",\nsecondary:\"#46B946\",tertiary:\"#389438\"},data:{primary:\"#FF8C1A\",secondary:\"#FF8000\",tertiary:\"#DB6E00\"},more:{primary:\"#FF6680\",secondary:\"#FF4D6A\",tertiary:\"#FF3355\"},text:\"#575E75\",workspace:\"#F9F9F9\",toolboxHover:\"#4C97FF\",toolboxSelected:\"#e9eef2\",toolboxText:\"#575E75\",toolbox:\"#FFFFFF\",flyout:\"#F9F9F9\",scrollbar:\"#CECDCE\",scrollbarHover:\"#CECDCE\",textField:\"#FFFFFF\",insertionMarker:\"#000000\",insertionMarkerOpacity:.2,dragShadowOpacity:.3,stackGlow:\"#FFF200\",stackGlowOpacity:1,replacementGlow:\"#FFFFFF\",\nreplacementGlowOpacity:1,colourPickerStroke:\"#FFFFFF\",fieldShadow:\"rgba(0,0,0,0.1)\",dropDownShadow:\"rgba(0, 0, 0, .3)\",numPadBackground:\"#547AB2\",numPadBorder:\"#435F91\",numPadActiveBackground:\"#435F91\",numPadText:\"#FFFFFF\",valueReportBackground:\"#FFFFFF\",valueReportBorder:\"#AAAAAA\"};\n// Copyright 2016 Google Inc. Apache License 2.0\nBlockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=96;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:\"sprites.png\"};Blockly.SVG_NS=\"http://www.w3.org/2000/svg\";Blockly.HTML_NS=\"http://www.w3.org/1999/xhtml\";\nBlockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;\nBlockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.STACK_GLOW_RADIUS=1.3;Blockly.REPLACEMENT_GLOW_RADIUS=2;Blockly.Categories={motion:\"motion\",looks:\"looks\",sound:\"sounds\",pen:\"pen\",data:\"data\",event:\"events\",control:\"control\",sensing:\"sensing\",operators:\"operators\",more:\"more\"};\nBlockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME=\"VARIABLE\";Blockly.PROCEDURE_CATEGORY_NAME=\"PROCEDURE\";Blockly.RENAME_VARIABLE_ID=\"RENAME_VARIABLE_ID\";Blockly.DELETE_VARIABLE_ID=\"DELETE_VARIABLE_ID\";\n// Copyright 2017 Google Inc. Apache License 2.0\nBlockly.ScratchBlocks={};Blockly.ScratchBlocks.VerticalExtensions={};Blockly.ScratchBlocks.VerticalExtensions.colourHelper=function(a){var b=Blockly.Colours[a];if(!(b\u0026\u0026b.primary\u0026\u0026b.secondary\u0026\u0026b.tertiary))throw Error('Could not find colours for category \"'+a+'\"');return function(){this.setColourFromRawValues_(b.primary,b.secondary,b.tertiary)}};Blockly.ScratchBlocks.VerticalExtensions.COLOUR_TEXTFIELD=function(){this.setColourFromRawValues_(Blockly.Colours.textField,Blockly.Colours.textField,Blockly.Colours.textField)};\nBlockly.ScratchBlocks.VerticalExtensions.SHAPE_STATEMENT=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_HAT=function(){this.setInputsInline(!0);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_END=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null)};\nBlockly.ScratchBlocks.VerticalExtensions.OUTPUT_NUMBER=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,\"Number\")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_STRING=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,\"String\")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_BOOLEAN=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);this.setOutput(!0,\"Boolean\")};\nBlockly.ScratchBlocks.VerticalExtensions.PROCEDURE_DEF_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this));for(var b=0,c;c=a[b];b++)c.text==Blockly.Msg.DELETE_BLOCK\u0026\u0026(c.callback=function(){alert(\"TODO(#1130): implement function deletion\")});for(b=0;c=a[b];b++)if(c.text==Blockly.Msg.DUPLICATE_BLOCK){a.splice(b,1);break}}};\nBlockly.ScratchBlocks.VerticalExtensions.PROCEDURE_CALL_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this));a.push(Blockly.Procedures.makeShowDefinitionOption(this))}};\nBlockly.ScratchBlocks.VerticalExtensions.registerAll=function(){for(var a=\"control data sounds motion looks event sensing pen operators more\".split(\" \"),b=0;b\u003ca.length;b++)name=a[b],Blockly.Extensions.register(\"colours_\"+name,Blockly.ScratchBlocks.VerticalExtensions.colourHelper(name));Blockly.Extensions.register(\"colours_textfield\",Blockly.ScratchBlocks.VerticalExtensions.COLOUR_TEXTFIELD);Blockly.Extensions.register(\"shape_statement\",Blockly.ScratchBlocks.VerticalExtensions.SHAPE_STATEMENT);Blockly.Extensions.register(\"shape_hat\",\nBlockly.ScratchBlocks.VerticalExtensions.SHAPE_HAT);Blockly.Extensions.register(\"shape_end\",Blockly.ScratchBlocks.VerticalExtensions.SHAPE_END);Blockly.Extensions.register(\"output_number\",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_NUMBER);Blockly.Extensions.register(\"output_string\",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_STRING);Blockly.Extensions.register(\"output_boolean\",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_BOOLEAN);Blockly.Extensions.registerMixin(\"procedure_def_contextmenu\",\nBlockly.ScratchBlocks.VerticalExtensions.PROCEDURE_DEF_CONTEXTMENU);Blockly.Extensions.registerMixin(\"procedure_call_contextmenu\",Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_CALL_CONTEXTMENU)};Blockly.ScratchBlocks.VerticalExtensions.registerAll();Blockly.Blocks.control={};Blockly.Blocks.control_forever={init:function(){this.jsonInit({id:\"control_forever\",message0:\"forever\",message1:\"%1\",message2:\"%1\",lastDummyAlign2:\"RIGHT\",args1:[{type:\"input_statement\",name:\"SUBSTACK\"}],args2:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"repeat.svg\",width:24,height:24,alt:\"*\",flip_rtl:!0}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_end\"]})}};\nBlockly.Blocks.control_repeat={init:function(){this.jsonInit({id:\"control_repeat\",message0:\"repeat %1\",message1:\"%1\",message2:\"%1\",lastDummyAlign2:\"RIGHT\",args0:[{type:\"input_value\",name:\"TIMES\"}],args1:[{type:\"input_statement\",name:\"SUBSTACK\"}],args2:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"repeat.svg\",width:24,height:24,alt:\"*\",flip_rtl:!0}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};\nBlockly.Blocks.control_if={init:function(){this.jsonInit({type:\"control_if\",message0:\"if %1 then\",message1:\"%1\",args0:[{type:\"input_value\",name:\"CONDITION\",check:\"Boolean\"}],args1:[{type:\"input_statement\",name:\"SUBSTACK\"}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};\nBlockly.Blocks.control_if_else={init:function(){this.jsonInit({type:\"control_if_else\",message0:\"if %1 then\",message1:\"%1\",message2:\"else\",message3:\"%1\",args0:[{type:\"input_value\",name:\"CONDITION\",check:\"Boolean\"}],args1:[{type:\"input_statement\",name:\"SUBSTACK\"}],args3:[{type:\"input_statement\",name:\"SUBSTACK2\"}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};\nBlockly.Blocks.control_stop={init:function(){var a=new Blockly.FieldDropdown(function(){return this.sourceBlock_\u0026\u0026this.sourceBlock_.nextConnection\u0026\u0026this.sourceBlock_.nextConnection.isConnected()?[[\"other scripts in sprite\",\"other scripts in sprite\"]]:[[\"all\",\"all\"],[\"this script\",\"this script\"],[\"other scripts in sprite\",\"other scripts in sprite\"]]},function(a){this.sourceBlock_.setNextStatement(\"other scripts in sprite\"==a)});this.appendDummyInput().appendField(\"stop\").appendField(a,\"STOP_OPTION\");\nthis.setCategory(Blockly.Categories.control);this.setColour(Blockly.Colours.control.primary,Blockly.Colours.control.secondary,Blockly.Colours.control.tertiary);this.setPreviousStatement(!0)},mutationToDom:function(){var a=document.createElement(\"mutation\"),b=\"other scripts in sprite\"==this.getFieldValue(\"STOP_OPTION\");a.setAttribute(\"hasnext\",b);return a},domToMutation:function(a){a=\"true\"==a.getAttribute(\"hasnext\");this.setNextStatement(a)}};\nBlockly.Blocks.control_wait={init:function(){this.jsonInit({id:\"control_wait\",message0:\"wait %1 secs\",args0:[{type:\"input_value\",name:\"DURATION\"}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};Blockly.Blocks.control_wait_until={init:function(){this.jsonInit({message0:\"wait until %1\",args0:[{type:\"input_value\",name:\"CONDITION\",check:\"Boolean\"}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};\nBlockly.Blocks.control_repeat_until={init:function(){this.jsonInit({message0:\"repeat until %1\",message1:\"%1\",message2:\"%1\",lastDummyAlign2:\"RIGHT\",args0:[{type:\"input_value\",name:\"CONDITION\",check:\"Boolean\"}],args1:[{type:\"input_statement\",name:\"SUBSTACK\"}],args2:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"repeat.svg\",width:24,height:24,alt:\"*\",flip_rtl:!0}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};\nBlockly.Blocks.control_start_as_clone={init:function(){this.jsonInit({id:\"control_start_as_clone\",message0:\"when I start as a clone\",args0:[],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_hat\"]})}};Blockly.Blocks.control_create_clone_of_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"CLONE_OPTION\",options:[[\"myself\",\"_myself_\"]]}],extensions:[\"colours_control\",\"output_string\"]})}};\nBlockly.Blocks.control_create_clone_of={init:function(){this.jsonInit({id:\"control_start_as_clone\",message0:\"create clone of %1\",args0:[{type:\"input_value\",name:\"CLONE_OPTION\"}],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_statement\"]})}};Blockly.Blocks.control_delete_this_clone={init:function(){this.jsonInit({message0:\"delete this clone\",args0:[],category:Blockly.Categories.control,extensions:[\"colours_control\",\"shape_end\"]})}};Blockly.Blocks.data={};Blockly.Constants={};Blockly.Constants.Data={};Blockly.Blocks.data_variable={init:function(){this.jsonInit({message0:\"%1\",lastDummyAlign0:\"CENTRE\",args0:[{type:\"field_variable_getter\",text:\"\",name:\"VARIABLE\"}],category:Blockly.Categories.data,checkboxInFlyout:!0,extensions:[\"contextMenu_getVariableBlock\",\"colours_data\",\"output_string\"]})}};\nBlockly.Blocks.data_setvariableto={init:function(){this.jsonInit({message0:\"set %1 to %2\",args0:[{type:\"field_variable\",name:\"VARIABLE\"},{type:\"input_value\",name:\"VALUE\"}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};Blockly.Blocks.data_changevariableby={init:function(){this.jsonInit({message0:\"change %1 by %2\",args0:[{type:\"field_variable\",name:\"VARIABLE\"},{type:\"input_value\",name:\"VALUE\"}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Blocks.data_listcontents={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_variable_getter\",text:\"\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"output_string\"],checkboxInFlyout:!0})}};\nBlockly.Blocks.data_listindexall={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_numberdropdown\",name:\"INDEX\",value:\"1\",min:1,precision:1,options:[[\"1\",\"1\"],[\"last\",\"last\"],[\"all\",\"all\"]]}],category:Blockly.Categories.data,extensions:[\"colours_textfield\",\"output_string\"]})}};\nBlockly.Blocks.data_listindexrandom={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_numberdropdown\",name:\"INDEX\",value:\"1\",min:1,precision:1,options:[[\"1\",\"1\"],[\"last\",\"last\"],[\"random\",\"random\"]]}],category:Blockly.Categories.data,extensions:[\"colours_textfield\",\"output_string\"]})}};\nBlockly.Blocks.data_addtolist={init:function(){this.jsonInit({message0:\"add %1 to %2\",args0:[{type:\"input_value\",name:\"ITEM\"},{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Blocks.data_deleteoflist={init:function(){this.jsonInit({message0:\"delete %1 of %2\",args0:[{type:\"input_value\",name:\"INDEX\"},{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Blocks.data_insertatlist={init:function(){this.jsonInit({message0:\"insert %1 at %2 of %3\",args0:[{type:\"input_value\",name:\"ITEM\"},{type:\"input_value\",name:\"INDEX\"},{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Blocks.data_replaceitemoflist={init:function(){this.jsonInit({message0:\"replace item %1 of %2 with %3\",args0:[{type:\"input_value\",name:\"INDEX\"},{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]},{type:\"input_value\",name:\"ITEM\"}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Blocks.data_itemoflist={init:function(){this.jsonInit({message0:\"item %1 of %2\",args0:[{type:\"input_value\",name:\"INDEX\"},{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],output:null,category:Blockly.Categories.data,extensions:[\"colours_data\"],outputShape:Blockly.OUTPUT_SHAPE_ROUND})}};\nBlockly.Blocks.data_lengthoflist={init:function(){this.jsonInit({message0:\"length of %1\",args0:[{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"output_number\"]})}};Blockly.Blocks.data_listcontainsitem={init:function(){this.jsonInit({message0:\"%1 contains %2?\",args0:[{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]},{type:\"input_value\",name:\"ITEM\"}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"output_boolean\"]})}};\nBlockly.Blocks.data_showlist={init:function(){this.jsonInit({message0:\"show list %1\",args0:[{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};Blockly.Blocks.data_hidelist={init:function(){this.jsonInit({message0:\"hide list %1\",args0:[{type:\"field_variable\",name:\"LIST\",variableTypes:[\"list\"]}],category:Blockly.Categories.data,extensions:[\"colours_data\",\"shape_statement\"]})}};\nBlockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_VARIABLE_MIXIN={customContextMenu:function(a){if(!this.isCollapsed())if(this.isInFlyout){var b={text:Blockly.Msg.RENAME_VARIABLE,enabled:!0,callback:Blockly.Constants.Data.RENAME_OPTION_CALLBACK_FACTORY(this)},c=this.getField(\"VARIABLE\").text_;c={text:Blockly.Msg.DELETE_VARIABLE.replace(\"%1\",c),enabled:!0,callback:Blockly.Constants.Data.DELETE_OPTION_CALLBACK_FACTORY(this)};a.push(b);a.push(c)}else for(b=this.workspace.getVariablesOfType(\"\"),c=0;c\u003cb.length;c++){var d=\n{enabled:!0};d.text=b[c].name;d.callback=Blockly.Constants.Data.VARIABLE_OPTION_CALLBACK_FACTORY(this,d.text);a.push(d)}}};Blockly.Extensions.registerMixin(\"contextMenu_getVariableBlock\",Blockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_VARIABLE_MIXIN);Blockly.Constants.Data.VARIABLE_OPTION_CALLBACK_FACTORY=function(a,b){return function(){var c=a.getField(\"VARIABLE\");c||console.log(\"Tried to get a variable field on the wrong type of block.\");c.setText(b)}};\nBlockly.Constants.Data.RENAME_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField(\"VARIABLE\").text_;Blockly.FieldVariable.renameVariablePrompt(b,c)}};Blockly.Constants.Data.DELETE_OPTION_CALLBACK_FACTORY=function(a){return function(){var b=a.workspace,c=a.getField(\"VARIABLE\").text_;b.deleteVariable(c)}};Blockly.Blocks.defaultToolbox='\u003cxml id=\"toolbox-categories\" style=\"display: none\"\u003e\u003ccategory name=\"Motion\" colour=\"#4C97FF\" secondaryColour=\"#3373CC\"\u003e\u003cblock type=\"motion_movesteps\" id=\"motion_movesteps\"\u003e\u003cvalue name=\"STEPS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_turnright\" id=\"motion_turnright\"\u003e\u003cvalue name=\"DEGREES\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e15\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_turnleft\" id=\"motion_turnleft\"\u003e\u003cvalue name=\"DEGREES\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e15\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_pointindirection\" id=\"motion_pointindirection\"\u003e\u003cvalue name=\"DIRECTION\"\u003e\u003cshadow type=\"math_angle\"\u003e\u003cfield name=\"NUM\"\u003e90\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_pointtowards\" id=\"motion_pointtowards\"\u003e\u003cvalue name=\"TOWARDS\"\u003e\u003cshadow type=\"motion_pointtowards_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_gotoxy\" id=\"motion_gotoxy\"\u003e\u003cvalue name=\"X\"\u003e\u003cshadow id=\"movex\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"Y\"\u003e\u003cshadow id=\"movey\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_goto\" id=\"motion_goto\"\u003e\u003cvalue name=\"TO\"\u003e\u003cshadow type=\"motion_goto_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_glidesecstoxy\" id=\"motion_glidesecstoxy\"\u003e\u003cvalue name=\"SECS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"X\"\u003e\u003cshadow id=\"glidex\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"Y\"\u003e\u003cshadow id=\"glidey\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_glideto\" id=\"motion_glideto\"\u003e\u003cvalue name=\"SECS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"TO\"\u003e\u003cshadow type=\"motion_glideto_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_changexby\" id=\"motion_changexby\"\u003e\u003cvalue name=\"DX\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_setx\" id=\"motion_setx\"\u003e\u003cvalue name=\"X\"\u003e\u003cshadow id=\"setx\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_changeyby\" id=\"motion_changeyby\"\u003e\u003cvalue name=\"DY\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_sety\" id=\"motion_sety\"\u003e\u003cvalue name=\"Y\"\u003e\u003cshadow id=\"sety\" type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"motion_ifonedgebounce\" id=\"motion_ifonedgebounce\"\u003e\u003c/block\u003e\u003cblock type=\"motion_setrotationstyle\" id=\"motion_setrotationstyle\"\u003e\u003c/block\u003e\u003cblock type=\"motion_xposition\" id=\"motion_xposition\"\u003e\u003c/block\u003e\u003cblock type=\"motion_yposition\" id=\"motion_yposition\"\u003e\u003c/block\u003e\u003cblock type=\"motion_direction\" id=\"motion_direction\"\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Looks\" colour=\"#9966FF\" secondaryColour=\"#774DCB\"\u003e\u003cblock type=\"looks_show\" id=\"looks_show\"\u003e\u003c/block\u003e\u003cblock type=\"looks_hide\" id=\"looks_hide\"\u003e\u003c/block\u003e\u003cblock type=\"looks_switchcostumeto\" id=\"looks_switchcostumeto\"\u003e\u003cvalue name=\"COSTUME\"\u003e\u003cshadow type=\"looks_costume\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_nextcostume\" id=\"looks_nextcostume\"\u003e\u003c/block\u003e\u003cblock type=\"looks_nextbackdrop\" id=\"looks_nextbackdrop\"\u003e\u003c/block\u003e\u003cblock type=\"looks_switchbackdropto\" id=\"looks_switchbackdropto\"\u003e\u003cvalue name=\"BACKDROP\"\u003e\u003cshadow type=\"looks_backdrops\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_switchbackdroptoandwait\" id=\"looks_switchbackdroptoandwait\"\u003e\u003cvalue name=\"BACKDROP\"\u003e\u003cshadow type=\"looks_backdrops\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_changeeffectby\" id=\"looks_changeeffectby\"\u003e\u003cvalue name=\"CHANGE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_seteffectto\" id=\"looks_seteffectto\"\u003e\u003cvalue name=\"VALUE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_cleargraphiceffects\" id=\"looks_cleargraphiceffects\"\u003e\u003c/block\u003e\u003cblock type=\"looks_changesizeby\" id=\"looks_changesizeby\"\u003e\u003cvalue name=\"CHANGE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_setsizeto\" id=\"looks_setsizeto\"\u003e\u003cvalue name=\"SIZE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e100\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_gotofront\" id=\"looks_gotofront\"\u003e\u003c/block\u003e\u003cblock type=\"looks_gobacklayers\" id=\"looks_gobacklayers\"\u003e\u003cvalue name=\"NUM\"\u003e\u003cshadow type=\"math_integer\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"looks_costumeorder\" id=\"looks_costumeorder\"\u003e\u003c/block\u003e\u003cblock type=\"looks_backdroporder\" id=\"looks_backdroporder\"\u003e\u003c/block\u003e\u003cblock type=\"looks_backdropname\" id=\"looks_backdropname\"\u003e\u003c/block\u003e\u003cblock type=\"looks_size\" id=\"looks_size\"\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Sound\" colour=\"#D65CD6\" secondaryColour=\"#BD42BD\"\u003e\u003cblock type=\"sound_play\" id=\"sound_play\"\u003e\u003cvalue name=\"SOUND_MENU\"\u003e\u003cshadow type=\"sound_sounds_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_playuntildone\" id=\"sound_playuntildone\"\u003e\u003cvalue name=\"SOUND_MENU\"\u003e\u003cshadow type=\"sound_sounds_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_stopallsounds\" id=\"sound_stopallsounds\"\u003e\u003c/block\u003e\u003cblock type=\"sound_playdrumforbeats\" id=\"sound_playdrumforbeats\"\u003e\u003cvalue name=\"DRUM\"\u003e\u003cshadow type=\"sound_drums_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"BEATS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0.25\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_restforbeats\" id=\"sound_restforbeats\"\u003e\u003cvalue name=\"BEATS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0.25\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_playnoteforbeats\" id=\"sound_playnoteforbeats\"\u003e\u003cvalue name=\"NOTE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e60\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"BEATS\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0.5\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_setinstrumentto\" id=\"sound_setinstrumentto\"\u003e\u003cvalue name=\"INSTRUMENT\"\u003e\u003cshadow type=\"sound_instruments_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_changeeffectby\" id=\"sound_changeeffectby\"\u003e\u003cvalue name=\"VALUE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_seteffectto\" id=\"sound_seteffectto\"\u003e\u003cvalue name=\"VALUE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e100\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_cleareffects\" id=\"sound_cleareffects\"\u003e\u003c/block\u003e\u003cblock type=\"sound_changevolumeby\" id=\"sound_changevolumeby\"\u003e\u003cvalue name=\"VOLUME\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e-10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_setvolumeto\" id=\"sound_setvolumeto\"\u003e\u003cvalue name=\"VOLUME\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e100\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_volume\" id=\"sound_volume\"\u003e\u003c/block\u003e\u003cblock type=\"sound_changetempoby\" id=\"sound_changetempoby\"\u003e\u003cvalue name=\"TEMPO\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e20\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_settempotobpm\" id=\"sound_settempotobpm\"\u003e\u003cvalue name=\"TEMPO\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e60\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sound_tempo\" id=\"sound_tempo\"\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Events\" colour=\"#FFD500\" secondaryColour=\"#CC9900\"\u003e\u003cblock type=\"event_whenflagclicked\" id=\"event_whenflagclicked\"\u003e\u003c/block\u003e\u003cblock type=\"event_whenkeypressed\" id=\"event_whenkeypressed\"\u003e\u003c/block\u003e\u003cblock type=\"event_whenthisspriteclicked\" id=\"event_whenthisspriteclicked\"\u003e\u003c/block\u003e\u003cblock type=\"event_whenbackdropswitchesto\" id=\"event_whenbackdropswitchesto\"\u003e\u003c/block\u003e\u003cblock type=\"event_whengreaterthan\" id=\"event_whengreaterthan\"\u003e\u003cvalue name=\"VALUE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"event_whenbroadcastreceived\" id=\"event_whenbroadcastreceived\"\u003e\u003c/block\u003e\u003cblock type=\"event_broadcast\" id=\"event_broadcast\"\u003e\u003cvalue name=\"BROADCAST_OPTION\"\u003e\u003cshadow type=\"event_broadcast_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"event_broadcastandwait\" id=\"event_broadcastandwait\"\u003e\u003cvalue name=\"BROADCAST_OPTION\"\u003e\u003cshadow type=\"event_broadcast_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Control\" colour=\"#FFAB19\" secondaryColour=\"#CF8B17\"\u003e\u003cblock type=\"control_wait\" id=\"control_wait\"\u003e\u003cvalue name=\"DURATION\"\u003e\u003cshadow type=\"math_positive_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"control_repeat\" id=\"control_repeat\"\u003e\u003cvalue name=\"TIMES\"\u003e\u003cshadow type=\"math_whole_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"control_forever\" id=\"control_forever\"\u003e\u003c/block\u003e\u003cblock type=\"control_if\" id=\"control_if\"\u003e\u003c/block\u003e\u003cblock type=\"control_if_else\" id=\"control_if_else\"\u003e\u003c/block\u003e\u003cblock type=\"control_wait_until\" id=\"control_wait_until\"\u003e\u003c/block\u003e\u003cblock type=\"control_repeat_until\" id=\"control_repeat_until\"\u003e\u003c/block\u003e\u003cblock type=\"control_stop\" id=\"control_stop\"\u003e\u003c/block\u003e\u003cblock type=\"control_start_as_clone\" id=\"control_start_as_clone\"\u003e\u003c/block\u003e\u003cblock type=\"control_create_clone_of\" id=\"control_create_clone_of\"\u003e\u003cvalue name=\"CLONE_OPTION\"\u003e\u003cshadow type=\"control_create_clone_of_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"control_delete_this_clone\" id=\"control_delete_this_clone\"\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Sensing\" colour=\"#4CBFE6\" secondaryColour=\"#2E8EB8\"\u003e\u003cblock type=\"sensing_touchingobject\" id=\"sensing_touchingobject\"\u003e\u003cvalue name=\"TOUCHINGOBJECTMENU\"\u003e\u003cshadow type=\"sensing_touchingobjectmenu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_touchingcolor\" id=\"sensing_touchingcolor\"\u003e\u003cvalue name=\"COLOR\"\u003e\u003cshadow type=\"colour_picker\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_coloristouchingcolor\" id=\"sensing_coloristouchingcolor\"\u003e\u003cvalue name=\"COLOR\"\u003e\u003cshadow type=\"colour_picker\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"COLOR2\"\u003e\u003cshadow type=\"colour_picker\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_distanceto\" id=\"sensing_distanceto\"\u003e\u003cvalue name=\"DISTANCETOMENU\"\u003e\u003cshadow type=\"sensing_distancetomenu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_keypressed\" id=\"sensing_keypressed\"\u003e\u003cvalue name=\"KEY_OPTION\"\u003e\u003cshadow type=\"sensing_keyoptions\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_mousedown\" id=\"sensing_mousedown\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_mousex\" id=\"sensing_mousex\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_mousey\" id=\"sensing_mousey\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_loudness\" id=\"sensing_loudness\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_timer\" id=\"sensing_timer\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_resettimer\" id=\"sensing_resettimer\"\u003e\u003c/block\u003e\u003cblock type=\"sensing_of\" id=\"sensing_of\"\u003e\u003cvalue name=\"PROPERTY\"\u003e\u003cshadow type=\"sensing_of_property_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"OBJECT\"\u003e\u003cshadow type=\"sensing_of_object_menu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_current\" id=\"sensing_current\"\u003e\u003cvalue name=\"CURRENTMENU\"\u003e\u003cshadow type=\"sensing_currentmenu\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"sensing_dayssince2000\" id=\"sensing_dayssince2000\"\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Pen\" colour=\"#00B295\" secondaryColour=\"#0B8E69\"\u003e\u003cblock type=\"pen_clear\" id=\"pen_clear\"\u003e\u003c/block\u003e\u003cblock type=\"pen_stamp\" id=\"pen_stamp\"\u003e\u003c/block\u003e\u003cblock type=\"pen_pendown\" id=\"pen_pendown\"\u003e\u003c/block\u003e\u003cblock type=\"pen_penup\" id=\"pen_penup\"\u003e\u003c/block\u003e\u003cblock type=\"pen_setpencolortocolor\" id=\"pen_setpencolortocolor\"\u003e\u003cvalue name=\"COLOR\"\u003e\u003cshadow type=\"colour_picker\"\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_changepencolorby\" id=\"pen_changepencolorby\"\u003e\u003cvalue name=\"COLOR\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_setpencolortonum\" id=\"pen_setpencolortonum\"\u003e\u003cvalue name=\"COLOR\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e0\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_changepenshadeby\" id=\"pen_changepenshadeby\"\u003e\u003cvalue name=\"SHADE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_setpenshadeto\" id=\"pen_setpenshadeto\"\u003e\u003cvalue name=\"SHADE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e50\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_changepensizeby\" id=\"pen_changepensizeby\"\u003e\u003cvalue name=\"SIZE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_setpensizeto\" id=\"pen_setpensizeto\"\u003e\u003cvalue name=\"SIZE\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_changepentransparencyby\" id=\"pen_changepentransparencyby\"\u003e\u003cvalue name=\"TRANSPARENCY\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"pen_setpentransparencyto\" id=\"pen_setpentransparencyto\"\u003e\u003cvalue name=\"TRANSPARENCY\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e50\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Operators\" colour=\"#40BF4A\" secondaryColour=\"#389438\"\u003e\u003cblock type=\"operator_add\" id=\"operator_add\"\u003e\u003cvalue name=\"NUM1\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"NUM2\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_subtract\" id=\"operator_subtract\"\u003e\u003cvalue name=\"NUM1\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"NUM2\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_multiply\" id=\"operator_multiply\"\u003e\u003cvalue name=\"NUM1\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"NUM2\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_divide\" id=\"operator_divide\"\u003e\u003cvalue name=\"NUM1\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"NUM2\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_random\" id=\"operator_random\"\u003e\u003cvalue name=\"FROM\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"TO\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e10\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_lt\" id=\"operator_lt\"\u003e\u003cvalue name=\"OPERAND1\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"OPERAND2\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_equals\" id=\"operator_equals\"\u003e\u003cvalue name=\"OPERAND1\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"OPERAND2\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_gt\" id=\"operator_gt\"\u003e\u003cvalue name=\"OPERAND1\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"OPERAND2\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_and\" id=\"operator_and\"\u003e\u003c/block\u003e\u003cblock type=\"operator_or\" id=\"operator_or\"\u003e\u003c/block\u003e\u003cblock type=\"operator_not\" id=\"operator_not\"\u003e\u003c/block\u003e\u003cblock type=\"operator_join\" id=\"operator_join\"\u003e\u003cvalue name=\"STRING1\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003ehello\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"STRING2\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003eworld\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_letter_of\" id=\"operator_letter_of\"\u003e\u003cvalue name=\"LETTER\"\u003e\u003cshadow type=\"math_whole_number\"\u003e\u003cfield name=\"NUM\"\u003e1\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"STRING\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003eworld\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_length\" id=\"operator_length\"\u003e\u003cvalue name=\"STRING\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003eworld\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_contains\" id=\"operator_contains\"\u003e\u003cvalue name=\"STRING1\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003ehello\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"STRING2\"\u003e\u003cshadow type=\"text\"\u003e\u003cfield name=\"TEXT\"\u003eworld\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_mod\" id=\"operator_mod\"\u003e\u003cvalue name=\"NUM1\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003cvalue name=\"NUM2\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_round\" id=\"operator_round\"\u003e\u003cvalue name=\"NUM\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003cblock type=\"operator_mathop\" id=\"operator_mathop\"\u003e\u003cvalue name=\"NUM\"\u003e\u003cshadow type=\"math_number\"\u003e\u003cfield name=\"NUM\"\u003e\u003c/field\u003e\u003c/shadow\u003e\u003c/value\u003e\u003c/block\u003e\u003c/category\u003e\u003ccategory name=\"Data\" colour=\"#FF8C1A\" secondaryColour=\"#DB6E00\" custom=\"VARIABLE\"\u003e\u003c/category\u003e\u003c/xml\u003e';Blockly.Blocks.event={};Blockly.Blocks.event_whenflagclicked={init:function(){this.jsonInit({id:\"event_whenflagclicked\",message0:\"when %1 clicked\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"green-flag.svg\",width:24,height:24,alt:\"flag\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenthisspriteclicked={init:function(){this.jsonInit({message0:\"when this sprite clicked\",category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenbroadcastreceived={init:function(){this.jsonInit({id:\"event_whenbroadcastreceived\",message0:\"when I receive %1\",args0:[{type:\"field_dropdown\",name:\"BROADCAST_OPTION\",options:[[\"message1\",\"message1\"],[\"message2\",\"message2\"],[\"new message\",\"new message\"]]}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whenbackdropswitchesto={init:function(){this.jsonInit({message0:\"when backdrop switches to %1\",args0:[{type:\"field_dropdown\",name:\"BACKDROP\",options:[[\"backdrop1\",\"BACKDROP1\"]]}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_whengreaterthan={init:function(){this.jsonInit({message0:\"when %1 \u003e %2\",args0:[{type:\"field_dropdown\",name:\"WHENGREATERTHANMENU\",options:[[\"timer\",\"TIMER\"]]},{type:\"input_value\",name:\"VALUE\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};\nBlockly.Blocks.event_broadcast_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"BROADCAST_OPTION\",options:[[\"message1\",\"message1\"],[\"message2\",\"message2\"],[\"new message\",\"new message\"]]}],colour:Blockly.Colours.event.secondary,colourSecondary:Blockly.Colours.event.secondary,colourTertiary:Blockly.Colours.event.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.event_broadcast={init:function(){this.jsonInit({id:\"event_broadcast\",message0:\"broadcast %1\",args0:[{type:\"input_value\",name:\"BROADCAST_OPTION\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_statement\"]})}};Blockly.Blocks.event_broadcastandwait={init:function(){this.jsonInit({message0:\"broadcast %1 and wait\",args0:[{type:\"input_value\",name:\"BROADCAST_OPTION\"}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_statement\"]})}};\nBlockly.Blocks.event_whenkeypressed={init:function(){this.jsonInit({id:\"event_whenkeypressed\",message0:\"when %1 key pressed\",args0:[{type:\"field_dropdown\",name:\"KEY_OPTION\",options:[[\"space\",\"space\"],[\"left arrow\",\"left arrow\"],[\"right arrow\",\"right arrow\"],[\"down arrow\",\"down arrow\"],[\"up arrow\",\"up arrow\"],[\"any\",\"any\"],[\"a\",\"a\"],[\"b\",\"b\"],[\"c\",\"c\"],[\"d\",\"d\"],[\"e\",\"e\"],[\"f\",\"f\"],[\"g\",\"g\"],[\"h\",\"h\"],[\"i\",\"i\"],[\"j\",\"j\"],[\"k\",\"k\"],[\"l\",\"l\"],[\"m\",\"m\"],[\"n\",\"n\"],[\"o\",\"o\"],[\"p\",\"p\"],[\"q\",\"q\"],[\"r\",\"r\"],\n[\"s\",\"s\"],[\"t\",\"t\"],[\"u\",\"u\"],[\"v\",\"v\"],[\"w\",\"w\"],[\"x\",\"x\"],[\"y\",\"y\"],[\"z\",\"z\"],[\"0\",\"0\"],[\"1\",\"1\"],[\"2\",\"2\"],[\"3\",\"3\"],[\"4\",\"4\"],[\"5\",\"5\"],[\"6\",\"6\"],[\"7\",\"7\"],[\"8\",\"8\"],[\"9\",\"9\"]]}],category:Blockly.Categories.event,extensions:[\"colours_event\",\"shape_hat\"]})}};Blockly.Blocks.looks={};Blockly.Blocks.looks_sayforsecs={init:function(){this.jsonInit({message0:\"say %1 for %2 secs\",args0:[{type:\"input_value\",name:\"MESSAGE\"},{type:\"input_value\",name:\"SECS\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_say={init:function(){this.jsonInit({message0:\"say %1\",args0:[{type:\"input_value\",name:\"MESSAGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_thinkforsecs={init:function(){this.jsonInit({message0:\"think %1 for %2 secs\",args0:[{type:\"input_value\",name:\"MESSAGE\"},{type:\"input_value\",name:\"SECS\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_think={init:function(){this.jsonInit({message0:\"think %1\",args0:[{type:\"input_value\",name:\"MESSAGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_show={init:function(){this.jsonInit({message0:\"show\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_hide={init:function(){this.jsonInit({message0:\"hide\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_effect_menu_options=[[\"color\",\"COLOR\"],[\"fisheye\",\"FISHEYE\"],[\"whirl\",\"WHIRL\"],[\"pixelate\",\"PIXELATE\"],[\"mosaic\",\"MOSAIC\"],[\"brightness\",\"BRIGHTNESS\"],[\"ghost\",\"GHOST\"]];\nBlockly.Blocks.looks_changeeffectby={init:function(){this.jsonInit({message0:\"change %1 effect by %2\",args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:Blockly.Blocks.looks_effect_menu_options},{type:\"input_value\",name:\"CHANGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_seteffectto={init:function(){this.jsonInit({message0:\"set %1 effect to %2\",args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:Blockly.Blocks.looks_effect_menu_options},{type:\"input_value\",name:\"VALUE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_cleargraphiceffects={init:function(){this.jsonInit({message0:\"clear graphic effects\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_changesizeby={init:function(){this.jsonInit({message0:\"change size by %1\",args0:[{type:\"input_value\",name:\"CHANGE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_setsizeto={init:function(){this.jsonInit({message0:\"set size to %1 %\",args0:[{type:\"input_value\",name:\"SIZE\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_size={init:function(){this.jsonInit({message0:\"size\",category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};Blockly.Blocks.looks_costume={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"COSTUME\",options:[[\"costume1\",\"COSTUME1\"],[\"costume2\",\"COSTUME2\"]]}],colour:Blockly.Colours.looks.secondary,colourSecondary:Blockly.Colours.looks.secondary,colourTertiary:Blockly.Colours.looks.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.looks_switchcostumeto={init:function(){this.jsonInit({message0:\"switch costume to %1\",args0:[{type:\"input_value\",name:\"COSTUME\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_nextcostume={init:function(){this.jsonInit({message0:\"next costume\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_switchbackdropto={init:function(){this.jsonInit({message0:\"switch backdrop to %1\",args0:[{type:\"input_value\",name:\"BACKDROP\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_backdrops={init:function(){this.jsonInit({id:\"looks_backdrops\",message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"BACKDROP\",options:[[\"backdrop1\",\"BACKDROP1\"]]}],colour:Blockly.Colours.looks.secondary,colourSecondary:Blockly.Colours.looks.secondary,colourTertiary:Blockly.Colours.looks.tertiary,extensions:[\"output_string\"]})}};Blockly.Blocks.looks_gotofront={init:function(){this.jsonInit({message0:\"go to front\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};\nBlockly.Blocks.looks_gobacklayers={init:function(){this.jsonInit({message0:\"go back %1 layers\",args0:[{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_backdropname={init:function(){this.jsonInit({message0:\"backdrop name\",category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};\nBlockly.Blocks.looks_costumeorder={init:function(){this.jsonInit({message0:\"costume #\",category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};Blockly.Blocks.looks_backdroporder={init:function(){this.jsonInit({message0:\"backdrop #\",category:Blockly.Categories.looks,checkboxInFlyout:!0,extensions:[\"colours_looks\",\"output_number\"]})}};\nBlockly.Blocks.looks_switchbackdroptoandwait={init:function(){this.jsonInit({message0:\"switch backdrop to %1 and wait\",args0:[{type:\"input_value\",name:\"BACKDROP\"}],category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.looks_nextbackdrop={init:function(){this.jsonInit({message0:\"next backdrop\",category:Blockly.Categories.looks,extensions:[\"colours_looks\",\"shape_statement\"]})}};Blockly.Blocks.motion={};Blockly.Blocks.motion_movesteps={init:function(){this.jsonInit({message0:\"move %1 steps\",args0:[{type:\"input_value\",name:\"STEPS\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_turnright={init:function(){this.jsonInit({message0:\"turn %1 %2 degrees\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"rotate-right.svg\",width:24,height:24},{type:\"input_value\",name:\"DEGREES\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_turnleft={init:function(){this.jsonInit({message0:\"turn %1 %2 degrees\",args0:[{type:\"field_image\",src:Blockly.mainWorkspace.options.pathToMedia+\"rotate-left.svg\",width:24,height:24},{type:\"input_value\",name:\"DEGREES\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_pointindirection={init:function(){this.jsonInit({message0:\"point in direction %1\",args0:[{type:\"input_value\",name:\"DIRECTION\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_pointtowards_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TOWARDS\",options:[[\"mouse-pointer\",\"_mouse_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_pointtowards={init:function(){this.jsonInit({message0:\"point towards %1\",args0:[{type:\"input_value\",name:\"TOWARDS\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_goto_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TO\",options:[[\"mouse-pointer\",\"_mouse_\"],[\"random position\",\"_random_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_gotoxy={init:function(){this.jsonInit({message0:\"go to x: %1 y: %2\",args0:[{type:\"input_value\",name:\"X\"},{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_goto={init:function(){this.jsonInit({message0:\"go to %1\",args0:[{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_glidesecstoxy={init:function(){this.jsonInit({message0:\"glide %1 secs to x: %2 y: %3\",args0:[{type:\"input_value\",name:\"SECS\"},{type:\"input_value\",name:\"X\"},{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_glideto_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TO\",options:[[\"mouse-pointer\",\"_mouse_\"],[\"random position\",\"_random_\"]]}],colour:Blockly.Colours.motion.secondary,colourSecondary:Blockly.Colours.motion.secondary,colourTertiary:Blockly.Colours.motion.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.motion_glideto={init:function(){this.jsonInit({message0:\"glide %1 secs to %2\",args0:[{type:\"input_value\",name:\"SECS\"},{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_changexby={init:function(){this.jsonInit({message0:\"change x by %1\",args0:[{type:\"input_value\",name:\"DX\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_setx={init:function(){this.jsonInit({message0:\"set x to %1\",args0:[{type:\"input_value\",name:\"X\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_changeyby={init:function(){this.jsonInit({message0:\"change y by %1\",args0:[{type:\"input_value\",name:\"DY\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_sety={init:function(){this.jsonInit({message0:\"set y to %1\",args0:[{type:\"input_value\",name:\"Y\"}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};Blockly.Blocks.motion_ifonedgebounce={init:function(){this.jsonInit({message0:\"if on edge, bounce\",category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_setrotationstyle={init:function(){this.jsonInit({message0:\"set rotation style %1\",args0:[{type:\"field_dropdown\",name:\"STYLE\",options:[[\"left-right\",\"left-right\"],[\"don't rotate\",\"don't rotate\"],[\"all around\",\"all around\"]]}],category:Blockly.Categories.motion,extensions:[\"colours_motion\",\"shape_statement\"]})}};\nBlockly.Blocks.motion_xposition={init:function(){this.jsonInit({message0:\"x position\",category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};Blockly.Blocks.motion_yposition={init:function(){this.jsonInit({message0:\"y position\",category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};\nBlockly.Blocks.motion_direction={init:function(){this.jsonInit({message0:\"direction\",category:Blockly.Categories.motion,checkboxInFlyout:!0,extensions:[\"colours_motion\",\"output_number\"]})}};\n// Copyright 2012 Google Inc. Apache License 2.0\nBlockly.Blocks.operators={};Blockly.Blocks.operator_add={init:function(){this.jsonInit({message0:\"%1 + %2\",args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.operator_subtract={init:function(){this.jsonInit({message0:\"%1 - %2\",args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_multiply={init:function(){this.jsonInit({message0:\"%1 * %2\",args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.operator_divide={init:function(){this.jsonInit({message0:\"%1 / %2\",args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_random={init:function(){this.jsonInit({message0:\"pick random %1 to %2\",args0:[{type:\"input_value\",name:\"FROM\"},{type:\"input_value\",name:\"TO\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.operator_lt={init:function(){this.jsonInit({message0:\"%1 \u003c %2\",args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_equals={init:function(){this.jsonInit({message0:\"%1 = %2\",args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};Blockly.Blocks.operator_gt={init:function(){this.jsonInit({message0:\"%1 \u003e %2\",args0:[{type:\"input_value\",name:\"OPERAND1\"},{type:\"input_value\",name:\"OPERAND2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_and={init:function(){this.jsonInit({message0:\"%1 and %2\",args0:[{type:\"input_value\",name:\"OPERAND1\",check:\"Boolean\"},{type:\"input_value\",name:\"OPERAND2\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_or={init:function(){this.jsonInit({message0:\"%1 or %2\",args0:[{type:\"input_value\",name:\"OPERAND1\",check:\"Boolean\"},{type:\"input_value\",name:\"OPERAND2\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};Blockly.Blocks.operator_not={init:function(){this.jsonInit({message0:\"not %1\",args0:[{type:\"input_value\",name:\"OPERAND\",check:\"Boolean\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_join={init:function(){this.jsonInit({message0:\"join %1 %2\",args0:[{type:\"input_value\",name:\"STRING1\"},{type:\"input_value\",name:\"STRING2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};Blockly.Blocks.operator_letter_of={init:function(){this.jsonInit({message0:\"letter %1 of %2\",args0:[{type:\"input_value\",name:\"LETTER\"},{type:\"input_value\",name:\"STRING\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};\nBlockly.Blocks.operator_length={init:function(){this.jsonInit({message0:\"length of %1\",args0:[{type:\"input_value\",name:\"STRING\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_string\"]})}};Blockly.Blocks.operator_contains={init:function(){this.jsonInit({message0:\"%1 contains %2?\",args0:[{type:\"input_value\",name:\"STRING1\"},{type:\"input_value\",name:\"STRING2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_boolean\"]})}};\nBlockly.Blocks.operator_mod={init:function(){this.jsonInit({message0:\"%1 mod %2\",args0:[{type:\"input_value\",name:\"NUM1\"},{type:\"input_value\",name:\"NUM2\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.operator_round={init:function(){this.jsonInit({message0:\"round %1\",args0:[{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};\nBlockly.Blocks.operator_mathop={init:function(){this.jsonInit({message0:\"%1 of %2\",args0:[{type:\"field_dropdown\",name:\"OPERATOR\",options:[[\"abs\",\"abs\"],[\"floor\",\"floor\"],[\"ceiling\",\"ceiling\"],[\"sqrt\",\"sqrt\"],[\"sin\",\"sin\"],[\"cos\",\"cos\"],[\"tan\",\"tan\"],[\"asin\",\"asin\"],[\"acos\",\"acos\"],[\"atan\",\"atan\"],[\"ln\",\"ln\"],[\"log\",\"log\"],[\"e ^\",\"e ^\"],[\"10 ^\",\"10 ^\"]]},{type:\"input_value\",name:\"NUM\"}],category:Blockly.Categories.operators,extensions:[\"colours_operators\",\"output_number\"]})}};Blockly.Blocks.pen={};Blockly.Blocks.pen_clear={init:function(){this.jsonInit({message0:\"clear\",category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_stamp={init:function(){this.jsonInit({message0:\"stamp\",category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_pendown={init:function(){this.jsonInit({message0:\"pen down\",category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};\nBlockly.Blocks.pen_penup={init:function(){this.jsonInit({message0:\"pen up\",category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_setpencolortocolor={init:function(){this.jsonInit({message0:\"set pen color to %1\",args0:[{type:\"input_value\",name:\"COLOR\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};\nBlockly.Blocks.pen_changepencolorby={init:function(){this.jsonInit({message0:\"change pen color by %1\",args0:[{type:\"input_value\",name:\"COLOR\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_setpencolortonum={init:function(){this.jsonInit({message0:\"set pen color to %1\",args0:[{type:\"input_value\",name:\"COLOR\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};\nBlockly.Blocks.pen_changepenshadeby={init:function(){this.jsonInit({message0:\"change pen shade by %1\",args0:[{type:\"input_value\",name:\"SHADE\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_setpenshadeto={init:function(){this.jsonInit({message0:\"set pen shade to %1\",args0:[{type:\"input_value\",name:\"SHADE\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};\nBlockly.Blocks.pen_changepensizeby={init:function(){this.jsonInit({message0:\"change pen size by %1\",args0:[{type:\"input_value\",name:\"SIZE\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_setpensizeto={init:function(){this.jsonInit({message0:\"set pen size to %1\",args0:[{type:\"input_value\",name:\"SIZE\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};\nBlockly.Blocks.pen_changepentransparencyby={init:function(){this.jsonInit({message0:\"change pen transparency by %1\",args0:[{type:\"input_value\",name:\"TRANSPARENCY\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.pen_setpentransparencyto={init:function(){this.jsonInit({message0:\"set pen transparency to %1\",args0:[{type:\"input_value\",name:\"TRANSPARENCY\"}],category:Blockly.Categories.pen,extensions:[\"colours_pen\",\"shape_statement\"]})}};Blockly.Blocks.procedures={};Blockly.Blocks.procedures_defnoreturn={init:function(){this.jsonInit({message0:\"define %1\",args0:[{type:\"input_statement\",name:\"custom_block\"}],extensions:[\"colours_more\",\"shape_hat\",\"procedure_def_contextmenu\"]})}};\nBlockly.Blocks.procedures_callnoreturn={init:function(){this.jsonInit({extensions:[\"colours_more\",\"shape_statement\",\"procedure_call_contextmenu\"]});this.procCode_=\"\"},mutationToDom:function(){var a=document.createElement(\"mutation\");a.setAttribute(\"proccode\",this.procCode_);return a},domToMutation:function(a){this.procCode_=a.getAttribute(\"proccode\");this._updateDisplay()},_updateDisplay:function(){var a=this.procCode_.split(/(?=[^\\\\]\\%[nbs])/);a=a.map(function(a){return a.trim()});for(var b=0,c=\n0,d;d=a[c];c++){if(\"%\"==d.substring(0,1)){var e=d.substring(1,2);d=d.substring(2).trim();var f=\"input\"+b++;switch(e){case \"n\":e=this.appendValueInput(f);f=this.workspace.newBlock(\"math_number\");f.setShadow(!0);f.outputConnection.connect(e.connection);break;case \"b\":e=this.appendValueInput(f);e.setCheck(\"Boolean\");break;case \"s\":e=this.appendValueInput(f),f=this.workspace.newBlock(\"text\"),f.setShadow(!0),f.outputConnection.connect(e.connection)}}else d=d.trim();this.appendDummyInput().appendField(d.replace(/\\\\%/,\n\"%\"))}}};\nBlockly.Blocks.procedures_callnoreturn_internal={init:function(){this.setPreviousStatement(!0);this.setNextStatement(!0);this.setCategory(Blockly.Categories.more);this.setColour(Blockly.Colours.more.primary,Blockly.Colours.more.secondary,Blockly.Colours.more.tertiary);this.procCode_=\"\";this.argumentNames_=[];this.argumentDefaults_=[];this.warp_=!1},mutationToDom:function(){var a=document.createElement(\"mutation\");a.setAttribute(\"proccode\",this.procCode_);a.setAttribute(\"argumentnames\",JSON.stringify(this.argumentNames_));a.setAttribute(\"argumentdefaults\",\nJSON.stringify(this.argumentDefaults_));a.setAttribute(\"warp\",this.warp_);return a},domToMutation:function(a){this.procCode_=a.getAttribute(\"proccode\");this.argumentNames_=JSON.parse(a.getAttribute(\"argumentnames\"));this.argumentDefaults_=JSON.parse(a.getAttribute(\"argumentdefaults\"));this.warp_=a.getAttribute(\"warp\");this.updateDisplay_()},updateDisplay_:function(){var a=this.procCode_.split(/(?=[^\\\\]\\%[nbs])/);a=a.map(function(a){return a.trim()});for(var b=0,c=0,d;d=a[c];c++){if(\"%\"==d.substring(0,\n1)){var e=d.substring(1,2);d=d.substring(2).trim();var f=\"input\"+b,g=\"\";switch(e){case \"n\":g=\"argument_reporter_string_number\";break;case \"b\":g=\"argument_reporter_boolean\";break;case \"s\":g=\"argument_reporter_string_number\"}if(g){var h=this.argumentNames_[b];e=goog.dom.createDom(\"shadow\");e.setAttribute(\"type\",g);g=goog.dom.createDom(\"field\",null,h);g.setAttribute(\"name\",\"VALUE\");e.appendChild(g);f=this.appendValueInput(f);Blockly.Xml.domToBlock(e,this.workspace).outputConnection.connect(f.connection)}b++}else d=\nd.trim();this.appendDummyInput().appendField(d.replace(/\\\\%/,\"%\"))}}};\nBlockly.Blocks.procedures_param={init:function(){this.appendDummyInput().appendField(new Blockly.FieldLabel,\"paramName\");this.setPreviousStatement(!1);this.setNextStatement(!1);this.setOutput(!0);this.setCategory(Blockly.Categories.more);this.setColour(Blockly.Colours.more.primary,Blockly.Colours.more.secondary,Blockly.Colours.more.tertiary);this._paramName=\"undefined\";this._shape=\"r\"},mutationToDom:function(){var a=document.createElement(\"mutation\");a.setAttribute(\"paramname\",this._paramName);a.setAttribute(\"shape\",\nthis._shape);return a},domToMutation:function(a){this._paramName=a.getAttribute(\"paramname\");this._shape=a.getAttribute(\"shape\");this._updateDisplay()},_updateDisplay:function(){this.setFieldValue(this._paramName,\"paramName\");switch(this._shape){case \"b\":this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);this.setOutput(!0,\"Boolean\");break;default:this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND),this.setOutput(!0,\"String\")}}};\nBlockly.Blocks.argument_reporter_boolean={init:function(){this.jsonInit({message0:\" %1\",args0:[{type:\"field_label_editable\",name:\"VALUE\",text:\"\"}],extensions:[\"colours_more\",\"output_boolean\"]})}};Blockly.Blocks.argument_reporter_string_number={init:function(){this.jsonInit({message0:\" %1\",args0:[{type:\"field_label_editable\",name:\"VALUE\",text:\"\"}],extensions:[\"colours_more\",\"output_number\",\"output_string\"]})}};Blockly.Blocks.sensing={};Blockly.Blocks.sensing_touchingobject={init:function(){this.jsonInit({message0:\"touching %1?\",args0:[{type:\"input_value\",name:\"TOUCHINGOBJECTMENU\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_boolean\"]})}};Blockly.Blocks.sensing_touchingobjectmenu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"TOUCHINGOBJECTMENU\",options:[[\"mouse-pointer\",\"_mouse_\"],[\"edge\",\"_edge_\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};\nBlockly.Blocks.sensing_touchingcolor={init:function(){this.jsonInit({message0:\"touching color %1?\",args0:[{type:\"input_value\",name:\"COLOR\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_boolean\"]})}};Blockly.Blocks.sensing_coloristouchingcolor={init:function(){this.jsonInit({message0:\"color %1 is touching %2?\",args0:[{type:\"input_value\",name:\"COLOR\"},{type:\"input_value\",name:\"COLOR2\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_boolean\"]})}};\nBlockly.Blocks.sensing_distanceto={init:function(){this.jsonInit({message0:\"distance to %1\",args0:[{type:\"input_value\",name:\"DISTANCETOMENU\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_number\"]})}};Blockly.Blocks.sensing_distancetomenu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"DISTANCETOMENU\",options:[[\"mouse-pointer\",\"_mouse_\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};\nBlockly.Blocks.sensing_askandwait={init:function(){this.jsonInit({message0:\"ask %1 and wait\",args0:[{type:\"input_value\",name:\"QUESTION\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"shape_statement\"]})}};Blockly.Blocks.sensing_answer={init:function(){this.jsonInit({message0:\"answer\",category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_keypressed={init:function(){this.jsonInit({message0:\"key %1 pressed?\",args0:[{type:\"input_value\",name:\"KEY_OPTION\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_boolean\"]})}};\nBlockly.Blocks.sensing_keyoptions={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"KEY_OPTION\",options:[[\"space\",\"space\"],[\"left arrow\",\"left arrow\"],[\"right arrow\",\"right arrow\"],[\"down arrow\",\"down arrow\"],[\"up arrow\",\"up arrow\"],[\"any\",\"any\"],[\"a\",\"a\"],[\"b\",\"b\"],[\"c\",\"c\"],[\"d\",\"d\"],[\"e\",\"e\"],[\"f\",\"f\"],[\"g\",\"g\"],[\"h\",\"h\"],[\"i\",\"i\"],[\"j\",\"j\"],[\"k\",\"k\"],[\"l\",\"l\"],[\"m\",\"m\"],[\"n\",\"n\"],[\"o\",\"o\"],[\"p\",\"p\"],[\"q\",\"q\"],[\"r\",\"r\"],[\"s\",\"s\"],[\"t\",\"t\"],[\"u\",\"u\"],[\"v\",\"v\"],[\"w\",\n\"w\"],[\"x\",\"x\"],[\"y\",\"y\"],[\"z\",\"z\"],[\"0\",\"0\"],[\"1\",\"1\"],[\"2\",\"2\"],[\"3\",\"3\"],[\"4\",\"4\"],[\"5\",\"5\"],[\"6\",\"6\"],[\"7\",\"7\"],[\"8\",\"8\"],[\"9\",\"9\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};Blockly.Blocks.sensing_mousedown={init:function(){this.jsonInit({message0:\"mouse down?\",category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_boolean\"]})}};\nBlockly.Blocks.sensing_mousex={init:function(){this.jsonInit({message0:\"mouse x\",category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_number\"]})}};Blockly.Blocks.sensing_mousey={init:function(){this.jsonInit({message0:\"mouse y\",category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_loudness={init:function(){this.jsonInit({message0:\"loudness\",category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};Blockly.Blocks.sensing_videoon={init:function(){this.jsonInit({message0:\"video %1 on %2\",args0:[{type:\"input_value\",name:\"VIDEOONMENU1\"},{type:\"input_value\",name:\"VIDEOONMENU2\"}],category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_videoonmenuone={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"VIDEOONMENU1\",options:[[\"motion\",\"MOTION\"],[\"direction\",\"DIRECTION\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};Blockly.Blocks.sensing_videoonmenutwo={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"VIDEOONMENU2\",options:[[\"stage\",\"STAGE\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};\nBlockly.Blocks.sensing_videotoggle={init:function(){this.jsonInit({message0:\"turn video %1\",args0:[{type:\"input_value\",name:\"VIDEOTOGGLEMENU\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"shape_statement\"]})}};Blockly.Blocks.sensing_videotogglemenu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"VIDEOTOGGLEMENU\",options:[[\"on\",\"ON\"],[\"off\",\"OFF\"],[\"on-flipped\",\"ONFLIPPED\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};\nBlockly.Blocks.sensing_setvideotransparency={init:function(){this.jsonInit({message0:\"set video transparency to %1%\",args0:[{type:\"input_value\",name:\"TRANSPARENCY\"}],category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"shape_statement\"]})}};Blockly.Blocks.sensing_timer={init:function(){this.jsonInit({message0:\"timer\",category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_resettimer={init:function(){this.jsonInit({message0:\"reset timer\",category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"shape_statement\"]})}};\nBlockly.Blocks.sensing_of_property_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"PROPERTY\",options:[[\"x position\",\"x position\"],[\"y position\",\"y position\"],[\"direction\",\"direction\"],[\"costume #\",\"costume #\"],[\"costume name\",\"costume name\"],[\"size\",\"size\"],[\"volume\",\"volume\"],[\"backdrop #\",\"backdrop #\"],[\"backdrop name\",\"backdrop name\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};\nBlockly.Blocks.sensing_of_object_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"OBJECT\",options:[[\"Sprite1\",\"Sprite1\"],[\"Stage\",\"_stage_\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};Blockly.Blocks.sensing_of={init:function(){this.jsonInit({message0:\"%1 of %2\",args0:[{type:\"input_value\",name:\"PROPERTY\"},{type:\"input_value\",name:\"OBJECT\"}],output:!0,category:Blockly.Categories.sensing,outputShape:Blockly.OUTPUT_SHAPE_ROUND,checkboxInFlyout:!0,extensions:[\"colours_sensing\"]})}};\nBlockly.Blocks.sensing_current={init:function(){this.jsonInit({message0:\"current %1\",args0:[{type:\"input_value\",name:\"CURRENTMENU\"}],category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_currentmenu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"CURRENTMENU\",options:[[\"year\",\"YEAR\"],[\"month\",\"MONTH\"],[\"date\",\"DATE\"],[\"day of week\",\"DAYOFWEEK\"],[\"hour\",\"HOUR\"],[\"minute\",\"MINUTE\"],[\"second\",\"SECOND\"]]}],extensions:[\"colours_sensing\",\"output_string\"]})}};Blockly.Blocks.sensing_dayssince2000={init:function(){this.jsonInit({message0:\"days since 2000\",category:Blockly.Categories.sensing,extensions:[\"colours_sensing\",\"output_number\"]})}};\nBlockly.Blocks.sensing_username={init:function(){this.jsonInit({message0:\"username\",category:Blockly.Categories.sensing,checkboxInFlyout:!0,extensions:[\"colours_sensing\",\"output_number\"]})}};Blockly.Blocks.sound={};Blockly.Blocks.sound_sounds_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"SOUND_MENU\",options:[[\"1\",\"0\"],[\"2\",\"1\"],[\"3\",\"2\"],[\"4\",\"3\"],[\"5\",\"4\"],[\"6\",\"5\"],[\"7\",\"6\"],[\"8\",\"7\"],[\"9\",\"8\"],[\"10\",\"9\"]]}],colour:Blockly.Colours.sounds.secondary,colourSecondary:Blockly.Colours.sounds.secondary,colourTertiary:Blockly.Colours.sounds.tertiary,extensions:[\"output_string\"]})}};\nBlockly.Blocks.sound_play={init:function(){this.jsonInit({message0:\"start sound %1\",args0:[{type:\"input_value\",name:\"SOUND_MENU\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};Blockly.Blocks.sound_playuntildone={init:function(){this.jsonInit({message0:\"play sound %1 until done\",args0:[{type:\"input_value\",name:\"SOUND_MENU\"}],extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_stopallsounds={init:function(){this.jsonInit({message0:\"stop all sounds\",category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_drums_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"DRUM\",options:[[\"(1) Snare Drum\",\"1\"],[\"(2) Bass Drum\",\"2\"],[\"(3) Side Stick\",\"3\"],[\"(4) Crash Cymbal\",\"4\"],[\"(5) Open Hi-Hat\",\"5\"],[\"(6) Closed Hi-Hat\",\"6\"],[\"(7) Tambourine\",\"7\"],[\"(8) Hand Clap\",\"8\"],[\"(9) Claves\",\"9\"],[\"(10) Wood Block\",\"10\"],[\"(11) Cowbell\",\"11\"],[\"(12) Triangle\",\"12\"],[\"(13) Bongo\",\"13\"],[\"(14) Conga\",\"14\"],[\"(15) Cabasa\",\"15\"],[\"(16) Guiro\",\"16\"],[\"(17) Vibraslap\",\n\"17\"],[\"(18) Open Cuica\",\"18\"]]}],colour:Blockly.Colours.sounds.secondary,colourSecondary:Blockly.Colours.sounds.secondary,colourTertiary:Blockly.Colours.sounds.tertiary,extensions:[\"output_string\"]})}};Blockly.Blocks.sound_playdrumforbeats={init:function(){this.jsonInit({message0:\"play drum %1 for %2 beats\",args0:[{type:\"input_value\",name:\"DRUM\"},{type:\"input_value\",name:\"BEATS\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_restforbeats={init:function(){this.jsonInit({message0:\"rest for %1 beats\",args0:[{type:\"input_value\",name:\"BEATS\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};Blockly.Blocks.sound_playnoteforbeats={init:function(){this.jsonInit({message0:\"play note %1 for %2 beats\",args0:[{type:\"input_value\",name:\"NOTE\"},{type:\"input_value\",name:\"BEATS\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_effects_menu_options=[[\"pitch\",\"PITCH\"],[\"pan left/right\",\"PAN\"]];Blockly.Blocks.sound_seteffectto={init:function(){this.jsonInit({message0:\"set %1 effect to %2\",args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:Blockly.Blocks.sound_effects_menu_options},{type:\"input_value\",name:\"VALUE\"}],extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_changeeffectby={init:function(){this.jsonInit({message0:\"change %1 effect by %2\",args0:[{type:\"field_dropdown\",name:\"EFFECT\",options:Blockly.Blocks.sound_effects_menu_options},{type:\"input_value\",name:\"VALUE\"}],extensions:[\"colours_sounds\",\"shape_statement\"]})}};Blockly.Blocks.sound_cleareffects={init:function(){this.jsonInit({message0:\"clear sound effects\",extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_instruments_menu={init:function(){this.jsonInit({message0:\"%1\",args0:[{type:\"field_dropdown\",name:\"INSTRUMENT\",options:[[\"(1) Piano\",\"1\"],[\"(2) Electric Piano\",\"2\"],[\"(3) Organ\",\"3\"],[\"(4) Guitar\",\"4\"],[\"(5) Electric Guitar\",\"5\"],[\"(6) Bass\",\"6\"],[\"(7) Pizzicato\",\"7\"],[\"(8) Cello\",\"8\"],[\"(9) Trombone\",\"9\"],[\"(10) Clarinet\",\"10\"],[\"(11) Saxophone\",\"11\"],[\"(12) Flute\",\"12\"],[\"(13) Wooden Flute\",\"13\"],[\"(14) Bassoon\",\"14\"],[\"(15) Choir\",\"15\"],[\"(16) Vibraphone\",\"16\"],[\"(17) Music Box\",\n\"17\"],[\"(18) Steel Drum\",\"18\"],[\"(19) Marimba\",\"19\"],[\"(20) Synth Lead\",\"20\"],[\"(21) Synth Pad\",\"21\"]]}],colour:Blockly.Colours.sounds.secondary,colourSecondary:Blockly.Colours.sounds.secondary,colourTertiary:Blockly.Colours.sounds.tertiary,extensions:[\"output_string\"]})}};Blockly.Blocks.sound_setinstrumentto={init:function(){this.jsonInit({message0:\"set instrument to %1\",args0:[{type:\"input_value\",name:\"INSTRUMENT\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_changevolumeby={init:function(){this.jsonInit({message0:\"change volume by %1\",args0:[{type:\"input_value\",name:\"VOLUME\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};Blockly.Blocks.sound_setvolumeto={init:function(){this.jsonInit({message0:\"set volume to %1%\",args0:[{type:\"input_value\",name:\"VOLUME\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_volume={init:function(){this.jsonInit({message0:\"volume\",category:Blockly.Categories.sound,checkboxInFlyout:!0,extensions:[\"colours_sounds\",\"output_number\"]})}};Blockly.Blocks.sound_changetempoby={init:function(){this.jsonInit({message0:\"change tempo by %1\",args0:[{type:\"input_value\",name:\"TEMPO\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};\nBlockly.Blocks.sound_settempotobpm={init:function(){this.jsonInit({message0:\"set tempo to %1 bpm\",args0:[{type:\"input_value\",name:\"TEMPO\"}],category:Blockly.Categories.sound,extensions:[\"colours_sounds\",\"shape_statement\"]})}};Blockly.Blocks.sound_tempo={init:function(){this.jsonInit({message0:\"tempo\",category:Blockly.Categories.sound,checkboxInFlyout:!0,extensions:[\"colours_sounds\",\"output_number\"]})}};\n// This file was automatically generated. Do not modify.\n\n'use strict';\n\ngoog.provide('Blockly.Msg.sk');\n\ngoog.require('Blockly.Msg');\n\nBlockly.Msg.ADD_COMMENT = \"Pridať komentár\";\nBlockly.Msg.CHANGE_VALUE_TITLE = \"Zmeniť hodnotu:\";\nBlockly.Msg.CLEAN_UP = \"Narovnať bloky\";\nBlockly.Msg.COLLAPSE_ALL = \"Zvinúť bloky\";\nBlockly.Msg.COLLAPSE_BLOCK = \"Zvinúť blok\";\nBlockly.Msg.COLOUR_BLEND_COLOUR1 = \"farba 1\";\nBlockly.Msg.COLOUR_BLEND_COLOUR2 = \"farba 2\";\nBlockly.Msg.COLOUR_BLEND_HELPURL = \"http://meyerweb.com/eric/tools/color-blend/\"; // untranslated\nBlockly.Msg.COLOUR_BLEND_RATIO = \"pomer\";\nBlockly.Msg.COLOUR_BLEND_TITLE = \"zmiešať\";\nBlockly.Msg.COLOUR_BLEND_TOOLTIP = \"Zmieša dve farby v danom pomere (0.0 - 1.0).\";\nBlockly.Msg.COLOUR_PICKER_HELPURL = \"https://en.wikipedia.org/wiki/Color\";\nBlockly.Msg.COLOUR_PICKER_TOOLTIP = \"Zvoľte farbu z palety.\";\nBlockly.Msg.COLOUR_RANDOM_HELPURL = \"http://randomcolour.com\"; // untranslated\nBlockly.Msg.COLOUR_RANDOM_TITLE = \"náhodná farba\";\nBlockly.Msg.COLOUR_RANDOM_TOOLTIP = \"Zvoliť farbu náhodne.\";\nBlockly.Msg.COLOUR_RGB_BLUE = \"modrá\";\nBlockly.Msg.COLOUR_RGB_GREEN = \"zelená\";\nBlockly.Msg.COLOUR_RGB_HELPURL = \"http://www.december.com/html/spec/colorper.html\"; // untranslated\nBlockly.Msg.COLOUR_RGB_RED = \"červená\";\nBlockly.Msg.COLOUR_RGB_TITLE = \"ofarbiť s\";\nBlockly.Msg.COLOUR_RGB_TOOLTIP = \"Vytvoriť farbu pomocou zadaného množstva červenej, zelenej a modrej. Množstvo musí byť medzi 0 a 100.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = \"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks\"; // untranslated\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = \"opustiť slučku\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = \"prejdi na nasledujúce opakovanie slučky\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = \"Opustiť túto slučku.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = \"Vynechať zvyšok tejto slučky a pokračovať ďalším opakovaním.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = \"Upozornenie: Tento blok sa môže používať len v rámci slučky.\";\nBlockly.Msg.CONTROLS_FOREACH_HELPURL = \"https://github.com/google/blockly/wiki/Loops#for-each\"; // untranslated\nBlockly.Msg.CONTROLS_FOREACH_TITLE = \"pre každý prvok %1 v zozname %2\";\nBlockly.Msg.CONTROLS_FOREACH_TOOLTIP = \"Pre každý prvok v zozname priraď jeho hodnotu do premenej '%1' a vykonaj príkazy.\";\nBlockly.Msg.CONTROLS_FOR_HELPURL = \"https://github.com/google/blockly/wiki/Loops#count-with\"; // untranslated\nBlockly.Msg.CONTROLS_FOR_TITLE = \"počítať s %1 od %2 do %3 o %4\";\nBlockly.Msg.CONTROLS_FOR_TOOLTIP = \"Nechá premennú '%1' nadobúdať hodnoty od začiatočného čísla po konečné s daným medzikrokom a vykoná zadané bloky.\";\nBlockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = \"Pridať podmienku k \\\"ak\\\" bloku.\";\nBlockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = \"Pridať poslednú záchytnú podmienku k \\\"ak\\\" bloku.\";\nBlockly.Msg.CONTROLS_IF_HELPURL = \"https://github.com/google/blockly/wiki/IfElse\"; // untranslated\nBlockly.Msg.CONTROLS_IF_IF_TOOLTIP = \"Pridať, odstrániť alebo zmeniť poradie oddielov tohto \\\"ak\\\" bloku.\";\nBlockly.Msg.CONTROLS_IF_MSG_ELSE = \"inak\";\nBlockly.Msg.CONTROLS_IF_MSG_ELSEIF = \"inak ak\";\nBlockly.Msg.CONTROLS_IF_MSG_IF = \"ak\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_1 = \"Ak je hodnota pravda, vykonaj príkazy.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_2 = \"Ak je hodnota pravda, vykonaj príkazy v prvom bloku. Inak vykonaj príkazy v druhom bloku.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_3 = \"Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_4 = \"Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku. Ak ani jedna hodnota nie je pravda, vykonaj príkazy v poslednom bloku.\";\nBlockly.Msg.CONTROLS_REPEAT_HELPURL = \"https://en.wikipedia.org/wiki/For_loop\";\nBlockly.Msg.CONTROLS_REPEAT_INPUT_DO = \"rob\";\nBlockly.Msg.CONTROLS_REPEAT_TITLE = \"opakuj %1 krát\";\nBlockly.Msg.CONTROLS_REPEAT_TOOLTIP = \"Opakuj určité príkazy viackrát.\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = \"https://github.com/google/blockly/wiki/Loops#repeat\"; // untranslated\nBlockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = \"opakuj kým nebude\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = \"opakuj kým\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = \"Kým je hodnota nepravdivá, vykonávaj príkazy.\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = \"Kým je hodnota pravdivá, vykonávaj príkazy.\";\nBlockly.Msg.DELETE_ALL_BLOCKS = \"Zmazať všetkých %1 dielcov?\";\nBlockly.Msg.DELETE_BLOCK = \"Odstrániť blok\";\nBlockly.Msg.DELETE_VARIABLE = \"Delete the '%1' variable\"; // untranslated\nBlockly.Msg.DELETE_VARIABLE_CONFIRMATION = \"Delete %1 uses of the '%2' variable?\"; // untranslated\nBlockly.Msg.DELETE_X_BLOCKS = \"Odstrániť %1 blokov\";\nBlockly.Msg.DISABLE_BLOCK = \"Vypnúť blok\";\nBlockly.Msg.DUPLICATE_BLOCK = \"Duplikovať\";\nBlockly.Msg.ENABLE_BLOCK = \"Povoliť blok\";\nBlockly.Msg.EXPAND_ALL = \"Rozvinúť bloky\";\nBlockly.Msg.EXPAND_BLOCK = \"Rozvinúť blok\";\nBlockly.Msg.EXTERNAL_INPUTS = \"Vonkajšie vstupy\";\nBlockly.Msg.HELP = \"Pomoc\";\nBlockly.Msg.INLINE_INPUTS = \"Riadkové vstupy\";\nBlockly.Msg.LISTS_CREATE_EMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-empty-list\"; // untranslated\nBlockly.Msg.LISTS_CREATE_EMPTY_TITLE = \"prázdny zoznam\";\nBlockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = \"Vráti zoznam nulovej dĺžky, ktorý neobsahuje žiadne prvky.\";\nBlockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = \"zoznam\";\nBlockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = \"Pridaj, odstráň alebo zmeň poradie v tomto zoznamovom bloku.\";\nBlockly.Msg.LISTS_CREATE_WITH_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-list-with\";\nBlockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = \"vytvor zoznam s\";\nBlockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = \"Pridaj prvok do zoznamu.\";\nBlockly.Msg.LISTS_CREATE_WITH_TOOLTIP = \"Vytvor zoznam s ľubovoľným počtom prvkov.\";\nBlockly.Msg.LISTS_GET_INDEX_FIRST = \"prvý\";\nBlockly.Msg.LISTS_GET_INDEX_FROM_END = \"# od konca\";\nBlockly.Msg.LISTS_GET_INDEX_FROM_START = \"#\"; // untranslated\nBlockly.Msg.LISTS_GET_INDEX_GET = \"zisti\";\nBlockly.Msg.LISTS_GET_INDEX_GET_REMOVE = \"zisti a odstráň\";\nBlockly.Msg.LISTS_GET_INDEX_LAST = \"posledný\";\nBlockly.Msg.LISTS_GET_INDEX_RANDOM = \"náhodný\";\nBlockly.Msg.LISTS_GET_INDEX_REMOVE = \"odstráň\";\nBlockly.Msg.LISTS_GET_INDEX_TAIL = \"\"; // untranslated\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = \"Vráti počiatočný prvok zoznamu.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM = \"Vráti prvok na určenej pozícii v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = \"Vráti posledný prvok zoznamu.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = \"Vráti náhodný prvok zoznamu.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = \"Odstráni a vráti prvý prvok v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM = \"Odstráni a vráti prvok z určenej pozície v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = \"Odstráni a vráti posledný prvok v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = \"Odstráni a vráti náhodný prvok v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = \"Odstráni prvý prvok v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM = \"Odstráni prvok na určenej pozícii v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = \"Odstráni posledný prvok v zozname.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = \"Odstráni náhodný prvok v zozname.\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = \"po # od konca\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = \"po #\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_LAST = \"po koniec\";\nBlockly.Msg.LISTS_GET_SUBLIST_HELPURL = \"https://github.com/google/blockly/wiki/Lists#getting-a-sublist\"; // untranslated\nBlockly.Msg.LISTS_GET_SUBLIST_START_FIRST = \"Získať podzoznam od začiatku\";\nBlockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = \"Získať podzoznam od # od konca\";\nBlockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = \"získať podzoznam od #\";\nBlockly.Msg.LISTS_GET_SUBLIST_TAIL = \"\"; // untranslated\nBlockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = \"Skopíruje určený úsek zoznamu.\";\nBlockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP = \"%1 je posledný prvok.\";\nBlockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP = \"%1 je počiatočný prvok.\";\nBlockly.Msg.LISTS_INDEX_OF_FIRST = \"nájdi prvý výskyt prvku\";\nBlockly.Msg.LISTS_INDEX_OF_HELPURL = \"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list\"; // untranslated\nBlockly.Msg.LISTS_INDEX_OF_LAST = \"nájdi posledný výskyt prvku\";\nBlockly.Msg.LISTS_INDEX_OF_TOOLTIP = \"Vráti index prvého/posledného výskytu prvku v zozname. Ak sa nič nenašlo, vráti %1.\";\nBlockly.Msg.LISTS_INLIST = \"v zozname\";\nBlockly.Msg.LISTS_ISEMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Lists#is-empty\"; // untranslated\nBlockly.Msg.LISTS_ISEMPTY_TITLE = \"%1 je prázdny\";\nBlockly.Msg.LISTS_ISEMPTY_TOOLTIP = \"Vráti pravda, ak je zoznam prázdny.\";\nBlockly.Msg.LISTS_LENGTH_HELPURL = \"https://github.com/google/blockly/wiki/Lists#length-of\"; // untranslated\nBlockly.Msg.LISTS_LENGTH_TITLE = \"dĺžka %1\";\nBlockly.Msg.LISTS_LENGTH_TOOLTIP = \"Vráti dĺžku zoznamu\";\nBlockly.Msg.LISTS_REPEAT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-list-with\"; // untranslated\nBlockly.Msg.LISTS_REPEAT_TITLE = \"vytvor zoznam s prvkom %1 opakovaným %2 krát\";\nBlockly.Msg.LISTS_REPEAT_TOOLTIP = \"Vytvorí zoznam s niekoľkými rovnakými prvkami s danou hodnotou.\";\nBlockly.Msg.LISTS_SET_INDEX_HELPURL = \"https://github.com/google/blockly/wiki/Lists#in-list--set\"; // untranslated\nBlockly.Msg.LISTS_SET_INDEX_INPUT_TO = \"ako\";\nBlockly.Msg.LISTS_SET_INDEX_INSERT = \"vložiť na\";\nBlockly.Msg.LISTS_SET_INDEX_SET = \"nastaviť\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = \"Vsunie prvok na začiatok zoznamu.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM = \"Vsunie prvok na určenú pozíciu v zozname.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = \"Pripojí prvok na koniec zoznamu.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = \"Vsunie prvok na náhodné miesto v zozname.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = \"Nastaví prvý prvok v zozname.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM = \"Nastaví prvok na určenej pozícii v zozname.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = \"Nastaví posledný prvok v zozname.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = \"Nastaví posledný prvok v zozname.\";\nBlockly.Msg.LISTS_SORT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#sorting-a-list\"; // untranslated\nBlockly.Msg.LISTS_SORT_ORDER_ASCENDING = \"ascending\"; // untranslated\nBlockly.Msg.LISTS_SORT_ORDER_DESCENDING = \"descending\"; // untranslated\nBlockly.Msg.LISTS_SORT_TITLE = \"sort %1 %2 %3\"; // untranslated\nBlockly.Msg.LISTS_SORT_TOOLTIP = \"Sort a copy of a list.\"; // untranslated\nBlockly.Msg.LISTS_SORT_TYPE_IGNORECASE = \"alphabetic, ignore case\"; // untranslated\nBlockly.Msg.LISTS_SORT_TYPE_NUMERIC = \"numeric\"; // untranslated\nBlockly.Msg.LISTS_SORT_TYPE_TEXT = \"alphabetic\"; // untranslated\nBlockly.Msg.LISTS_SPLIT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists\"; // untranslated\nBlockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = \"vytvoriť zoznam z textu\";\nBlockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = \"vytvoriť text zo zoznamu\";\nBlockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = \"Spojiť zoznam textov do jedného textu s oddeľovačmi.\";\nBlockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = \"Rozdelenie textu do zoznamu textov, lámanie na oddeľovačoch.\";\nBlockly.Msg.LISTS_SPLIT_WITH_DELIMITER = \"s oddeľovačom\";\nBlockly.Msg.LOGIC_BOOLEAN_FALSE = \"nepravda\";\nBlockly.Msg.LOGIC_BOOLEAN_HELPURL = \"https://github.com/google/blockly/wiki/Logic#values\"; // untranslated\nBlockly.Msg.LOGIC_BOOLEAN_TOOLTIP = \"Vráť buď hodnotu pravda alebo nepravda.\";\nBlockly.Msg.LOGIC_BOOLEAN_TRUE = \"pravda\";\nBlockly.Msg.LOGIC_COMPARE_HELPURL = \"https://en.wikipedia.org/wiki/Inequality_(mathematics)\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = \"Vráť hodnotu pravda, ak sú vstupy rovnaké.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = \"Vráť hodnotu pravda ak prvý vstup je väčší než druhý.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = \"Vráť hodnotu pravda ak prvý vstup je väčší alebo rovný druhému.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = \"Vráť hodnotu pravda, ak prvý vstup je menší než druhý.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = \"Vráť hodnotu pravda ak prvý vstup je menší alebo rovný druhému.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = \"Vráť hodnotu pravda, ak vstupy nie sú rovnaké.\";\nBlockly.Msg.LOGIC_NEGATE_HELPURL = \"https://github.com/google/blockly/wiki/Logic#not\"; // untranslated\nBlockly.Msg.LOGIC_NEGATE_TITLE = \"nie je %1\";\nBlockly.Msg.LOGIC_NEGATE_TOOLTIP = \"Vráti hodnotu pravda, ak je vstup nepravda. Vráti hodnotu nepravda ak je vstup pravda.\";\nBlockly.Msg.LOGIC_NULL = \"nič\";\nBlockly.Msg.LOGIC_NULL_HELPURL = \"https://en.wikipedia.org/wiki/Nullable_type\"; // untranslated\nBlockly.Msg.LOGIC_NULL_TOOLTIP = \"Vráti hodnotu nula.\";\nBlockly.Msg.LOGIC_OPERATION_AND = \"a\";\nBlockly.Msg.LOGIC_OPERATION_HELPURL = \"https://github.com/google/blockly/wiki/Logic#logical-operations\"; // untranslated\nBlockly.Msg.LOGIC_OPERATION_OR = \"alebo\";\nBlockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = \"Vráť hodnotu pravda, ak sú vstupy pravdivé.\";\nBlockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = \"Vráť hodnotu pravda, ak je aspoň jeden vstup pravda.\";\nBlockly.Msg.LOGIC_TERNARY_CONDITION = \"test\";\nBlockly.Msg.LOGIC_TERNARY_HELPURL = \"https://en.wikipedia.org/wiki/%3F:\"; // untranslated\nBlockly.Msg.LOGIC_TERNARY_IF_FALSE = \"ak nepravda\";\nBlockly.Msg.LOGIC_TERNARY_IF_TRUE = \"ak pravda\";\nBlockly.Msg.LOGIC_TERNARY_TOOLTIP = \"Skontroluj podmienku testom. Ak je podmienka pravda, vráť hodnotu \\\"ak pravda\\\", inak vráť hodnotu \\\"ak nepravda\\\".\";\nBlockly.Msg.MATH_ADDITION_SYMBOL = \"+\"; // untranslated\nBlockly.Msg.MATH_ARITHMETIC_HELPURL = \"https://en.wikipedia.org/wiki/Arithmetic\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = \"Vráť súčet dvoch čísel.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = \"Vráť podiel dvoch čísel.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = \"Vráť rozdiel dvoch čísel.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = \"Vráť súčin dvoch čísel.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = \"Vráť prvé číslo umocnené druhým.\";\nBlockly.Msg.MATH_CHANGE_HELPURL = \"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter\";\nBlockly.Msg.MATH_CHANGE_TITLE = \"zmeniť %1 o %2\";\nBlockly.Msg.MATH_CHANGE_TOOLTIP = \"Pridaj číslo do premennej \\\"%1\\\".\";\nBlockly.Msg.MATH_CONSTANT_HELPURL = \"https://en.wikipedia.org/wiki/Mathematical_constant‎\";\nBlockly.Msg.MATH_CONSTANT_TOOLTIP = \"Vráť jednu zo zvyčajných konštánt: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), alebo ∞ (nekonečno).\";\nBlockly.Msg.MATH_CONSTRAIN_HELPURL = \"https://en.wikipedia.org/wiki/Clamping_%28graphics%29\"; // untranslated\nBlockly.Msg.MATH_CONSTRAIN_TITLE = \"obmedz %1 od %2 do %3\";\nBlockly.Msg.MATH_CONSTRAIN_TOOLTIP = \"Obmedzí číslo do zadaných hraníc (vrátane).\";\nBlockly.Msg.MATH_DIVISION_SYMBOL = \"÷\"; // untranslated\nBlockly.Msg.MATH_IS_DIVISIBLE_BY = \"je deliteľné\";\nBlockly.Msg.MATH_IS_EVEN = \"je párne\";\nBlockly.Msg.MATH_IS_NEGATIVE = \"je záporné\";\nBlockly.Msg.MATH_IS_ODD = \"je nepárne\";\nBlockly.Msg.MATH_IS_POSITIVE = \"je kladné\";\nBlockly.Msg.MATH_IS_PRIME = \"je prvočíslo\";\nBlockly.Msg.MATH_IS_TOOLTIP = \"Skontroluj či je číslo párne, nepárne, celé, kladné, záporné alebo deliteľné určitým číslom. Vráť hodnotu pravda alebo nepravda.\";\nBlockly.Msg.MATH_IS_WHOLE = \"je celé číslo\";\nBlockly.Msg.MATH_MODULO_HELPURL = \"https://en.wikipedia.org/wiki/Modulo_operation\";\nBlockly.Msg.MATH_MODULO_TITLE = \"zvyšok po delení %1 + %2\";\nBlockly.Msg.MATH_MODULO_TOOLTIP = \"Vráť zvyšok po delení jedného čísla druhým.\";\nBlockly.Msg.MATH_MULTIPLICATION_SYMBOL = \"×\"; // untranslated\nBlockly.Msg.MATH_NUMBER_HELPURL = \"https://en.wikipedia.org/wiki/Number\";\nBlockly.Msg.MATH_NUMBER_TOOLTIP = \"Číslo.\";\nBlockly.Msg.MATH_ONLIST_HELPURL = \"\"; // untranslated\nBlockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = \"priemer zoznamu\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MAX = \"najväčšie v zozname\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = \"medián zoznamu\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MIN = \"najmenšie v zozname\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MODE = \"najčastejšie v zozname\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = \"náhodný prvok zoznamu\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = \"smerodajná odchýlka zoznamu\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_SUM = \"súčet zoznamu\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = \"Vráť aritmetický priemer čísel v zozname.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MAX = \"Vrátiť najväčšie číslo v zozname.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = \"Vráť medián čísel v zozname.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MIN = \"Vrátiť najmenšie číslo v zozname.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MODE = \"Vrátiť najčastejší prvok v zozname.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = \"Vráť náhodne zvolený prvok zoznamu.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = \"Vráť smeroddajnú odchýlku zoznamu.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_SUM = \"Vráť súčet všetkých čísel v zozname.\";\nBlockly.Msg.MATH_POWER_SYMBOL = \"^\"; // untranslated\nBlockly.Msg.MATH_RANDOM_FLOAT_HELPURL = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = \"náhodné číslo od 0 do 1\";\nBlockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = \"Vráť náhodné číslo z intervalu 0.0 (vrátane) až 1.0.\";\nBlockly.Msg.MATH_RANDOM_INT_HELPURL = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg.MATH_RANDOM_INT_TITLE = \"náhodné celé číslo od %1 do %2\";\nBlockly.Msg.MATH_RANDOM_INT_TOOLTIP = \"Vráť náhodné celé číslo z určeného intervalu (vrátane).\";\nBlockly.Msg.MATH_ROUND_HELPURL = \"https://en.wikipedia.org/wiki/Rounding\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUND = \"zaokrúhli\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = \"zaokrúhli nadol\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = \"zaokrúhli nahor\";\nBlockly.Msg.MATH_ROUND_TOOLTIP = \"Zaokrúhli číslo nahor alebo nadol.\";\nBlockly.Msg.MATH_SINGLE_HELPURL = \"https://en.wikipedia.org/wiki/Square_root\";\nBlockly.Msg.MATH_SINGLE_OP_ABSOLUTE = \"absolútna hodnota\";\nBlockly.Msg.MATH_SINGLE_OP_ROOT = \"druhá odmocnina\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_ABS = \"Vráť absolútnu hodnotu čísla.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_EXP = \"Vráť e umocnené číslom.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_LN = \"Vráť prirodzený logaritmus čísla.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = \"Vráť logaritmus čísla so základom 10.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_NEG = \"Vráť opačné číslo.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = \"Vráť 10 umocnené číslom.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = \"Vráť druhú odmocninu čísla.\";\nBlockly.Msg.MATH_SUBTRACTION_SYMBOL = \"-\"; // untranslated\nBlockly.Msg.MATH_TRIG_ACOS = \"arccos\";\nBlockly.Msg.MATH_TRIG_ASIN = \"arcsin\";\nBlockly.Msg.MATH_TRIG_ATAN = \"arctan\";\nBlockly.Msg.MATH_TRIG_COS = \"cos\"; // untranslated\nBlockly.Msg.MATH_TRIG_HELPURL = \"https://en.wikipedia.org/wiki/Trigonometric_functions\";\nBlockly.Msg.MATH_TRIG_SIN = \"sin\"; // untranslated\nBlockly.Msg.MATH_TRIG_TAN = \"tan\"; // untranslated\nBlockly.Msg.MATH_TRIG_TOOLTIP_ACOS = \"Vráť arkus kosínus čísla.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_ASIN = \"Vráť arkus sínus čísla.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_ATAN = \"Vráť arkus tangens čísla.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_COS = \"Vráť kosínus uhla (v stupňoch).\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_SIN = \"Vráť sínus uhla (v stupňoch).\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_TAN = \"Vráť tangens uhla (v stupňoch).\";\nBlockly.Msg.NEW_VARIABLE = \"Nová premenná...\";\nBlockly.Msg.NEW_VARIABLE_TITLE = \"Názov novej premennej:\";\nBlockly.Msg.ORDINAL_NUMBER_SUFFIX = \"\"; // untranslated\nBlockly.Msg.PROCEDURES_ALLOW_STATEMENTS = \"povoliť príkazy\";\nBlockly.Msg.PROCEDURES_BEFORE_PARAMS = \"s:\";\nBlockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = \"Spustí používateľom definovanú funkciu '%1'.\";\nBlockly.Msg.PROCEDURES_CALLRETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = \"Spustí používateľom definovanú funkciu '%1' a použije jej výstup.\";\nBlockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = \"s:\";\nBlockly.Msg.PROCEDURES_CREATE_DO = \"Vytvoriť '%1'\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = \"Doplň, čo robí táto funkcia...\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_DO = \"\"; // untranslated\nBlockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\"; // untranslated\nBlockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = \"urob niečo\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_TITLE = \"na\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = \"Vytvorí funciu bez výstupu.\";\nBlockly.Msg.PROCEDURES_DEFRETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\"; // untranslated\nBlockly.Msg.PROCEDURES_DEFRETURN_RETURN = \"vrátiť\";\nBlockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = \"Vytvorí funkciu s výstupom.\";\nBlockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = \"Upozornenie: Táto funkcia má duplicitné parametre.\";\nBlockly.Msg.PROCEDURES_HIGHLIGHT_DEF = \"Zvýrazniť definíciu funkcie\";\nBlockly.Msg.PROCEDURES_IFRETURN_HELPURL = \"http://c2.com/cgi/wiki?GuardClause\"; // untranslated\nBlockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = \"Ak je hodnota pravda, tak vráti druhú hodnotu.\";\nBlockly.Msg.PROCEDURES_IFRETURN_WARNING = \"Upozornenie: Tento blok môže byť len vo vnútri funkcie.\";\nBlockly.Msg.PROCEDURES_MUTATORARG_TITLE = \"názov vstupu:\";\nBlockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = \"Pridať vstup do funkcie.\";\nBlockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = \"vstupy\";\nBlockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = \"Pridať, odstrániť alebo zmeniť poradie vstupov tejto funkcie.\";\nBlockly.Msg.REDO = \"Znovu\"; // untranslated\nBlockly.Msg.REMOVE_COMMENT = \"Odstrániť komentár\";\nBlockly.Msg.RENAME_VARIABLE = \"Premenovať premennú...\";\nBlockly.Msg.RENAME_VARIABLE_TITLE = \"Premenovať všetky premenné '%1' na:\";\nBlockly.Msg.TEXT_APPEND_APPENDTEXT = \"pridaj text\";\nBlockly.Msg.TEXT_APPEND_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-modification\"; // untranslated\nBlockly.Msg.TEXT_APPEND_TO = \"do\";\nBlockly.Msg.TEXT_APPEND_TOOLTIP = \"Pridaj určitý text do premennej '%1'.\";\nBlockly.Msg.TEXT_CHANGECASE_HELPURL = \"https://github.com/google/blockly/wiki/Text#adjusting-text-case\"; // untranslated\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = \"na malé písmená\";\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = \"na Veľké Začiatočné Písmená\";\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = \"na VEĽKÉ PÍSMENÁ\";\nBlockly.Msg.TEXT_CHANGECASE_TOOLTIP = \"Vráť kópiu textu s inou veľkosťou písmen.\";\nBlockly.Msg.TEXT_CHARAT_FIRST = \"zisti prvé písmeno\";\nBlockly.Msg.TEXT_CHARAT_FROM_END = \"zisti # písmeno od konca\";\nBlockly.Msg.TEXT_CHARAT_FROM_START = \"zisti písmeno #\";\nBlockly.Msg.TEXT_CHARAT_HELPURL = \"https://github.com/google/blockly/wiki/Text#extracting-text\"; // untranslated\nBlockly.Msg.TEXT_CHARAT_INPUT_INTEXT = \"v texte\";\nBlockly.Msg.TEXT_CHARAT_LAST = \"zisti posledné písmeno\";\nBlockly.Msg.TEXT_CHARAT_RANDOM = \"vyber náhodné písmeno\";\nBlockly.Msg.TEXT_CHARAT_TAIL = \"\"; // untranslated\nBlockly.Msg.TEXT_CHARAT_TOOLTIP = \"Vráti písmeno na určenej pozícii.\";\nBlockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = \"Pridaj prvok do textu.\";\nBlockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = \"spoj\";\nBlockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = \"Pridaj, odstráň alebo zmeň poradie oddielov v tomto textovom bloku.\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = \"po # písmeno od konca\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = \"po písmeno #\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_LAST = \"po koniec\";\nBlockly.Msg.TEXT_GET_SUBSTRING_HELPURL = \"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text\"; // untranslated\nBlockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = \"v texte\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = \"vyber podreťazec od začiatku\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = \"vyber podreťazec od # písmena od konca\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = \"vyber podreťazec od písmena #\";\nBlockly.Msg.TEXT_GET_SUBSTRING_TAIL = \"\"; // untranslated\nBlockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = \"Vráti určenú časť textu.\";\nBlockly.Msg.TEXT_INDEXOF_HELPURL = \"https://github.com/google/blockly/wiki/Text#finding-text\"; // untranslated\nBlockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = \"v texte\";\nBlockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = \"nájdi prvý výskyt textu\";\nBlockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = \"nájdi posledný výskyt textu\";\nBlockly.Msg.TEXT_INDEXOF_TAIL = \"\"; // untranslated\nBlockly.Msg.TEXT_INDEXOF_TOOLTIP = \"Vráti index prvého/posledného výskytu prvého textu v druhom texte. Ak nenájde, vráti %1.\";\nBlockly.Msg.TEXT_ISEMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Text#checking-for-empty-text\"; // untranslated\nBlockly.Msg.TEXT_ISEMPTY_TITLE = \"%1 je prázdny\";\nBlockly.Msg.TEXT_ISEMPTY_TOOLTIP = \"Vráti hodnotu pravda, ak zadaný text je prázdny.\";\nBlockly.Msg.TEXT_JOIN_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-creation\"; // untranslated\nBlockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = \"vytvor text z\";\nBlockly.Msg.TEXT_JOIN_TOOLTIP = \"Vytvor text spojením určitého počtu prvkov.\";\nBlockly.Msg.TEXT_LENGTH_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-modification\"; // untranslated\nBlockly.Msg.TEXT_LENGTH_TITLE = \"dĺžka %1\";\nBlockly.Msg.TEXT_LENGTH_TOOLTIP = \"Vráti počet písmen (s medzerami) v zadanom texte.\";\nBlockly.Msg.TEXT_PRINT_HELPURL = \"https://github.com/google/blockly/wiki/Text#printing-text\"; // untranslated\nBlockly.Msg.TEXT_PRINT_TITLE = \"píš %1\";\nBlockly.Msg.TEXT_PRINT_TOOLTIP = \"Napíš zadaný text, číslo alebo hodnotu.\";\nBlockly.Msg.TEXT_PROMPT_HELPURL = \"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user\"; // untranslated\nBlockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = \"Výzva pre používateľa na zadanie čísla.\";\nBlockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = \"Výzva pre používateľa na zadanie textu.\";\nBlockly.Msg.TEXT_PROMPT_TYPE_NUMBER = \"výzva na zadanie čísla so správou\";\nBlockly.Msg.TEXT_PROMPT_TYPE_TEXT = \"výzva za zadanie textu so správou\";\nBlockly.Msg.TEXT_TEXT_HELPURL = \"https://en.wikipedia.org/wiki/String_(computer_science)\";\nBlockly.Msg.TEXT_TEXT_TOOLTIP = \"Písmeno, slovo alebo riadok textu.\";\nBlockly.Msg.TEXT_TRIM_HELPURL = \"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces\"; // untranslated\nBlockly.Msg.TEXT_TRIM_OPERATOR_BOTH = \"odstráň medzery z oboch strán\";\nBlockly.Msg.TEXT_TRIM_OPERATOR_LEFT = \"odstráň medzery z ľavej strany\";\nBlockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = \"odstráň medzery z pravej strany\";\nBlockly.Msg.TEXT_TRIM_TOOLTIP = \"Vráť kópiu textu bez medzier na jednom alebo oboch koncoch.\";\nBlockly.Msg.TODAY = \"Dnes\";\nBlockly.Msg.UNDO = \"Späť\"; // untranslated\nBlockly.Msg.VARIABLES_DEFAULT_NAME = \"prvok\";\nBlockly.Msg.VARIABLES_GET_CREATE_SET = \"Vytvoriť \\\"nastaviť %1\\\"\";\nBlockly.Msg.VARIABLES_GET_HELPURL = \"https://github.com/google/blockly/wiki/Variables#get\"; // untranslated\nBlockly.Msg.VARIABLES_GET_TOOLTIP = \"Vráti hodnotu tejto premennej.\";\nBlockly.Msg.VARIABLES_SET = \"nastaviť %1 na %2\";\nBlockly.Msg.VARIABLES_SET_CREATE_GET = \"Vytvoriť \\\"získať %1\\\"\";\nBlockly.Msg.VARIABLES_SET_HELPURL = \"https://github.com/google/blockly/wiki/Variables#set\"; // untranslated\nBlockly.Msg.VARIABLES_SET_TOOLTIP = \"Nastaví túto premennú, aby sa rovnala vstupu.\";\nBlockly.Msg.VARIABLE_ALREADY_EXISTS = \"A variable named '%1' already exists.\"; // untranslated\nBlockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;\nBlockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;\nBlockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;\nBlockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;\nBlockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;\nBlockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;\nBlockly.Msg.LISTS_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;\nBlockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;\n\n// GALAXYCODR strings below\nBlockly.Msg.SCRATCH_BLOCKS_event_whenflagclicked = \"Po stlačení %1\";\nBlockly.Msg.SCRATCH_BLOCKS_control_repeat = \"opakovať %1 krát\";\nBlockly.Msg.SCRATCH_BLOCKS_control_repeat_until = \"opakovať kým nie je %1\";\nBlockly.Msg.SCRATCH_BLOCKS_control_if = \"ak %1 tak\";\nBlockly.Msg.SCRATCH_BLOCKS_control_if_else = \"ak %1 tak\";\nBlockly.Msg.SCRATCH_BLOCKS_control_if_else2 = \"inak\";\n\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_move_forward = \"choď dopredu\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_move_forward_param = \"choď dopredu o %1\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_jump = \"preskoč\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_wait = \"čakaj %1\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_disarm = \"počkaj na prekážku\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_use = \"použi predmet\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_turn_left = \"otoč sa doľava %1\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_turn_right = \"otoč sa doprava %1\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_finish = \"cieľ\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_road_left = \"cesta vľavo\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_road_right = \"cesta vpravo\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_road_forward = \"cesta vpredu\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_hole_forward = \"diera vpredu\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_predicate_obstacle_forward = \"prekážka vpredu\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_repeat_until_finish = \"opakuj pokiaľ nie si v cieli\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_turn_left_if_road_left = \"odboč vľavo, ak je cesta vľavo\";\nBlockly.Msg.SCRATCH_BLOCKS_galaxy_turn_right_if_road_right = \"odboč vpravo, ak je cesta vpravo\";\n// This file was automatically generated. Do not modify.\n\n'use strict';\n\ngoog.provide('Blockly.Msg.en');\n\ngoog.require('Blockly.Msg');\n\nBlockly.Msg.ADD_COMMENT = \"Add Comment\";\nBlockly.Msg.CHANGE_VALUE_TITLE = \"Change value:\";\nBlockly.Msg.CLEAN_UP = \"Clean up Blocks\";\nBlockly.Msg.COLLAPSE_ALL = \"Collapse Blocks\";\nBlockly.Msg.COLLAPSE_BLOCK = \"Collapse Block\";\nBlockly.Msg.COLOUR_BLEND_COLOUR1 = \"colour 1\";\nBlockly.Msg.COLOUR_BLEND_COLOUR2 = \"colour 2\";\nBlockly.Msg.COLOUR_BLEND_HELPURL = \"http://meyerweb.com/eric/tools/color-blend/\";\nBlockly.Msg.COLOUR_BLEND_RATIO = \"ratio\";\nBlockly.Msg.COLOUR_BLEND_TITLE = \"blend\";\nBlockly.Msg.COLOUR_BLEND_TOOLTIP = \"Blends two colours together with a given ratio (0.0 - 1.0).\";\nBlockly.Msg.COLOUR_PICKER_HELPURL = \"https://en.wikipedia.org/wiki/Color\";\nBlockly.Msg.COLOUR_PICKER_TOOLTIP = \"Choose a colour from the palette.\";\nBlockly.Msg.COLOUR_RANDOM_HELPURL = \"http://randomcolour.com\";\nBlockly.Msg.COLOUR_RANDOM_TITLE = \"random colour\";\nBlockly.Msg.COLOUR_RANDOM_TOOLTIP = \"Choose a colour at random.\";\nBlockly.Msg.COLOUR_RGB_BLUE = \"blue\";\nBlockly.Msg.COLOUR_RGB_GREEN = \"green\";\nBlockly.Msg.COLOUR_RGB_HELPURL = \"http://www.december.com/html/spec/colorper.html\";\nBlockly.Msg.COLOUR_RGB_RED = \"red\";\nBlockly.Msg.COLOUR_RGB_TITLE = \"colour with\";\nBlockly.Msg.COLOUR_RGB_TOOLTIP = \"Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = \"https://github.com/google/blockly/wiki/Loops#loop-termination-blocks\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = \"break out of loop\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = \"continue with next iteration of loop\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = \"Break out of the containing loop.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = \"Skip the rest of this loop, and continue with the next iteration.\";\nBlockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = \"Warning: This block may only be used within a loop.\";\nBlockly.Msg.CONTROLS_FOREACH_HELPURL = \"https://github.com/google/blockly/wiki/Loops#for-each\";\nBlockly.Msg.CONTROLS_FOREACH_TITLE = \"for each item %1 in list %2\";\nBlockly.Msg.CONTROLS_FOREACH_TOOLTIP = \"For each item in a list, set the variable '%1' to the item, and then do some statements.\";\nBlockly.Msg.CONTROLS_FOR_HELPURL = \"https://github.com/google/blockly/wiki/Loops#count-with\";\nBlockly.Msg.CONTROLS_FOR_TITLE = \"count with %1 from %2 to %3 by %4\";\nBlockly.Msg.CONTROLS_FOR_TOOLTIP = \"Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.\";\nBlockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = \"Add a condition to the if block.\";\nBlockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = \"Add a final, catch-all condition to the if block.\";\nBlockly.Msg.CONTROLS_IF_HELPURL = \"https://github.com/google/blockly/wiki/IfElse\";\nBlockly.Msg.CONTROLS_IF_IF_TOOLTIP = \"Add, remove, or reorder sections to reconfigure this if block.\";\nBlockly.Msg.CONTROLS_IF_MSG_ELSE = \"else\";\nBlockly.Msg.CONTROLS_IF_MSG_ELSEIF = \"else if\";\nBlockly.Msg.CONTROLS_IF_MSG_IF = \"if\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_1 = \"If a value is true, then do some statements.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_2 = \"If a value is true, then do the first block of statements. Otherwise, do the second block of statements.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_3 = \"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.\";\nBlockly.Msg.CONTROLS_IF_TOOLTIP_4 = \"If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.\";\nBlockly.Msg.CONTROLS_REPEAT_HELPURL = \"https://en.wikipedia.org/wiki/For_loop\";\nBlockly.Msg.CONTROLS_REPEAT_INPUT_DO = \"do\";\nBlockly.Msg.CONTROLS_REPEAT_TITLE = \"repeat %1 times\";\nBlockly.Msg.CONTROLS_REPEAT_TOOLTIP = \"Do some statements several times.\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = \"https://github.com/google/blockly/wiki/Loops#repeat\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = \"repeat until\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = \"repeat while\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = \"While a value is false, then do some statements.\";\nBlockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = \"While a value is true, then do some statements.\";\nBlockly.Msg.DELETE_ALL_BLOCKS = \"Delete all %1 blocks?\";\nBlockly.Msg.DELETE_BLOCK = \"Delete Block\";\nBlockly.Msg.DELETE_VARIABLE = \"Delete the '%1' variable\";\nBlockly.Msg.DELETE_VARIABLE_CONFIRMATION = \"Delete %1 uses of the '%2' variable?\";\nBlockly.Msg.DELETE_X_BLOCKS = \"Delete %1 Blocks\";\nBlockly.Msg.DISABLE_BLOCK = \"Disable Block\";\nBlockly.Msg.DUPLICATE_BLOCK = \"Duplicate\";\nBlockly.Msg.ENABLE_BLOCK = \"Enable Block\";\nBlockly.Msg.EXPAND_ALL = \"Expand Blocks\";\nBlockly.Msg.EXPAND_BLOCK = \"Expand Block\";\nBlockly.Msg.EXTERNAL_INPUTS = \"External Inputs\";\nBlockly.Msg.HELP = \"Help\";\nBlockly.Msg.INLINE_INPUTS = \"Inline Inputs\";\nBlockly.Msg.LISTS_CREATE_EMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-empty-list\";\nBlockly.Msg.LISTS_CREATE_EMPTY_TITLE = \"create empty list\";\nBlockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = \"Returns a list, of length 0, containing no data records\";\nBlockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = \"list\";\nBlockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = \"Add, remove, or reorder sections to reconfigure this list block.\";\nBlockly.Msg.LISTS_CREATE_WITH_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-list-with\";\nBlockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = \"create list with\";\nBlockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = \"Add an item to the list.\";\nBlockly.Msg.LISTS_CREATE_WITH_TOOLTIP = \"Create a list with any number of items.\";\nBlockly.Msg.LISTS_GET_INDEX_FIRST = \"first\";\nBlockly.Msg.LISTS_GET_INDEX_FROM_END = \"# from end\";\nBlockly.Msg.LISTS_GET_INDEX_FROM_START = \"#\";\nBlockly.Msg.LISTS_GET_INDEX_GET = \"get\";\nBlockly.Msg.LISTS_GET_INDEX_GET_REMOVE = \"get and remove\";\nBlockly.Msg.LISTS_GET_INDEX_LAST = \"last\";\nBlockly.Msg.LISTS_GET_INDEX_RANDOM = \"random\";\nBlockly.Msg.LISTS_GET_INDEX_REMOVE = \"remove\";\nBlockly.Msg.LISTS_GET_INDEX_TAIL = \"\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = \"Returns the first item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM = \"Returns the item at the specified position in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = \"Returns the last item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = \"Returns a random item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = \"Removes and returns the first item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM = \"Removes and returns the item at the specified position in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = \"Removes and returns the last item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = \"Removes and returns a random item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = \"Removes the first item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM = \"Removes the item at the specified position in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = \"Removes the last item in a list.\";\nBlockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = \"Removes a random item in a list.\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = \"to # from end\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = \"to #\";\nBlockly.Msg.LISTS_GET_SUBLIST_END_LAST = \"to last\";\nBlockly.Msg.LISTS_GET_SUBLIST_HELPURL = \"https://github.com/google/blockly/wiki/Lists#getting-a-sublist\";\nBlockly.Msg.LISTS_GET_SUBLIST_START_FIRST = \"get sub-list from first\";\nBlockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = \"get sub-list from # from end\";\nBlockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = \"get sub-list from #\";\nBlockly.Msg.LISTS_GET_SUBLIST_TAIL = \"\";\nBlockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = \"Creates a copy of the specified portion of a list.\";\nBlockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP = \"%1 is the last item.\";\nBlockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP = \"%1 is the first item.\";\nBlockly.Msg.LISTS_INDEX_OF_FIRST = \"find first occurrence of item\";\nBlockly.Msg.LISTS_INDEX_OF_HELPURL = \"https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list\";\nBlockly.Msg.LISTS_INDEX_OF_LAST = \"find last occurrence of item\";\nBlockly.Msg.LISTS_INDEX_OF_TOOLTIP = \"Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.\";\nBlockly.Msg.LISTS_INLIST = \"in list\";\nBlockly.Msg.LISTS_ISEMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Lists#is-empty\";\nBlockly.Msg.LISTS_ISEMPTY_TITLE = \"%1 is empty\";\nBlockly.Msg.LISTS_ISEMPTY_TOOLTIP = \"Returns true if the list is empty.\";\nBlockly.Msg.LISTS_LENGTH_HELPURL = \"https://github.com/google/blockly/wiki/Lists#length-of\";\nBlockly.Msg.LISTS_LENGTH_TITLE = \"length of %1\";\nBlockly.Msg.LISTS_LENGTH_TOOLTIP = \"Returns the length of a list.\";\nBlockly.Msg.LISTS_REPEAT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#create-list-with\";\nBlockly.Msg.LISTS_REPEAT_TITLE = \"create list with item %1 repeated %2 times\";\nBlockly.Msg.LISTS_REPEAT_TOOLTIP = \"Creates a list consisting of the given value repeated the specified number of times.\";\nBlockly.Msg.LISTS_SET_INDEX_HELPURL = \"https://github.com/google/blockly/wiki/Lists#in-list--set\";\nBlockly.Msg.LISTS_SET_INDEX_INPUT_TO = \"as\";\nBlockly.Msg.LISTS_SET_INDEX_INSERT = \"insert at\";\nBlockly.Msg.LISTS_SET_INDEX_SET = \"set\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = \"Inserts the item at the start of a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM = \"Inserts the item at the specified position in a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = \"Append the item to the end of a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = \"Inserts the item randomly in a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = \"Sets the first item in a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM = \"Sets the item at the specified position in a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = \"Sets the last item in a list.\";\nBlockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = \"Sets a random item in a list.\";\nBlockly.Msg.LISTS_SORT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#sorting-a-list\";\nBlockly.Msg.LISTS_SORT_ORDER_ASCENDING = \"ascending\";\nBlockly.Msg.LISTS_SORT_ORDER_DESCENDING = \"descending\";\nBlockly.Msg.LISTS_SORT_TITLE = \"sort %1 %2 %3\";\nBlockly.Msg.LISTS_SORT_TOOLTIP = \"Sort a copy of a list.\";\nBlockly.Msg.LISTS_SORT_TYPE_IGNORECASE = \"alphabetic, ignore case\";\nBlockly.Msg.LISTS_SORT_TYPE_NUMERIC = \"numeric\";\nBlockly.Msg.LISTS_SORT_TYPE_TEXT = \"alphabetic\";\nBlockly.Msg.LISTS_SPLIT_HELPURL = \"https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists\";\nBlockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = \"make list from text\";\nBlockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = \"make text from list\";\nBlockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = \"Join a list of texts into one text, separated by a delimiter.\";\nBlockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = \"Split text into a list of texts, breaking at each delimiter.\";\nBlockly.Msg.LISTS_SPLIT_WITH_DELIMITER = \"with delimiter\";\nBlockly.Msg.LOGIC_BOOLEAN_FALSE = \"false\";\nBlockly.Msg.LOGIC_BOOLEAN_HELPURL = \"https://github.com/google/blockly/wiki/Logic#values\";\nBlockly.Msg.LOGIC_BOOLEAN_TOOLTIP = \"Returns either true or false.\";\nBlockly.Msg.LOGIC_BOOLEAN_TRUE = \"true\";\nBlockly.Msg.LOGIC_COMPARE_HELPURL = \"https://en.wikipedia.org/wiki/Inequality_(mathematics)\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = \"Return true if both inputs equal each other.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = \"Return true if the first input is greater than the second input.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = \"Return true if the first input is greater than or equal to the second input.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = \"Return true if the first input is smaller than the second input.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = \"Return true if the first input is smaller than or equal to the second input.\";\nBlockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = \"Return true if both inputs are not equal to each other.\";\nBlockly.Msg.LOGIC_NEGATE_HELPURL = \"https://github.com/google/blockly/wiki/Logic#not\";\nBlockly.Msg.LOGIC_NEGATE_TITLE = \"not %1\";\nBlockly.Msg.LOGIC_NEGATE_TOOLTIP = \"Returns true if the input is false. Returns false if the input is true.\";\nBlockly.Msg.LOGIC_NULL = \"null\";\nBlockly.Msg.LOGIC_NULL_HELPURL = \"https://en.wikipedia.org/wiki/Nullable_type\";\nBlockly.Msg.LOGIC_NULL_TOOLTIP = \"Returns null.\";\nBlockly.Msg.LOGIC_OPERATION_AND = \"and\";\nBlockly.Msg.LOGIC_OPERATION_HELPURL = \"https://github.com/google/blockly/wiki/Logic#logical-operations\";\nBlockly.Msg.LOGIC_OPERATION_OR = \"or\";\nBlockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = \"Return true if both inputs are true.\";\nBlockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = \"Return true if at least one of the inputs is true.\";\nBlockly.Msg.LOGIC_TERNARY_CONDITION = \"test\";\nBlockly.Msg.LOGIC_TERNARY_HELPURL = \"https://en.wikipedia.org/wiki/%3F:\";\nBlockly.Msg.LOGIC_TERNARY_IF_FALSE = \"if false\";\nBlockly.Msg.LOGIC_TERNARY_IF_TRUE = \"if true\";\nBlockly.Msg.LOGIC_TERNARY_TOOLTIP = \"Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.\";\nBlockly.Msg.MATH_ADDITION_SYMBOL = \"+\";\nBlockly.Msg.MATH_ARITHMETIC_HELPURL = \"https://en.wikipedia.org/wiki/Arithmetic\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = \"Return the sum of the two numbers.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = \"Return the quotient of the two numbers.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = \"Return the difference of the two numbers.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = \"Return the product of the two numbers.\";\nBlockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = \"Return the first number raised to the power of the second number.\";\nBlockly.Msg.MATH_CHANGE_HELPURL = \"https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter\";\nBlockly.Msg.MATH_CHANGE_TITLE = \"change %1 by %2\";\nBlockly.Msg.MATH_CHANGE_TOOLTIP = \"Add a number to variable '%1'.\";\nBlockly.Msg.MATH_CONSTANT_HELPURL = \"https://en.wikipedia.org/wiki/Mathematical_constant\";\nBlockly.Msg.MATH_CONSTANT_TOOLTIP = \"Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).\";\nBlockly.Msg.MATH_CONSTRAIN_HELPURL = \"https://en.wikipedia.org/wiki/Clamping_%28graphics%29\";\nBlockly.Msg.MATH_CONSTRAIN_TITLE = \"constrain %1 low %2 high %3\";\nBlockly.Msg.MATH_CONSTRAIN_TOOLTIP = \"Constrain a number to be between the specified limits (inclusive).\";\nBlockly.Msg.MATH_DIVISION_SYMBOL = \"÷\";\nBlockly.Msg.MATH_IS_DIVISIBLE_BY = \"is divisible by\";\nBlockly.Msg.MATH_IS_EVEN = \"is even\";\nBlockly.Msg.MATH_IS_NEGATIVE = \"is negative\";\nBlockly.Msg.MATH_IS_ODD = \"is odd\";\nBlockly.Msg.MATH_IS_POSITIVE = \"is positive\";\nBlockly.Msg.MATH_IS_PRIME = \"is prime\";\nBlockly.Msg.MATH_IS_TOOLTIP = \"Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.\";\nBlockly.Msg.MATH_IS_WHOLE = \"is whole\";\nBlockly.Msg.MATH_MODULO_HELPURL = \"https://en.wikipedia.org/wiki/Modulo_operation\";\nBlockly.Msg.MATH_MODULO_TITLE = \"remainder of %1 ÷ %2\";\nBlockly.Msg.MATH_MODULO_TOOLTIP = \"Return the remainder from dividing the two numbers.\";\nBlockly.Msg.MATH_MULTIPLICATION_SYMBOL = \"×\";\nBlockly.Msg.MATH_NUMBER_HELPURL = \"https://en.wikipedia.org/wiki/Number\";\nBlockly.Msg.MATH_NUMBER_TOOLTIP = \"A number.\";\nBlockly.Msg.MATH_ONLIST_HELPURL = \"\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = \"average of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MAX = \"max of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = \"median of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MIN = \"min of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_MODE = \"modes of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = \"random item of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = \"standard deviation of list\";\nBlockly.Msg.MATH_ONLIST_OPERATOR_SUM = \"sum of list\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = \"Return the average (arithmetic mean) of the numeric values in the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MAX = \"Return the largest number in the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = \"Return the median number in the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MIN = \"Return the smallest number in the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_MODE = \"Return a list of the most common item(s) in the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = \"Return a random element from the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = \"Return the standard deviation of the list.\";\nBlockly.Msg.MATH_ONLIST_TOOLTIP_SUM = \"Return the sum of all the numbers in the list.\";\nBlockly.Msg.MATH_POWER_SYMBOL = \"^\";\nBlockly.Msg.MATH_RANDOM_FLOAT_HELPURL = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = \"random fraction\";\nBlockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = \"Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).\";\nBlockly.Msg.MATH_RANDOM_INT_HELPURL = \"https://en.wikipedia.org/wiki/Random_number_generation\";\nBlockly.Msg.MATH_RANDOM_INT_TITLE = \"random integer from %1 to %2\";\nBlockly.Msg.MATH_RANDOM_INT_TOOLTIP = \"Return a random integer between the two specified limits, inclusive.\";\nBlockly.Msg.MATH_ROUND_HELPURL = \"https://en.wikipedia.org/wiki/Rounding\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUND = \"round\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = \"round down\";\nBlockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = \"round up\";\nBlockly.Msg.MATH_ROUND_TOOLTIP = \"Round a number up or down.\";\nBlockly.Msg.MATH_SINGLE_HELPURL = \"https://en.wikipedia.org/wiki/Square_root\";\nBlockly.Msg.MATH_SINGLE_OP_ABSOLUTE = \"absolute\";\nBlockly.Msg.MATH_SINGLE_OP_ROOT = \"square root\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_ABS = \"Return the absolute value of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_EXP = \"Return e to the power of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_LN = \"Return the natural logarithm of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = \"Return the base 10 logarithm of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_NEG = \"Return the negation of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = \"Return 10 to the power of a number.\";\nBlockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = \"Return the square root of a number.\";\nBlockly.Msg.MATH_SUBTRACTION_SYMBOL = \"-\";\nBlockly.Msg.MATH_TRIG_ACOS = \"acos\";\nBlockly.Msg.MATH_TRIG_ASIN = \"asin\";\nBlockly.Msg.MATH_TRIG_ATAN = \"atan\";\nBlockly.Msg.MATH_TRIG_COS = \"cos\";\nBlockly.Msg.MATH_TRIG_HELPURL = \"https://en.wikipedia.org/wiki/Trigonometric_functions\";\nBlockly.Msg.MATH_TRIG_SIN = \"sin\";\nBlockly.Msg.MATH_TRIG_TAN = \"tan\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_ACOS = \"Return the arccosine of a number.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_ASIN = \"Return the arcsine of a number.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_ATAN = \"Return the arctangent of a number.\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_COS = \"Return the cosine of a degree (not radian).\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_SIN = \"Return the sine of a degree (not radian).\";\nBlockly.Msg.MATH_TRIG_TOOLTIP_TAN = \"Return the tangent of a degree (not radian).\";\nBlockly.Msg.NEW_VARIABLE = \"Create variable...\";\nBlockly.Msg.NEW_VARIABLE_TITLE = \"New variable name:\";\nBlockly.Msg.ORDINAL_NUMBER_SUFFIX = \"\";\nBlockly.Msg.PROCEDURES_ALLOW_STATEMENTS = \"allow statements\";\nBlockly.Msg.PROCEDURES_BEFORE_PARAMS = \"with:\";\nBlockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = \"Run the user-defined function '%1'.\";\nBlockly.Msg.PROCEDURES_CALLRETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = \"Run the user-defined function '%1' and use its output.\";\nBlockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = \"with:\";\nBlockly.Msg.PROCEDURES_CREATE_DO = \"Create '%1'\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = \"Describe this function...\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_DO = \"\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = \"do something\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_TITLE = \"to\";\nBlockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = \"Creates a function with no output.\";\nBlockly.Msg.PROCEDURES_DEFRETURN_HELPURL = \"https://en.wikipedia.org/wiki/Procedure_%28computer_science%29\";\nBlockly.Msg.PROCEDURES_DEFRETURN_RETURN = \"return\";\nBlockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = \"Creates a function with an output.\";\nBlockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = \"Warning: This function has duplicate parameters.\";\nBlockly.Msg.PROCEDURES_HIGHLIGHT_DEF = \"Highlight function definition\";\nBlockly.Msg.PROCEDURES_IFRETURN_HELPURL = \"http://c2.com/cgi/wiki?GuardClause\";\nBlockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = \"If a value is true, then return a second value.\";\nBlockly.Msg.PROCEDURES_IFRETURN_WARNING = \"Warning: This block may be used only within a function definition.\";\nBlockly.Msg.PROCEDURES_MUTATORARG_TITLE = \"input name:\";\nBlockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = \"Add an input to the function.\";\nBlockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = \"inputs\";\nBlockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = \"Add, remove, or reorder inputs to this function.\";\nBlockly.Msg.REDO = \"Redo\";\nBlockly.Msg.REMOVE_COMMENT = \"Remove Comment\";\nBlockly.Msg.RENAME_VARIABLE = \"Rename variable...\";\nBlockly.Msg.RENAME_VARIABLE_TITLE = \"Rename all '%1' variables to:\";\nBlockly.Msg.TEXT_APPEND_APPENDTEXT = \"append text\";\nBlockly.Msg.TEXT_APPEND_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-modification\";\nBlockly.Msg.TEXT_APPEND_TO = \"to\";\nBlockly.Msg.TEXT_APPEND_TOOLTIP = \"Append some text to variable '%1'.\";\nBlockly.Msg.TEXT_CHANGECASE_HELPURL = \"https://github.com/google/blockly/wiki/Text#adjusting-text-case\";\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = \"to lower case\";\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = \"to Title Case\";\nBlockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = \"to UPPER CASE\";\nBlockly.Msg.TEXT_CHANGECASE_TOOLTIP = \"Return a copy of the text in a different case.\";\nBlockly.Msg.TEXT_CHARAT_FIRST = \"get first letter\";\nBlockly.Msg.TEXT_CHARAT_FROM_END = \"get letter # from end\";\nBlockly.Msg.TEXT_CHARAT_FROM_START = \"get letter #\";\nBlockly.Msg.TEXT_CHARAT_HELPURL = \"https://github.com/google/blockly/wiki/Text#extracting-text\";\nBlockly.Msg.TEXT_CHARAT_INPUT_INTEXT = \"in text\";\nBlockly.Msg.TEXT_CHARAT_LAST = \"get last letter\";\nBlockly.Msg.TEXT_CHARAT_RANDOM = \"get random letter\";\nBlockly.Msg.TEXT_CHARAT_TAIL = \"\";\nBlockly.Msg.TEXT_CHARAT_TOOLTIP = \"Returns the letter at the specified position.\";\nBlockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = \"Add an item to the text.\";\nBlockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = \"join\";\nBlockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = \"Add, remove, or reorder sections to reconfigure this text block.\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = \"to letter # from end\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = \"to letter #\";\nBlockly.Msg.TEXT_GET_SUBSTRING_END_LAST = \"to last letter\";\nBlockly.Msg.TEXT_GET_SUBSTRING_HELPURL = \"https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text\";\nBlockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = \"in text\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = \"get substring from first letter\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = \"get substring from letter # from end\";\nBlockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = \"get substring from letter #\";\nBlockly.Msg.TEXT_GET_SUBSTRING_TAIL = \"\";\nBlockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = \"Returns a specified portion of the text.\";\nBlockly.Msg.TEXT_INDEXOF_HELPURL = \"https://github.com/google/blockly/wiki/Text#finding-text\";\nBlockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = \"in text\";\nBlockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = \"find first occurrence of text\";\nBlockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = \"find last occurrence of text\";\nBlockly.Msg.TEXT_INDEXOF_TAIL = \"\";\nBlockly.Msg.TEXT_INDEXOF_TOOLTIP = \"Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.\";\nBlockly.Msg.TEXT_ISEMPTY_HELPURL = \"https://github.com/google/blockly/wiki/Text#checking-for-empty-text\";\nBlockly.Msg.TEXT_ISEMPTY_TITLE = \"%1 is empty\";\nBlockly.Msg.TEXT_ISEMPTY_TOOLTIP = \"Returns true if the provided text is empty.\";\nBlockly.Msg.TEXT_JOIN_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-creation\";\nBlockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = \"create text with\";\nBlockly.Msg.TEXT_JOIN_TOOLTIP = \"Create a piece of text by joining together any number of items.\";\nBlockly.Msg.TEXT_LENGTH_HELPURL = \"https://github.com/google/blockly/wiki/Text#text-modification\";\nBlockly.Msg.TEXT_LENGTH_TITLE = \"length of %1\";\nBlockly.Msg.TEXT_LENGTH_TOOLTIP = \"Returns the number of letters (including spaces) in the provided text.\";\nBlockly.Msg.TEXT_PRINT_HELPURL = \"https://github.com/google/blockly/wiki/Text#printing-text\";\nBlockly.Msg.TEXT_PRINT_TITLE = \"print %1\";\nBlockly.Msg.TEXT_PRINT_TOOLTIP = \"Print the specified text, number or other value.\";\nBlockly.Msg.TEXT_PROMPT_HELPURL = \"https://github.com/google/blockly/wiki/Text#getting-input-from-the-user\";\nBlockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = \"Prompt for user for a number.\";\nBlockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = \"Prompt for user for some text.\";\nBlockly.Msg.TEXT_PROMPT_TYPE_NUMBER = \"prompt for number with message\";\nBlockly.Msg.TEXT_PROMPT_TYPE_TEXT = \"prompt for text with message\";\nBlockly.Msg.TEXT_TEXT_HELPURL = \"https://en.wikipedia.org/wiki/String_(computer_science)\";\nBlockly.Msg.TEXT_TEXT_TOOLTIP = \"A letter, word, or line of text.\";\nBlockly.Msg.TEXT_TRIM_HELPURL = \"https://github.com/google/blockly/wiki/Text#trimming-removing-spaces\";\nBlockly.Msg.TEXT_TRIM_OPERATOR_BOTH = \"trim spaces from both sides of\";\nBlockly.Msg.TEXT_TRIM_OPERATOR_LEFT = \"trim spaces from left side of\";\nBlockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = \"trim spaces from right side of\";\nBlockly.Msg.TEXT_TRIM_TOOLTIP = \"Return a copy of the text with spaces removed from one or both ends.\";\nBlockly.Msg.TODAY = \"Today\";\nBlockly.Msg.UNDO = \"Undo\";\nBlockly.Msg.VARIABLES_DEFAULT_NAME = \"item\";\nBlockly.Msg.VARIABLES_GET_CREATE_SET = \"Create 'set %1'\";\nBlockly.Msg.VARIABLES_GET_HELPURL = \"https://github.com/google/blockly/wiki/Variables#get\";\nBlockly.Msg.VARIABLES_GET_TOOLTIP = \"Returns the value of this variable.\";\nBlockly.Msg.VARIABLES_SET = \"set %1 to %2\";\nBlockly.Msg.VARIABLES_SET_CREATE_GET = \"Create 'get %1'\";\nBlockly.Msg.VARIABLES_SET_HELPURL = \"https://github.com/google/blockly/wiki/Variables#set\";\nBlockly.Msg.VARIABLES_SET_TOOLTIP = \"Sets this variable to be equal to the input.\";\nBlockly.Msg.VARIABLE_ALREADY_EXISTS = \"A variable named '%1' already exists.\";\nBlockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;\nBlockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;\nBlockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;\nBlockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;\nBlockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;\nBlockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;\nBlockly.Msg.LISTS_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;\nBlockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;\nBlockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;\nBlockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;\nBlockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;\nfunction blocklyPatchColors() {\n\tBlockly.Colours.control.primary = '#f3af30';\n\tBlockly.Colours.control.secondary = '#ffdd4d';\n\tBlockly.Colours.control.tertiary = '#c38b21';\n\tBlockly.Colours.motion.primary = '#4b67b0';\n\tBlockly.Colours.motion.secondary = '#6c8cde';\n\tBlockly.Colours.motion.tertiary = '#384f8b';\n\tBlockly.Colours.sounds.primary = '#5b4597';\n\tBlockly.Colours.sounds.secondary = '#7e65c2';\n\tBlockly.Colours.sounds.tertiary = '#453377';\n\tBlockly.Colours.pen.primary = '#077d5b';\n\tBlockly.Colours.pen.secondary = '#1fa47e';\n\tBlockly.Colours.pen.tertiary = '#006145';\n\tBlockly.Colours.event.primary = '#c78330';\n\tBlockly.Colours.event.secondary = '#f8ab4d';\n\tBlockly.Colours.event.tertiary = '#9f6621';\n}\n\nfunction blocklyPatchTranslations() {\n Blockly.Block.prototype._jsonInitOrig = Blockly.Block.prototype.jsonInit;\n Blockly.Block.prototype.jsonInit = function(json) {\n var id = json.id || json.type; // this is somewhat random in scratch-blocks\n\n if (id) {\n if (json.message0 \u0026\u0026 Blockly.Msg['SCRATCH_BLOCKS_'+id]) {\n json.message0 = Blockly.Msg['SCRATCH_BLOCKS_'+id];\n }\n\n for (var i = 1; i \u003c 4; i++) {\n if (json['message'+i] \u0026\u0026 Blockly.Msg['SCRATCH_BLOCKS_'+id+i]) {\n json['message'+i] = Blockly.Msg['SCRATCH_BLOCKS_'+id+i];\n }\n }\n }\n\n if (id == 'event_whenflagclicked') {\n json.args0[0].width = 20;\n json.args0[0].height = 20;\n }\n\n this._jsonInitOrig(json);\n }\n}\n\n/**\n * Adds our custom Scratch/Blockly blocks to the global Blockly.Blocks\n */\n function blocklyAddCustomBlocks() {\n Blockly.Blocks['galaxy_move_forward'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_move_forward\",\n \"message0\": \"move forward\",\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_move_forward_param'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_move_forward_param\",\n \"message0\": \"move forward %1\",\n \"args0\": [\n {\n \"type\": \"input_value\",\n \"name\": \"STEPS\",\n \"check\": \"Number\"\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_jump'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_jump\",\n \"message0\": \"jump over\",\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.pen.primary,\n \"colourSecondary\": Blockly.Colours.pen.secondary,\n \"colourTertiary\": Blockly.Colours.pen.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_disarm'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_disarm\",\n \"message0\": \"wait for trap\",\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.pen.primary,\n \"colourSecondary\": Blockly.Colours.pen.secondary,\n \"colourTertiary\": Blockly.Colours.pen.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_wait'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_wait\",\n \"message0\": \"wait %1\",\n \"args0\": [\n {\n \"type\": \"input_value\",\n \"name\": \"STEPS\",\n \"check\": \"Number\"\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.pen.primary,\n \"colourSecondary\": Blockly.Colours.pen.secondary,\n \"colourTertiary\": Blockly.Colours.pen.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_turn_left'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_turn_left\",\n \"message0\": \"turn left %1\",\n \"args0\": [\n {\n \"type\": \"field_image\",\n \"src\": \"/assets/icons/rotate-ccw.svg\",\n \"width\": 20,\n \"height\": 20,\n \"alt\": \"left\",\n \"flip_rtl\": false\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_turn_right'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_turn_right\",\n \"message0\": \"turn right %1\",\n \"args0\": [\n {\n \"type\": \"field_image\",\n \"src\": \"/assets/icons/rotate-cw.svg\",\n \"width\": 20,\n \"height\": 20,\n \"alt\": \"right\",\n \"flip_rtl\": false\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n\n //////////////\n // predicates - insertable \u003cblocks\u003e with a return value\n //////////////\n\n Blockly.Blocks['galaxy_predicate_finish'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_finish\",\n \"message0\": \"in finish\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n Blockly.Blocks['galaxy_predicate_road_left'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_road_left\",\n \"message0\": \"road left\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n Blockly.Blocks['galaxy_predicate_road_right'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_road_right\",\n \"message0\": \"road right\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n Blockly.Blocks['galaxy_predicate_road_forward'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_road_forward\",\n \"message0\": \"road in front\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n Blockly.Blocks['galaxy_predicate_obstacle_forward'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_obstacle_forward\",\n \"message0\": \"hole in front\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n Blockly.Blocks['galaxy_predicate_hole_forward'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_predicate_hole_forward\",\n \"message0\": \"obstacle in front\",\n \"inputsInline\": true,\n \"output\": \"Boolean\",\n \"category\": Blockly.Categories.sensing,\n \"colour\": Blockly.Colours.sensing.primary,\n \"colourSecondary\": Blockly.Colours.sensing.secondary,\n \"colourTertiary\": Blockly.Colours.sensing.tertiary,\n \"outputShape\": Blockly.OUTPUT_SHAPE_HEXAGONAL\n });\n }\n };\n\n\n ////////////////\n // combo blocks\n ////////////////\n\n Blockly.Blocks['galaxy_turn_left_if_road_left'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_turn_left_if_road_left\",\n \"message0\": \"turn left if road on the left\",\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_turn_right_if_road_right'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_turn_right_if_road_right\",\n \"message0\": \"turn right if road on the right\",\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"colour\": Blockly.Colours.motion.primary,\n \"colourSecondary\": Blockly.Colours.motion.secondary,\n \"colourTertiary\": Blockly.Colours.motion.tertiary\n });\n }\n };\n\n Blockly.Blocks['galaxy_repeat_until_finish'] = {\n init: function() {\n this.jsonInit({\n \"id\": \"galaxy_repeat_until_finish\",\n \"message0\": \"repeat until in finish\",\n \"message1\": \"%1\", // Statement\n \"message2\": \"%1\", // Icon\n \"lastDummyAlign2\": \"RIGHT\",\n \"args1\": [\n {\n \"type\": \"input_statement\",\n \"name\": \"SUBSTACK\"\n }\n ],\n \"args2\": [\n {\n \"type\": \"field_image\",\n \"src\": Blockly.mainWorkspace.options.pathToMedia + \"/c_arrow.svg\",\n \"width\": 16,\n \"height\": 16,\n \"alt\": \"*\",\n \"flip_rtl\": true\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"category\": Blockly.Categories.control,\n \"colour\": Blockly.Colours.control.primary,\n \"colourSecondary\": Blockly.Colours.control.secondary,\n \"colourTertiary\": Blockly.Colours.control.tertiary\n });\n }\n };\n\n //////////////////////////\n // patched scratch-blocks\n //////////////////////////\n\n Blockly.Blocks['control_repeat_until'] = {\n /**\n * Block for repeat until a condition becomes true.\n */\n init: function() {\n this.jsonInit({\n \"id\": \"control_repeat_until\", // added this\n \"message0\": \"repeat until %1\",\n \"message1\": \"%1\",\n \"message2\": \"%1\",\n \"lastDummyAlign2\": \"RIGHT\",\n \"args0\": [\n {\n \"type\": \"input_value\",\n \"name\": \"CONDITION\",\n \"check\": \"Boolean\"\n }\n ],\n \"args1\": [\n {\n \"type\": \"input_statement\",\n \"name\": \"SUBSTACK\"\n }\n ],\n \"args2\": [\n {\n \"type\": \"field_image\",\n \"src\": Blockly.mainWorkspace.options.pathToMedia + \"/c_arrow.svg\",\n \"width\": 16,\n \"height\": 16,\n \"alt\": \"*\",\n \"flip_rtl\": true\n }\n ],\n \"inputsInline\": true,\n \"previousStatement\": null,\n \"nextStatement\": null,\n \"category\": Blockly.Categories.control,\n \"colour\": Blockly.Colours.control.primary,\n \"colourSecondary\": Blockly.Colours.control.secondary,\n \"colourTertiary\": Blockly.Colours.control.tertiary\n });\n }\n };\n };\nvar studentBlocklyWs, solutionBlocklyWs;\n\nfunction initializeBlockly() {\n var blocklyOptions = {\n readOnly: true,\n scrollbars: true,\n trashcan: false,\n media: '/assets/scratch-blocks/',\n zoom: {\n controls: false,\n wheel: true,\n startScale: 0.85,\n },\n colours: {\n workspace: 'transparent',\n flyout: '#000000',\n insertionMarker: '#FFFFFF',\n insertionMarkerOpacity: 0.3,\n fieldShadow: 'rgba(255, 255, 255, 0.3)',\n dragShadowOpacity: 0.6\n }\n };\n\n blocklyPatchColors();\n blocklyAddCustomBlocks();\n\n studentBlocklyWs = window.Blockly.inject($('#level-solution .student-blocks')[0], blocklyOptions);\n solutionBlocklyWs = window.Blockly.inject($('#level-solution .solution-blocks')[0], blocklyOptions);\n\n $('#level-solution-modal').on('show.bs.modal', function (e) {\n $('#level-solution-modal .modal-body').append($('#level-solution'));\n });\n\n $('#level-solution-modal').on('hidden.bs.modal', function (e) {\n $('#level-solution-container').append($('#level-solution'));\n });\n}\n\n$(document).ready(function(){\n if($('[data-component=\"classroom-progress\"]').length) {\n blocklyPatchTranslations();\n }\n});\n\n$(document).on('turbolinks:load', function(){\n if($('[data-component=\"classroom-progress\"]').length) {\n initializeBlockly();\n }\n});\n$(document).on('turbolinks:load', function() {\n 'use strict';\n\n var bannerComponent = (function(){\n var initialize = function() {\n var bannerEl = $('[data-component=\"banner\"]');\n var closeButtonEl = bannerEl.find('button');\n\n if(!Cookies.get('hideBanner')) {\n bannerEl.show();\n }\n\n closeButtonEl.on('click', function(evt){\n Cookies.set('hideBanner', true);\n });\n }\n\n return {\n initialize: initialize\n }\n })();\n\n if($('[data-component=\"banner\"]').length) {\n bannerComponent.initialize();\n }\n});\n$(document).on(\"turbolinks:load\", function() {\n $('[data-component=\"cookies-notice\"]').modal({\n // Prevent dismissing.\n backdrop: 'static',\n keyboard: false\n }).show()\n});\n$(document).on(\"turbolinks:load\", function () {\n \"use strict\"\n\n var countdownComponent = (function () {\n var updateCounter = function (counterEl, remainingTime) {\n if (remainingTime.elapsed) {\n window.location.reload()\n }\n\n counterEl.text(remainingTime.strftime(\"%Dd %Hh %Mm %Ss\"))\n }\n\n var initialize = function () {\n var countdownTimers = $('[data-component=\"countdown\"]')\n\n countdownTimers.each(function (index) {\n var countdownTimer = $(this)\n var finalDate = Date.parse($(this).data(\"final-date\"))\n\n countdownTimer.countdown(finalDate, function (remainingTime) {\n updateCounter(countdownTimer, remainingTime)\n })\n })\n }\n\n return {\n initialize: initialize,\n }\n })()\n\n if ($('[data-component=\"countdown\"]').length) {\n countdownComponent.initialize()\n }\n});\n$(document).on('turbolinks:load', function(){\n var fileInputComponent = (function(){\n function initializeCustomFileInput() {\n var clearButtons = $('[data-functionality=\"clear-preview\"]');\n\n clearButtons.click(function(e){\n var btn = $(this);\n\n var customFileInput = btn.closest('[data-component=\"custom-file-input\"]');\n var filePreview = customFileInput.find('[data-component=\"file-preview\"]');\n var fileInput = customFileInput.find('[data-component=\"file-input\"]');\n\n e.preventDefault();\n\n customFileInput.find(btn.data('target')).val('');\n\n filePreview.hide();\n fileInput.show();\n });\n }\n\n function initialize() {\n bsCustomFileInput.init();\n\n if($('[data-component=\"custom-file-input\"]').length){\n initializeCustomFileInput();\n }\n }\n\n return {\n initialize: initialize\n }\n })();\n\n if($('[data-component=\"file-input\"]').length) {\n fileInputComponent.initialize();\n }\n});\n/*\n * Adds prev and next functionality (left and right arrows) to tab navigation\n */\n\n$(document).on(\"turbolinks:load\", function() {\n var arrowNavigationComponent = (function() {\n var initialize = function() {\n $('[data-functionality=\"previous-item\"]').click(function(evt) {\n evt.preventDefault()\n\n $('.arrow-nav a[href=\"' + $(this).attr(\"href\") + '\"]').tab(\"show\")\n })\n\n $('[data-functionality=\"next-item\"]').click(function(evt) {\n evt.preventDefault()\n\n $('.arrow-nav a[href=\"' + $(this).attr(\"href\") + '\"]').tab(\"show\")\n })\n }\n\n return {\n initialize: initialize\n }\n })()\n\n if ($('[data-component=\"arrow-navigation\"]').length) {\n arrowNavigationComponent.initialize()\n }\n});\n$(document).on('turbolinks:load', function(){\n var navbarComponent = (function(){\n var initialize = function(){\n $(window).scroll(function(){\n var navbar = $('.fixed-top');\n\n navbar.toggleClass('scrolled', $(this).scrollTop() \u003e navbar.height());\n });\n }\n\n return {\n initialize: initialize\n }\n })();\n\n navbarComponent.initialize();\n});\n$(document).on('turbolinks:load', function(){\n var smoothScrollComponent = (function(){\n\n var initialize = function(){\n $('[data-component=\"smooth-scroll\"]').on('click', function(evt) {\n evt.preventDefault();\n\n var targetElId = evt.target.href.split(\"#\")[1];\n var navbarToggler = $('.navbar-toggler');\n\n if(!navbarToggler.hasClass('collapsed')) {\n navbarToggler.trigger('click');\n }\n\n if(typeof targetElId === 'string'){\n document.querySelector(\"#\" + targetElId).scrollIntoView({\n behaviour: 'smooth'\n });\n } else {\n throw new Error('Invalid target id');\n };\n });\n }\n\n return {\n initialize: initialize\n }\n })();\n\n if($('[data-component=\"smooth-scroll\"]').length) {\n smoothScrollComponent.initialize();\n }\n});\n$(document).on('turbolinks:load', function(){\n var voteModal = (function(){\n var initialize = function(){\n $('#competition-vote-modal').on('shown.bs.modal', function(){\n $('input[type=\"email\"]').trigger('focus');\n });\n }\n\n return {\n initialize: initialize\n }\n })();\n\n if($('#competition-vote-modal').length) {\n voteModal.initialize();\n }\n});\n$(document).on('turbolinks:load', function(){\n var tooltipComponent = (function(){\n var initialize = function(){\n $('[data-toggle=\"tooltip\"]').tooltip();\n }\n\n return {\n initialize: initialize\n }\n\n })();\n\n if($('[data-toggle=\"tooltip\"]').length) {\n tooltipComponent.initialize();\n }\n});\nfunction showCorrespondingField(registrationType) {\n if(registrationType == 'email') {\n $('[data-field=\"email\"]').show();\n $('[data-field=\"nick\"]').hide();\n } else {\n $('[data-field=\"email\"]').hide();\n $('[data-field=\"nick\"]').show();\n }\n}\n\nfunction initializeRegistrationForm() {\n if(!$('[data-field=\"registration-type\"]').length) { return; }\n\n var registrationTypeRadioButtons = $('[data-field=\"registration-type\"]');\n var selectedRegistrationType = $('[data-field=\"registration-type\"]:checked');\n\n showCorrespondingField(selectedRegistrationType.val());\n\n registrationTypeRadioButtons.click(function(){\n showCorrespondingField($(this).val());\n });\n}\n\n$(document).on('turbolinks:load', function(){\n initializeRegistrationForm();\n});\n// FacebookSDK\n// https://developers.facebook.com/docs/plugins/page-plugin/\n(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s);\n js.id = id;\n js.src = \"//connect.facebook.net/sk_SK/sdk.js#xfbml=1\u0026version=v2.8\";\n fjs.parentNode.insertBefore(js, fjs);\n}(document, 'script', 'facebook-jssdk')); // Replace 'facebook-jssdk' with your page id.\n\n// Compatibility with Turbolinks 5\n(function($) {\n var fbRoot;\n\n function saveFacebookRoot() {\n if ($('#fb-root').length) {\n fbRoot = $('#fb-root').detach();\n }\n };\n\n function restoreFacebookRoot() {\n if (fbRoot != null) {\n if ($('#fb-root').length) {\n $('#fb-root').replaceWith(fbRoot);\n } else {\n $('body').append(fbRoot);\n }\n }\n\n if (typeof FB !== \"undefined\" \u0026\u0026 FB !== null) { // Instance of FacebookSDK\n FB.XFBML.parse();\n }\n };\n\n document.addEventListener('turbolinks:request-start', saveFacebookRoot)\n document.addEventListener('turbolinks:load', restoreFacebookRoot)\n}(jQuery));\n// This is a manifest file that'll be compiled into application.js, which will include all the files\n// listed below.\n//\n// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's\n// vendor/assets/javascripts directory can be referenced here using a relative path.\n//\n// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the\n// compiled file. JavaScript code in this file should be added after the last require_* statement.\n//\n// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details\n// about supported directives.\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// require components/video\n\n\n\n\n\n\n\n// Enable this when we need the app to work offline.\n// if (\"serviceWorker\" in navigator) {\n// navigator.serviceWorker.register(\"/service-worker.js\")\n// }\n\nwindow.addEventListener(\"turbolinks:before-render\", function () {\n window.zEACLoaded = undefined\n});\n"]}