{"version":3,"sources":["webpack:///webpack/bootstrap 6db95d49b9f785d44beb?7183","webpack:///../~/jquery/dist/jquery.js","webpack:///./javascripts/bootstrap.js","webpack:///./javascripts/loading-indicator.js","webpack:///./javascripts/persistent-tabs.js","webpack:///./styles/_bootstrap.scss","webpack:///./styles/loading.scss","webpack:///./styles/site.scss","webpack:///./index.js"],"names":["jQuery","Error","$","version","fn","jquery","split","transitionEnd","el","document","createElement","transEndEventNames","WebkitTransition","MozTransition","OTransition","transition","name","style","undefined","end","emulateTransitionEnd","duration","called","$el","one","callback","trigger","support","setTimeout","event","special","bsTransitionEnd","bindType","delegateType","handle","e","target","is","handleObj","handler","apply","arguments","dismiss","Alert","on","close","VERSION","TRANSITION_DURATION","prototype","$this","selector","attr","replace","$parent","preventDefault","length","closest","Event","isDefaultPrevented","removeClass","removeElement","detach","remove","hasClass","Plugin","option","each","data","call","old","alert","Constructor","noConflict","Button","element","options","$element","extend","DEFAULTS","isLoading","loadingText","setState","state","d","val","resetText","proxy","addClass","prop","removeAttr","toggle","changed","$input","find","toggleClass","button","$btn","first","test","type","Carousel","$indicators","paused","sliding","interval","$active","$items","keyboard","keydown","pause","documentElement","cycle","wrap","tagName","which","prev","next","clearInterval","setInterval","getItemIndex","item","parent","children","index","getItemForDirection","direction","active","activeIndex","willWrap","delta","itemIndex","eq","to","pos","that","slide","$next","isCycling","relatedTarget","slideEvent","$nextIndicator","slidEvent","offsetWidth","join","action","carousel","clickHandler","href","$target","slideIndex","window","$carousel","Collapse","$trigger","id","transitioning","getParent","addAriaAndCollapsedClass","dimension","hasWidth","show","activesData","actives","startEvent","complete","scrollSize","camelCase","hide","offsetHeight","i","getTargetFromTrigger","isOpen","collapse","backdrop","Dropdown","clearMenus","contains","isActive","insertAfter","stopPropagation","desc","dropdown","Modal","$body","body","$dialog","$backdrop","isShown","originalBodyPad","scrollbarWidth","ignoreBackdropClick","remote","load","BACKDROP_TRANSITION_DURATION","_relatedTarget","checkScrollbar","setScrollbar","escape","resize","appendTo","scrollTop","adjustDialog","enforceFocus","off","hideModal","has","handleUpdate","resetAdjustments","resetScrollbar","removeBackdrop","animate","doAnimate","currentTarget","focus","callbackRemove","modalIsOverflowing","scrollHeight","clientHeight","css","paddingLeft","bodyIsOverflowing","paddingRight","fullWindowWidth","innerWidth","documentElementRect","getBoundingClientRect","right","Math","abs","left","clientWidth","measureScrollbar","bodyPad","parseInt","scrollDiv","className","append","removeChild","modal","showEvent","Tooltip","enabled","timeout","hoverState","inState","init","animation","placement","template","title","delay","html","container","viewport","padding","getOptions","$viewport","isFunction","click","hover","constructor","triggers","eventIn","eventOut","enter","leave","_options","fixTitle","getDefaults","getDelegateOptions","defaults","key","value","obj","self","tip","clearTimeout","isInStateTrue","hasContent","inDom","ownerDocument","$tip","tipId","getUID","setContent","autoToken","autoPlace","top","display","getPosition","actualWidth","actualHeight","orgPlacement","viewportDim","bottom","width","calculatedOffset","getCalculatedOffset","applyPlacement","prevHoverState","offset","height","marginTop","marginLeft","isNaN","setOffset","using","props","round","getViewportAdjustedDelta","isVertical","arrowDelta","arrowOffsetPosition","replaceArrow","arrow","getTitle","$e","isBody","elRect","isSvg","SVGElement","elOffset","scroll","outerDims","viewportPadding","viewportDimensions","topEdgeOffset","bottomEdgeOffset","leftEdgeOffset","rightEdgeOffset","o","prefix","random","getElementById","$arrow","enable","disable","toggleEnabled","destroy","removeData","tooltip","Popover","content","getContent","popover","ScrollSpy","$scrollElement","offsets","targets","activeTarget","process","refresh","getScrollHeight","max","offsetMethod","offsetBase","isWindow","map","$href","sort","a","b","push","maxScroll","activate","clear","parents","parentsUntil","scrollspy","$spy","Tab","$ul","$previous","hideEvent","tab","Affix","checkPosition","checkPositionWithEventLoop","affixed","unpin","pinnedOffset","RESET","getState","offsetTop","offsetBottom","position","targetHeight","initializing","colliderTop","colliderHeight","getPinnedOffset","affix","affixType","contentUrl","paneId","prevPaneId","reload","isLoaded","result","iFrameResize","log","sessionStorage","setItem","activeTabId","getItem","activeTab"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF,gCAAgC;AAChC;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA,gBAAgB,IAAI;;AAEpB;AACA;;AAEA;;AAEA;AACA;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS;;AAET;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ,6BAA6B;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf,SAAS;;AAET;AACA,QAAQ,iCAAiC;AACzC,QAAQ,oBAAoB;AAC5B,QAAQ,sCAAsC;AAC9C,QAAQ;AACR,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,gBAAgB,aAAa,EAAE;AAC/B;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,4DAA4D;;AAE5D;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA;AACA;AACA;AACA,6DAA6D;;AAE7D;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;;AAEhE;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,iEAAiE,UAAU;AAC3E,sCAAsC,2BAA2B;AACjE;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,UAAU;AACpB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,YAAY,uEAAuE;AACnF;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,2DAA2D;;AAE3D;AACA;AACA,oFAAoF;;AAEpF;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,QAAQ,SAAS;AACjB;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iDAAiD;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,UAAU,wCAAwC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,QAAQ;AACnB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA,CAAC;;;;AAID;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA,QAAQ,GAAG;AACX;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;;;;AAIA;;AAEA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB,0BAA0B,wBAAwB;;AAElD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,0CAA0C;AAC1C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;;AAIA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,wCAAwC,sCAAsC;AAC9E,oCAAoC,uCAAuC;AAC3E,oCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,OAAO;AACP;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,uBAAuB,aAAa;AACpC,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,SAAS;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;;AAEA;;AAEA;;;;AAIA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,EAAE;AACF;;AAEA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,gBAAgB;AAClB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD;;AAEA;AACA;;AAEA,cAAc,sBAAsB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uCAAuC;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,uDAAuD;AAC9E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,+BAA+B;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,SAAS,qCAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA,SAAS,8BAA8B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAW;AACpB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,sBAAsB,cAAc;AACpC,gBAAgB,WAAW,YAAY;AACvC,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,UAAU,SAAS,MAAM,aAAa;AAC3E,aAAa,eAAe;AAC5B;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,+DAA+D;AAC3E;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA,QAAQ,OAAO;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,UAAU,OAAO;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,iDAAiD,0BAA0B;AAC3E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,gBAAgB;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,cAAc;AAClC,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B,WAAW,kBAAkB;AAC7B,cAAc;AACd,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;;;AAKD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iCAAiC;AACjC;AACA;;AAEA,IAAI;AACJ;;AAEA,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA;AACA;AACA,UAAU,KAAK;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,qCAAqC;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb,KAAK;AACL;;AAEA,WAAW;AACX,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA,sBAAsB;AACtB,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;AAKD;AACA;AACA;AACA,EAAE;AACF;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB,4DAA4D,eAAe;AAC3E;AACA;;AAEA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA,cAAc,sDAAsD;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AA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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 91);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 6db95d49b9f785d44beb","/*!\n * jQuery JavaScript Library v3.2.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: 2017-03-20T18:59Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && 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 <= 12 - 13+, Firefox <=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 document = window.document;\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\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\n\n\n\tfunction DOMEval( code, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar script = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\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.2.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\n\t// Support: Android <=4.0 only\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\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 < 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\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < 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\" && !jQuery.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 < 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\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( 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 && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && Array.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\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\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// As of jQuery 3.0, isNumeric is limited to\n\t\t// strings and numbers (primitives or objects)\n\t\t// that can be coerced to finite numbers (gh-2662)\n\t\tvar type = jQuery.type( obj );\n\t\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t\t// subtraction forces infinities to NaN\n\t\t\t!isNaN( obj - parseFloat( obj ) );\n\t},\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\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\n\t\t/* eslint-disable no-unused-vars */\n\t\t// See https://github.com/eslint/eslint/issues/6125\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\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android <=2.3 only (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tDOMEval( code );\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE <=9 - 11, Edge 12 - 13\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\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 < 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// Support: Android <=4.0 only\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\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 <=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 < 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 < 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 < 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 concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\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 && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.3\n * https://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-08-08\n */\n(function( window ) {\n\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\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\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\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 < 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|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// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\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\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\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 + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\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)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\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 + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\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-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 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 ) + \"\\\\\" + ch.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\tdisabledAncestor = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && (\"form\" in elem || \"label\" in elem);\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\t// Support: Android<4.0\n\t// Detect silently failing push.apply\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\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\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\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 && 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 && nodeType !== 9 && 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\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\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 && (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 && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\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]) && support.getElementsByClassName &&\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 &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\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 + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\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\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\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\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\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\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 && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\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\" && 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\") && 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] > 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 && 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 &&\n\t\t\t\t\t\tdisabledAncestor( 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 && typeof context.getElementsByTagName !== \"undefined\" && 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\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\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\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\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( preferredDoc !== document &&\n\t\t(subWindow = document.defaultView) && 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/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\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<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\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\" && 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\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && 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\" && 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 && 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 && 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\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 && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && 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\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( el ) {\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 = \"\" +\n\t\t\t\t\"\";\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<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.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// 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\t\t});\n\n\t\tassert(function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\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// 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\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 && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && 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 && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 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\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 & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(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 & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\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\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\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\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\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\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\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\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\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\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\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && 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)) && 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 && 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\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\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\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\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\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\">\": { 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] || match[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\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\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] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\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] && 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 && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\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() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && 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 + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\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\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -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};\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 && 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 && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !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\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\" && !start && \"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 && 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 <9 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 && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && 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 && ++diff && 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\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\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 <9 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 && 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\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 && node && 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 ) &&\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 ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 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 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\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 > 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\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\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\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 > 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 || elem.innerText || getText( elem ) ).indexOf( text ) > -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\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) && 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 && window.location.hash;\n\t\t\treturn hash && 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 && (!document.hasFocus || document.hasFocus()) && !!(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\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\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\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\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\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 < 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 < 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\" && 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\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\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 || attr.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 < 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 < 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 < 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 < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 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 < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < 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\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\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 )) && (!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\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 < 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 && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\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 <9 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 ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( skip && 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 ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && 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\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 > 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 < 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 < 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 && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !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( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\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\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\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]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -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 ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( 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\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 < 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\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 < 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 > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).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 < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && 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 > 0,\n\t\tbyElement = elementMatchers.length > 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 && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\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\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<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && 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\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && 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 && 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\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 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 && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 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\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( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\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\" && selector,\n\t\tmatch = !seed && 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 > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].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\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 ) && testContext( context.parentNode ) || context\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 && 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 ) && 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<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( el ) {\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement(\"fieldset\") ) & 1;\n});\n\n// Support: IE<8\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 = \"\";\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<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\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\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\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 ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && 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 && 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 && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n};\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.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 ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Simple selector that can be filtered directly, removing non-Elements\n\tif ( risSimple.test( qualifier ) ) {\n\t\treturn jQuery.filter( qualifier, elements, not );\n\t}\n\n\t// Complex selector, compare the two sets, removing non-Elements\n\tqualifier = jQuery.filter( qualifier, elements );\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;\n\t} );\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 && 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 < 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 < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 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\" && 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 to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\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 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> 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 && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(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 && 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 ] ) && 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 ( jQuery.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 ( jQuery.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 < 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\" && 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 < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -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 &&\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 > 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 ] && 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 ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && 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 if ( nodeName( elem, \"iframe\" ) ) {\n return elem.contentDocument;\n }\n\n // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n if ( nodeName( elem, \"template\" ) ) {\n elem = elem.content || elem;\n }\n\n return 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 && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 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 < 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 &&\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 && !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 ( jQuery.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 && arg.length && jQuery.type( 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 && !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 ) ) > -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 <= 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 ) > -1 :\n\t\t\t\t\tlist.length > 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 && !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 && jQuery.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 && jQuery.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 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => 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 = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && 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 && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.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 < 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 &&\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\" ) &&\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 ( jQuery.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 >= 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\tjQuery.isFunction( 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\tjQuery.isFunction( 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\tjQuery.isFunction( 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// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].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 > 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 <= 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\tjQuery.isFunction( resolveValues[ i ] && 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 && window.console.warn && error && 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 && --jQuery.readyWait > 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 <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !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 ( jQuery.type( 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 ( !jQuery.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 < 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};\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[ jQuery.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[ jQuery.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 ] && owner[ this.expando ][ jQuery.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 && typeof key === \"string\" ) && 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( jQuery.camelCase );\n\t\t\t} else {\n\t\t\t\tkey = jQuery.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 <=35 - 45\n\t\t\t// Webkit & 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 && !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 && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).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 && 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 && !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 = jQuery.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 && 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 > 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 && 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 < 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\" && 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 && 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 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 === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=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\tjQuery.contains( elem.ownerDocument, elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\nvar swap = function( elem, options, callback, args ) {\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.apply( elem, args || [] );\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\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\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 && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\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 < 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 === \"\" && 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 < 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 = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE <=9 only\n\toption: [ 1, \"\" ],\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 or other required elements.\n\tthead: [ 1, \"\" ],\n\tcol: [ 2, \"\" ],\n\ttr: [ 2, \"\" ],\n\ttd: [ 3, \"\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE <=9 only\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=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 && 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 < 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 = /<|?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < 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 ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=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 <=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 && jQuery.inArray( elem, selection ) > -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\tcontains = jQuery.contains( elem.ownerDocument, 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 ( contains ) {\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\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 <=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 <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\nvar documentElement = document.documentElement;\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 <=9 only\n// See #13393 for more info\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 && 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// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\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 = {};\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\" && 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 && 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 ) && 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 ] &&\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 ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && 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 && !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\t// Make a writable jQuery.Event from the native event object\n\t\tvar event = jQuery.event.fix( nativeEvent );\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ 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 < 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 && 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++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.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 &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG